Summary of Motorcycle custom instrument panel
### Summary The article describes a custom motorcycle instrument panel using a Planar 160×80 EL display and an Epson S1D13700 controller. The system monitors speed, air/fuel ratios, engine temperature, battery voltage, time, and RPM. Features include automatic dimming via a light sensor, a multi-mode bar graph with shift light functionality, Bluetooth datalogging, and an IR optoisolator for noise protection. A buffered graphics approach solves cursor flickering issues.
Parts used in the Motorcycle Custom Instrument Panel:
- Planar 160×80 EL graphic display
- Epson S1D13700 graphic controller
- GPS module
- Wideband O2 sensor
- Light sensor
- BC127 bluetooth module
- IR optoisolator
- Magnetic pickup
- Addressable LEDs
- S1D13700 buffer graphics implementation
I had a Planar 160×80 EL graphic display that’s been in my parts bin for years that I’ve always wanted to use, and this was perfect. Unfortunately it doesn’t have a controller so I had to interface it to the CPU with an Epson S1D13700 graphic controller. The display indicates speed from a GPS module, air/fuel ratios from the wideband O2 sensor, engine temp, battery voltage, time from GPS, and RPM. I used a light sensor to sense ambient brightness levels and dim the display by changing TC/R in the graphics controller. The refresh of the display is high enough to allow a large dimming range without flickering. The EL display can be refreshed at up to 240Hz. The light sensor also controls the brightness of the bar graph and indicator LEDs. A BC127 bluetooth module allows datalogging via SPP, and I might eventually get around to displaying SMS messages from my phone on the display which was one of the design goals but isn’t done yet.
An IR optoisolator senses RPM pulses from the magnetic pickup and protects the system from ignition noise. Addressable LEDs function as indicator lights as well as forming the bar graph at the top of the display. The bar graph can display RPM, battery voltage, engine temp, or A/F ratios depending on the current mode which is selected by a button on the side of the housing. The bar graph is also a two stage shift light which overrides any display mode and goes to full brightness with two different colors to indicate high RPM for shifting. A highlight box on the graphics layer shows which mode is currently active and the graphic and text layers are XOR’ed. I also made a custom bitmapped font I thought went well with the display size and the amount of characters.
I did have problems with the cursor randomly flashing around the display since you can’t actually turn the cursor off with the S1D13700, so I had to implement a buffered graphics display. Data is collected from the various sensors and serial interfaces which updates the graphic frame buffer, and then the buffer is written to the display
For more detail: Motorcycle custom instrument panel
- How does the system adjust display brightness?
A light sensor senses ambient brightness levels to dim the display by changing TC/R in the graphics controller. - What is the maximum refresh rate of the EL display?
The EL display can be refreshed at up to 240Hz. - Can the BC127 bluetooth module display SMS messages yet?
No, displaying SMS messages from the phone was a design goal but is not done yet. - How does the system protect against ignition noise?
An IR optoisolator senses RPM pulses from the magnetic pickup to protect the system from ignition noise. - What determines the data shown on the bar graph?
The bar graph displays RPM, battery voltage, engine temp, or A/F ratios depending on the current mode selected by a side button. - How does the shift light function override other modes?
The two-stage shift light overrides any display mode and goes to full brightness with two different colors to indicate high RPM. - Why was a buffered graphics display implemented?
A buffered graphics display was implemented because the cursor cannot be turned off with the S1D13700, which caused random flashing. - How are the graphic and text layers combined?
The graphic and text layers are XORed together.

