USB 10-digit Seven Segment Display Module
This project is about an open-source, USB based, 10 digit seven segment display unit. This unit is specifically designed to work with POS systems and banking applications. Initially, this system is developed to work with PC based POS systems, and later it was modified to work with other applications.
To simplify the communication interface this unit is designed to emulate a COM port in the host terminal. Because of this feature, this module can work with many systems without having any additional device driver(s).
To extend the scope of this unit, it also comes with an option to switch between “direct mode” and “API mode”. In “direct mode” application or host device can directly send characters to the display unit over the emulated serial communication channel.
The “API mode” is intended to provide more extensive features with this unit. All the “API mode” functionalities of this display module are described in the API documentation at github.com. To simplify the API mode development a Python API is also available for this module. This library works with Python 3.6 or newer versions and it supports many operating systems, including Linux, Windows, and Mac.
To install the Python library use the following command:
pip install external-counter-dilshan
The latest version of this library also available at the GitHub repository and it can also clone from the repository.
This USB external display unit is designed around STM32F103CB MCU. The firmware of this display unit operates with most of the STM32F103 series MCUs, which including STM32 Blue Pill board.
The dimensions of the PCB is 100mm x 100mm and designed as a two-layer board. To overcome the PCB manufacturing cost, we employ many surface-mounted components into the design.
To demonstrate the functionality of this module a simple OrangePi Zero based clock project is available at github.com/dilshan/simple-ntp-clock.
This module is an open-source hardware project. All it’s source codes and design files are available at github.com.