The goal is to allow the gauge cluster to display relevant data such as state of charge and motor temperature, replacing fuel level level and engine temperature, and also to use the techo needle to display current or power.
This is probably a little off-topic on this forum, but I thought I'd document my findings here. The gauge cluster is built with the following hardware:
- MCU/CPU: MC68HC11A1CFN3
- SRAM: GM76C256CLLFW70
- ROM: M27C1001
- Display: S6A0069X10-Q0
- Address decoding: GAL16V8D
- Output buffer driving 2 x stepper motors: AC374
- Stepper motors: X15.116
Code: Select all
0x1000 - PORT A
0(IN) - Tied to GND
1(IN) - Speed input
2(IN) - Tacho input
3(OUT) - Illumination
4(OUT) - Force on (maintains power when ignition off)
5(OUT) - ROM A15
6(OUT) - Turns on indicator + handbrake + brakes + full beam LEDs
7(I/O) - (IN) Ignition ON (A3)
0x1008 PORT D
0(I/O) - Serial RX
1(I/O) - Serial TX
2(I/O) - Unknown - to unpopulated resistor component
3(I/O) - Unknown - to unpopulated resistor component
4(I/O) - Unknown - to HC373A, pin D5, purpose unknown
5(I/O) - Unknown - to unpopulated resistor component
0x100A - PORT E
0(IN) - Coolant temp (A6)
1(IN) - Fuel level (A7)
2(IN) - Driver's door switch (B11)
3(IN) - Coolant level (B10)
4(IN) - Headlights on (B6)
5(IN) - Trip reset button (B9)
6(IN) - Tied to GND
7(IN) - Unknown
0x0700 - Stepper control
0,1,2,3 - Stepper 1
4,5,6,7 - Stepper 2
0x600 - LCD Command
0x601 - LCD Data
0x0000-0x00FF - MCU RAM
0x0800-0x0FFF - External RAM (full range unconfirmed)
0x1040-0x7FFF - External RAM (full range unconfirmed)
0x8000-0xFFFF - External ROM (full range unconfirmed)
- UART RX
- UART TX
- MODEA
- MODEB
- RESET
Unfortunately, the on-board ROM is one-time-programmable, so in order to permanently reprogram the board, I would need to replace the ROM chip with a pin-compatible flash. This is certainly possible, but my preference for now is to run the device in the manner I am running it now. I will connect an STM32 or RP2040 board with CAN to the debug port. This can reprogram the cluster at startup then stream data from CAN to it.
See attachments with detailed photos. I will now work on a simple firmware that accepts data from serial and displays it. The biggest challenge will be reliable stepper motor control.