There are two options for figuring out the routing table of LCD segments and pad combinations.
- Observation (Using a scope to analyze the patterns)
- Experimentation (Try out every combination and write down the results)
Since the patterns change very quickly with every chang of the displayed number, I went for experimentation ;)
So, I hacked together a breakout board for a display driver. The HOLTEK HT1621B is easily available, cheap and even can be assembled by JLCPCB.
An Arduino Nano makes it really easy to interface the HT1621B via I2C.
The HT1621 library provides a simple interface to send data to the RAM of the chip.
void HT1621::write(uint8_t address, uint32_t bits, uint8_t bit_cnt)
I marked out the final mapping. The format is: [SEG, COM]