|GitHub||No GitHub project defined. Add your project here.|
|Description||192x16 bicolor matrix display|
PALTRONICS PAL0123 REV 0 (1998) 192x16 bicolor matrix display
xopr received two 192x16 bicolor 5mm dot matrix displays (one to keep, one to fix a controller board for).
- DM74LS138N decoder/demultiplexer
- M74HCT245B1 octal bus transceiver
- MBI5016CNS 16 bit constant current LED sink driver
pinout and protocol
The marquee consists of shift registers which allows one to shift and latch in 2x192 bits. After that's done, a row needs to be selected and the two colors are displayed with a strobe signal. This means, the display has only 384 bits of memory (one line) and for every other line, a new set of pixels need to be shifted in. The display is controlled with 9 bits: Red, Green, Clock, Latch Enable, Strobe, A, B, C and D (a chip select between the two DM74LS138Ns)
Pinout (this is having the header at the left facing you, having the display put upside down (facing the other way)
pin 1 .--. GND |oo| Red GND |oo| Green GND |oo| CLK GND |oo| LE GND |oo| C GND |oo| B GND |oo| A GND |oo| Strobe GND |oo| D NC |oo| NC(?) '--'
Already reverse engineered the pinout and protocol and drove it with an arduino nano.
Unfortunately, with the default settings, it is slow enough that the display's refresh rate becomes annoying.
Did some tests with an ESP-12E module and had great success
(the 'D/chip select' pin selecting the other 8 rows somehow failed on GPIO15 and GPIO16).
The ESP-12 still has the RxD and TxD available for communicating without using the wifi.
update: It now has a small print that will fit the ESP with programming header:
.----------------------------- |o gnd (+)(-) |o cts |o vcc1 |o tx |o rx oooooooo |o dtr |0 program |0 gnd | | | |0 vcc1 (ftdi) |0 pwr |0 vcc2 (regulator) |0 gnd |0 adc oooooooo
Currently, the strict timing (so it seems) doesn't allow for the ESP to run in SoftAP mode. Maybe xopr will rewrite the code so it starts in AP mode with the display off, and will enable the display only in station (client) mode.
Also, using the Ticker event callback mechanism in 20ms makes the display run jagged and still fails in AP mode. It will even fail in station mode with timings under 15ms.
Chose to run inside the program loop with a 100µS delay (since
yield() also wasn't sufficient)
- write (and upload) some descent code (taking the wifi interrupts into account)
Location: at xopr's