LCD/button board v2

I/O board, rev.2 Radio using I/O board rev.2

This is version 2 of the LCD/button module. Version 1 was used for a long time to good effect in the NetRadio project, but the Nokia LCD used in it is really small for a shelf-top device. Also, version 1 uses small, cheap buttons. Enter version 2, with a larger screen (128 x 64 pixels, compared to 84 x 64 for the Nokia LCD) and larger buttons (1.5cm x 1.5cm).

The board is designed to be a drop-in replacement for the original LCB/button board. This means it has the same number of buttons (4), and the LCD is also controlled by SPI (with D/C line), at 3.3V. Software-wise, the commands for the LCD are different from the Nokia one, as this screen uses an ST7565R controller, whereas the Nokia screen uses a PCD8544 controller.


The LCD is a Display Visions/Electronic Assembly EA-DOGL128-6. It has 128 x 64 pixels, which is a nice upgrade from 84 x 48 on the Nokia 5110 LCD on the original LCD/button board. Physically, the screen area is 55mm by 35mm, which is comfortably large and readable from a fair distance.

The screen has a matching backlight that can be controlled by PWM to set the brightness. Toward this end, the board carries a simple NPN transistor (BC847). The backlight is connected to GND through the transistor, and the transistor base is connected to pin 10 of the connector with a 10K resistor, so that it can be directly hooked up to a PWM pin on a microcontroller for brightness control.

The buttons

The buttons are Marquardt 6425.0101’s, with caps from the 826.000.xx series (15.5mm x 15.5mm). This leaves a small gap between the buttons where a frontpanel can have a separator between the buttons.

The board

The board has a 12-pin header to connect a cable to. The signals are the same as for the original LCD/button board, so that a suitable cable can be made that allows to hook this board to the NetRadio board without modifications.

The pin assignments are as follows:

1GND 2Data (SDI)
33.3V 4Clock (CLK)
5S4 (rightmost button) 6Data / Command (D/C)
7S3 8Reset (RST)
9S2 10LED backlight control
11S1 (leftmost button) 12unconnected

The 12-pin connector is not mounted directly into the board, but is shimmed with another piece of PCB stock. The reason for this is that this makes the connector pins on the opposite side of the board sit flush with the board:

IO board rev2, connector detail

This in turn makes it possible to mount the LCD/backlight combo flush with the board, so that it protrudes exactly 6mm from the PCB.

IO board rev2, front IO board rev2, back

IO board rev2, mounted in radio