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...