MSP430 eForth and LCD Booster Pack

When I purchased the MSP430FR5969 Launchpad I also bought the LCD Booster Pack to play with. Not so much to do anything with but just to play with it and the SPI interface.

One thing I learned is that the Sharp documentation is wrong when it says that the SPI interface is MSB first. That may be the case for the host SPI interface in the example but the display is very definitely LSB first. A hint at this are the calls to "swap()" in the example code. The TI example didn't help either as it initialized the SPI port in MSB first mode.

When I configured the MSP430 SPI port for MSB first I found that the display didn't behave as expected because data was not showing up where I thought that it should. Once I switched to LSB first it worked.

These displays require you to toggle a bit (VCOM) at a rate between 10 to 60 times a second with precise (or at least very close to) 50% duty cycle. There are two options for this. The first is to do it in software by sending packets of data over the SPI interface. The second is in hardware by toggling a pin on the device.

Strangely the Booster Pack comes configured for the software option. This requires a lot of work on the part of the software. By moving a couple of 0R0 resistors it can be changed so that Timer A1 can toggle this pin. That is what I did to mine. The resistors are in 0603 packages so a fine tip soldering iron and magnification are required.

My simple eForth code for this display doesn't do much. INITLCD configures the timer and serial hardware and turns on the display. After that you can use the line and buffer write routines to send data to the display. Remembering that the data is displayed LSB first!