Getting Started with the CFA-735 STM32 ARM User Code

Not open for further replies.

CF Support

This information is now outdated.
Please see the CFA-10052 Development Platform thread.



We have released open source "starter code" for the CFA-735 hardware. Using this starter code and open source tools, you can unleash the power of the CFA-735's 32-bit ARM processor to tackle your embedded project.

CFA-735 hardware features:
  • ST Micro STM32 processor ( STM32F103RCT6 )
    • ARM 32-bit Cortex™-M3 CPU @ 72 MHz
    • 256K x 8 Flash, 48K x 8 RAM
  • Sitronix ST7529 32 gray scale graphic LCD Controller ( ST7529 )
  • 244 x 88 graphic gray scale LCD
  • 37mm height makes it the perfect height to fit in a 1U appliance
  • Buck-Boost switching supply allows wide (2.7v to 5.5v) supply voltage range
  • uSD ( micro SD ) card socket
  • USB micro B connector
  • 16-pin debug header which exposes UART, I2C, SPI, CAN, and JTAG interfaces of the STM32F103RCT6
  • 4 bi-color status LEDs
  • 6-key directional keypad
  • Separate switching LED controllers for Keypad backlight and LCD backlight

The example code demonstrates:
  • Initializing and writing characters to the ST7529 LCD controller
  • Reading the keypad
  • Writing to the status LEDs
  • Reading and Writing characters over USB
  • Reading and Writing characters over the UART

Example user code for use on the CFA-735's STM32F103 microprocessor has been posted to GitHub. This code serves as a starting point for developers wishing to fully customize the CFA-735 firmware for their needs.

This code is released under the Apache License, Version 2.0 which is available at

An initial readme.txt details some of the requirements and recommendations. More instructions will be written or contributed.

Warning: Installation of custom user firmware on a CFA-735 will remove the proprietary firmware supported by Crystalfontz. To reinstall the proprietary Crystalfontz firmware will require returning the module to Crystalfontz.

Support for custom user firmware will be provided through this forum. Custom user firmware will not be supported via email or phone.
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.



New member
Great news

Is there any restriction or configuration required for using "Atollic TrueSTUDIO® for STMicroelectronics STM32" free Lite version?

I would need ST7529 lib which is included in the package from GitHUB. Anything else of config required ?

Atollic TrueStudio is built on Eclipse and is an excellent development environment.


CF Support


To our knowledge there is no reason you could not use the "Atollic TrueSTUDIO® for STMicroelectronics STM32" Free Lite version.

Every piece of source code you need is in the GitHub repository. You would need to configure TrueSTUDIO to build the application as it is described in the Makefile.

The JTAG adapter you specified should work with the CFA-735. We do not recommend powering the CFA-735 through that JTAG adapter as it only provides 200mA. OpenOCD, the software to interface with the on-chip debugger, does not explicitly support that JTAG adapter but it can be configured to support virtually any FTDI based JTAG.

The readme.txt on GitHub has the pin-to-pin connections that would need to be made between the JTAG adapter and the CFA-735's H1 connector.

Thank you.


New member
Thanks for the info


I have been programming since 1988 mainly with Delphi 3 to 10, never touched C since then. Microcontrollers are new to me and I do not catch everything without reading over and over.

I reckon that the information about JTAG were allready in my files.

Thank you very much


New member
Uploading Firmware

From the SETUP_LINUX read me file: "Now that you have the source and compiled firmware, you need to get
the firmware on to the CFA-735 module. This is done with OpenOCD and
a JTAG interface adapter."

Once I've made changes to the files as needed and used the compiler to create the firmware do I really need the JTAG component and OpenOCD to upload the firmware to the module? According to the pdf for the CFA735 I just need to put it on the micro-SD card and power the unit on. Thanks


The SD Card boot loader will only load Crystalfontz supported code. You need the JTAG to replace all the code on there with your custom code.


New member

Still trying to grasp how this all works. I have a project in which I need the cfa735 to display information from a file on a hard drive and manipulate it. Originally I was working in a Linux environment but now I'm in a Windows environment. In Linux there is the CLI software from the available software on website and it would output to the terminal window any activity from the physical buttons, however within that code it was very simple to display values (on the cfa735) from a file and use the button activity log to change those values. Will this custom firmware allow me to do that? If so can somebody give me a general explanation of how I go about doing that?
Not open for further replies.