I own a Black Knight 2000 pinball machine which uses two of these 16 digit alphanumeric (sometimes called Union Jack or starburst) displays, manufactured by Cherry. They were used by several pinball manufacturers such as Williams and Data East before the displays went over to a dot matrix design capable of showing graphic animations.
I’d met Sean of Pinball Palace, at a UK jukebox show. Sean is one of the UK’s leading pinball engineers and supplier of replacement boards for pinball machines. I’d taken along a pinball display clock and also a nixie tube clock or two to the show. Sean bought a nixie tube clock from me and has since become a firm friend.
On a visit to my house, Sean saw some of my other clocks and on his next visit generously gave me a few of these monster Cherry displays for me to play with.
How could I refuse? There had to be something I could do with these.
A clock in the making
This display has a worrying amount of pins, so the first job was to identify what they all were and what they did. Some pins are doubled up in pairs, but not adjacent pairs. At the ends of the display are the 16 segment connections and interleaved with these and the rest of the display are the digit select pins. There is also a keep alive and a pull-mid connection to ensure fast firing of the neon segments.
Some head scratching ensued as I tried to match the numbering system on the schematic to the circuit diagram, which I found were one number out with each other. This is not uncommon with pinball machine diagrams, connectors are often wrongly marked.
I had the manual for my pinball machine and a quick look at the circuit diagram told me that these displays were run using now obsolete UDN6184 anode driver and UDN7180 cathode driver chips, using a -100v and +90v power supply driving system.
These displays as driven in pinball were working pretty much at the voltage limits of the chips, which led to many of these display boards failing due to burned out chips.
Use of these chips, supposing I could find any, and the awkward power supply requirements was not an option I wished to pursue.
I knew I wanted to connect up the display to some drivers without a rat’s nest of wiring between them, so I decided soldering them to a row of matching pins was the way forward.
This was the first board layout while I was working out what I might need. I was (and still am) not very sure what I wanted to do with the display, but I knew I wanted a battery backed clock chip and lots of memory in case I want to store a lot of sentences and words. So there is an I2C bus with a Dallas D3232 clock chip and four EEPROM slots.
I also knew I would have to multiplex the digits – sweep them regularly and fast, for a flicker-free display. It is not possible to switch more than one digit on at once because all 16 characters share the same segment connections. I used a CMOS 4514 4 bit addressed 1 to 16 latched decoder for this task and tucked it in the middle of the board.
There is a brain in the form of a 40 pin PIC18F452 which has the task of reading the memory and the time, updating the counter for the digit selelctor and doing anything clever I might want to do in between, such as scrolling letters and displaying the time in the form of letters rather than plain old numbers.
The board I finally ended up with also has the option to use a BCD to seven segment decoder if I want to send just numbers to the display.
The power supply
I decided to try what is supposed to be a highy efficient chip for boosting low voltages up to the 190 volts necessary for the neon to fire, the MAX1771. With the single-sided home etched board layout I used it really proved very picky about generating a stable adjustable voltage – it seemed to output a high voltage and was not regulating. In the end I moved the adjustable pot and shortened the feedback path to the chip and it now behaves, but it took some trial and error to get there.
I have a rock solid stable display. I have a tight loop in software that polls the time from a one second pulse from the clock, decides which digit and character to display and a print routine that shows the correct character on the display.
To make it easy, in the end I coded all the ASCII character shapes into an Array. I wrote a crude database font designer that allowed me to click segments on and off graphically. This produced a variety of tables of code for me to include in my source file.
Work is ongoing with this project. It might end up displaying various text strings, quotations about time, in between displaying the time and date. For now it is a simple static clock, but everything is in place to start working with words, text and the memory slots.