54 March 2018
THE DESIGN CYCLE ; BY FRED EADY
Photo 1 is a Crystalfontz CFAL9664B-F-B1 96x64
graphic OLED display mounted on a carrier board. The part
number for what you see in Photo 1 is CFAL9664B-F-B1-
CB. This OLED module does not require a backlight and
gets its power from a three volt/low current power source.
The CFAL9664B-F-B1-CB draws a maximum of 14. 5 mA.
The device can be
accessed using 8080, 6800,
or SPI methods. With the
carrier board, the only
access method available to
us is SPI. The CFAL9664B-
F-B1 never talks back to
us in SPI mode, so we can
save a microcontroller
I/O pin and configure the
microcontroller’s Master SPI
portal for half-duplex (MOSI,
SCK, and CS signals only).
The CFAL9664B-F-B1 is
based on a Solomon Systech
SSD1332 controller. We will
craft our CFAL9664B-F-B1
ARM driver according to the
rules laid down by the SSD1332 controller, and add code
for a Data/Command signal and an active-low Reset signal.
There is also a Vpanel Generation signal which we will tie
permanently high for this application. The OLED module
pinout is shown in Figure 1.
We’ll initially test and run our CFAL9664B-F-B1 driver
on an ARM device. As you can see in Photo 2, our ARM
microcontroller is an STM32F030R8T6, which is mounted
on a Nucleo-F030R8 development board.
One of the main reasons for choosing this particular
board is that you can get the full-blown Keil C compiler
for the STM32F030R8T6 free as a download from Keil
( www2.keil.com/STMicroelectronics-stm32/mdk). Other
good reasons for using the Nucleo-F030R8 include ease of
interconnection and low cost.
The Nucleo-F030R8 also has an onboard ST-Link
If that’s not enough, the
Nucleo-F030R8 is supported
by STM32CubeMX (also
free), which we will put to
If you’re looking for
schematics and all the free
goodies that support the
Nucleo-F030R8, go to www.
Although the ST-Link
that comes loaded on the
Nucleo-F030R8 will do
fine, we’re going to take a
different programmer path
and load up our Nucleo-
F030R8 with Segger’s
ith the advent of IoT (Internet of Things) and the resultant downsizing of
embedded devices, larger character and graphic LCD displays aren’t always the
preferred solution. This month, our discussion will focus on writing an ARM driver for a
postage stamp-sized graphic LCD.
ARMing a Postage
; PHOTO 1. The
is shown here
mounted on a
carrier board, which
is plugged into a
; FIGURE 1. The carrier board is pinned out for SPI
operation. The 0.1 inch spacing of the carrier board’s
interface pins makes the CFAL9664B-F-B1-CB ideal for
solderless breadboard mounting.