USB to Alphanumeric LCD interface

This is simple, small interface between USB and alphanumeric LCD with 16×2 characters. It is using CDC class – Virtual COM port.

Microcontroller is from STM32 cortex M0 value line family: STM32F070F6. This small “gizmo” has very attractive price and good choice of peripheral devices, like ADC, USB, plenty of timers, etc… Really nice device in “DIY-friendly” package – TSSOP20.

f0 pcb-asm test

1. Hardware

Here is the schematic: STM32F0-dmm-sch

The PCB is single sided. There are some jumpers to select supply voltage for the LCD (3,3 or 5V) and jumper to use R/W signal line or not.

The PCB can be produced with the toner transfer technology:


Here is the artwork for printing on your favourite toner transfer paper: Top final za tonertransfer

The assembly drawings and all other artwork is here: lingva


2. Software

Quickest way to start new project with STM32 device is to get CubeMX with associated CubeF0 HAL library and USB device drivers. The complete project is here: USB_CDC_test – Keil project

Free STM32F0 MDK from Keil is required to compile and run this project.

For the host *PC running Windows, zou will need following driver:
First run the EXE from the ZIP above.
Then go to folder “C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver” and select folder matching your OS (Win7 or 8) and run 32 or 64 bit version of driver installer. For WIN7/64bit, the proper installer is: C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver\Win7\dpinst_amd64.exe

Here is small demonstration of this project:

Every line ended with <CR> is displayed on LCD.

LCD drivers are from Tilen Majerle STM32F4 library. Please visit his excellent page for more drivers.

Leave a Reply