LED-based UI

For when 7seg displays, RGB-LEDs, buttons & a rotary encoder knob is *just right*!

Similar projects worth following
Just a quick post of an existing project, more to come...

There are some industrial-like applications that really want an old-school 7-segment display, a knob to change some values, buttons to select stuff, and a bunch of status LEDs. For example, CNC machine controls, DRO's, and similar "shop gear".

That's where this Multi-UI board fits in... I've shared two 3D-renders of an actual product built with this LED-UI board. It's part of a really nice modular architecture, featuring the Rose-Bopla "Ultramass" enclosure system. Everything is beautifully symmetrical and interchangeable (it's German, I wouldn't expect any less!).

The host interface of the LED-UI board is serial RS-485. The protocol is pretty simple, though I'm thinking this would be more widely usable if I added MODBUS serial protocol support. Stay tuned...

Recently a client needed to design a modular industrial-control product to replace an existing 25 year old design (sadly, no more i87C196KD-20's seem to be available!).

I convinced him to move away from push-push rotary (0-9) selector switches, mainly because there a lot more job-parameters to enter in this new design. However, the "old school" look & feel was important for his customers.

Hence... this UI board was conceived. The Rev-A version had a few bugs, but worked well enough to build up a half-dozen working units. Rev-B (see layout) fixes all those bugs, and adds even a few more features. Components are TH and SMT, and are mounted on both sides. Due to mechanical considerations & packaging, some parts have to be installed in a certain sequence. Annoying but necessary.

Summary of capabilities/features:

* CPU = Microchip PIC16F1789.

* 2Mbit SPI-flash (256Kbytes).

* Host I/F = (2x) RJ45 connector. Serial RS-485 interface. Power input over RJ45 port (12-24VDC).

* 8-digit, 7-segment display, with full decimal-point support. 4-level PWM brightness control.

* Up to 48 RGB-LEDs (WS2812B).

* Can also drive an additional 32 external LEDs (ring/strip/whatever, also WS2812B).

* Up to 10 pushbutton switches (each PB switch sacrifices 1 RGB-LED in that position).

* A/D voltage sensing of main power input (12-24VDC), and on-board +5V rail.

* External A/D input port, 0-5V capable.

* Rotary encoder/pushbutton knob.

* 1.2KHz beeper (used for beeps/clicks audible feedback).

* Dimensions: 1.55" tall x 10.1" wide. Would fit inside typical "1U" high rackmount chassis designs.

* The population of any UI elements (buttons, LEDs, 7-segs, encoder) are completely optional. Build this PCB with only as many elements as you need for a particular application.

In my client's application - I designed a universal "module plate" which had openings for every possible LED, display and pushbutton. Then... a stick-on mylar overlay covers up unused UI elements, and adds appropriate graphics, windows & cutouts where necessary.

Why so much flexibility on buttons, displays, LEDs (and color of the LEDs): Because, as you know, a product development that doesn't have a rock-solid spec at the start - will most definitely change (sometimes a complete 180!) by the time you're done.

For example, using RGB-leds allows infinite flexibility in designing the UI-functionality (nobody can ever decide what color a status indicator needs to be, in various modes and operating states).

I've uploaded pics of the Rev-A board.

Pics of the Rev-B board coming soon, stand by...

  • 1 × Microchip PIC16F1789 Microcontroller for this Multi-UI board.
  • 1 × Rose-Bopla Ultramass enclosure, P/N UM62609 Base+cover. Available direct, or via Digikey as P/N 902-1084-ND.
  • 1 × Rose-Bopla Ultramass enclosure side extenders, P/N AB-02609. Each set will extend the Ultramass enclosure by 1.8". No molded-in air-vents. Available direct.
  • 1 × Rose-Bopla Ultramass enclosure side extenders, P/N AB-02609L. Each set will extend the Ultramass enclosure by 1.8". With molded-in air-vents. Available direct.
  • 1 × World Semiconductor WS2812B 5050-size RGB-LED.

View all 6 components

  • Progress... Multi-UI

    kbdhog04/23/2017 at 21:19 0 comments

    23-Apr-17: More... I just couldn't leave well enough alone. The only feature missing from this board was a bit of extra serial-flash storage. So, I move a LOT of traces and juggled some PIC GPIOs to squeeze in a 2Mbit (256Kbyte) SPI-flash chip. I'm not sure what it'll be used for, but perhaps system setup info or local "job storage" (like CNC/DRO coordinates). If it ends up not being used - it's easy to depopulate. Empty IC-pads are always FREE!

    23-Apr-17: It's been over a year since I first designed Rev-A of this board, and almost a year since I worked out the Rev-B changes. Nonetheless, it's still a neat, modular solution that perhaps someone out there in HADland might find interesting.

    Let me share a couple of 3D renders of the "module plate" I designed, which accepts the Multi-UI board and slides into those nice Rose-Bopla enclosures:

    Front View: You can see the front panel is fully punched out for every LED/switch position. During final-assembly, we have a stick-on mylar overlay that has LED windows and switch openings where we want them - and all unused features are simply covered over. This has worked out beautifully and allows a number of products to be built at the last moment with the same metal parts.

    Rear View: You'll notice all those connector outlines. These are laser-cut "knock-outs" for various options we had in mind. Sometimes a little fan is needed, at other times not. Same goes for the cable-grommet hole, DB9 and DB25 hole, and a knock-out for a snap-in "Keystone RJ45 coupler" - which we use to bring out our RS485 link to external devices.

    As previously mentioned, this metal was designed to be a slide-in module for a Rose-Bopla enclosure, model #UM62609. I just noticed that this enclosure is currently available at Digikey as P/N 902-1084-ND. The basic modular-height is 1.8" (45.72mm), which means this module plate is just slightly under 1.8" tall.

    There are also enclosure "side-extenders" available which let you build enclosure assemblies that are 2x, 3x, 4x (1.8") in height. These are Rose-Bopla P/N AB-02609 (or AB-02609L with air-vents molded in). So when you need a fan - be sure to order the "L" version, as those vents are critical for cooling air-flow.

    This particular module-plate has mounting holes in it for our specific application. One of the boards that goes inside is a nice "industrial-control" board based on the LPCxpresso module with an LPC1769 CPU chip. I certainly COULD have designed the CPU chip onto my board - but for the end-users of these products, it was important for them to be able to repair/upgrade firmware by a quick module-replacement. Even though a serial-reflashing is easy to do - the end-users often have very little technology handling capability. It's just easier and quicker to FedEx them a new IC (like a PIC16F1789) or a cpu-module (LPCxpresso).

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates