Serial input 4 Digit Readout
This device uses an LTC4625 4 digit LED display (with RH decimal points), along with 2 extra LED's. It requires only 5 volts, TTL serial input, and Ground on a 3 pin connector. Note: the connector is mounted with the pins sticking out the back side to allow for mounting flush against a (transparent) front panel.
Total cost is in the $5 range. That includes the board and the chemicals needed to make it.
The serial input is 8 data bits, one stop bit, no parity at 9600 baud 'true' TTL. It responds in ASCII for all 10 digits plus a few letters and punctuation as possible on the 7-segment displays.
Decimal points are processed conveniently by just including them in the ASCII data stream: sending "-12.4<cr>" will put a minus sign in the 1st location, a '1' in the second, a '2' with decimal point in the 3rd, and a '4' in the last location. The display blanks as the first character comes in, and displays the result after receiving the carriage return <cr> character.
Additionally, the two external LED's are accessed by sending the '@' sign followed by a single character. Only the two lowest bits are processed so sending '@1' lights the first LED, '@2' lights the second, '@3' lights them both, and "@0" turns both off.
Theory of operation
To make the layout possible on a single sided board with no jumpers, any anode or segment pin on the diplay is allowed to go to any I/O pin on the PIC. Even the serial input can be on any pin. It's all sorted out in software. Unlike most designs where a single digit is activated at a time, the software here only activates at most 1 segment in one position at any one time. This eliminates the need for segment resistors to keep the display brightness evened out. The current is limited by the built-in current limiting of the PIC. The serial is handled by bit-banging entirely in software.