Skip to main content

Posts

Showing posts with the label CH340G

STM8S005C6T6 Ethernet development board

In this project, we built an STM8S005C6T6 based Ethernet development board for our IoT experiments. This development board consists of ENC28J60 , 10BASE-T stand-alone Ethernet controller, CH340G , USB serial interface, 2 LED indicators, and passive buzzer unit. The firmware framework for this development board has been developed using SDCC . To enable IPv4 support, we convert the EtherCard driver, which is available for the Arduino platform. The current version of this driver supports all other EtherCard functions except TCP support. Finished STM8S005C6T6 IoT development board. In the given design, the SPI terminals of the MCU are connected to the ENC28J60 Ethernet controller. All SPI terminals, such as MISO / PC7 , MOSI / PC6 , and SCK / PC5 , are connected directly to the Ethernet controller. In addition, the PC4 terminal of the MCU is used as ENC28J60, CHIP-SELECT .  The CH340G USB serial interface is connected to the UART2 terminals of the MCU. In STM8S005C6T6, the UAR...

SD card extension for OpenFAT library

OpenFAT is an open-source FAT file system implementation for embedded systems. The original library is well written and documented. We recently came across this library while looking for a LibOpenCM3 support SD/MMC FAT file system library. At the initial review, we notice that this library does not maintain for the last ten years. Also, it does not provide support to the latest SD card types. After review the latest SD card specifications , we add SD card support to this library and release it with the same license. The updated library is available at the github.com/dilshan/sdfatlib . The testing of this library is carry on a popular STM32F103C8T6 blue pill development board. The suggested wiring layout is given, below. Wiring layout for the test setup. For the above test layout, we use a standard SD card adapter module (which comes without a built-in level-shifter and voltage regulator). Due to the 3.3V support of the STM32F103C8T6 , the wiring layout is straightforward. The CH34...

NTP based digital clock panel driver

This project introduces an open-source, ATmega328 based, configurable NTP clock with a 2.3-inch, 7-segment display driver. This clock automatically obtains time from the configured NTP server and updates the date and time of the built-in RTC (real-time clock). If the connection to the NTP server is lost, the clock continues to run using its built-in RTC. Finished NTP clock driver PCB. All the parameters of this clock can configure using its USB base serial terminal. The firmware of this clock supports both static and DHCP addressing modes. Apart from that, parameters such as NTP server address, time-offset, and clock display formats can change through the menu-driven configuration terminal. This clock is designed to drive large common-anode, 7-segment displays. The prototype version is assembled using four individual segments of 7.2V, 2.3-inch, red color displays ( FJS23101BH ). To archive, the necessary high output voltage and the current, the 7-segment display output stage of this ...

USB Morse Keyer

USB Morse Keyer is a microcontroller-based auto keyer project with following features: USB / straight key / iambic key inputs. Support for both standalone and USB operating modes. 64-character USB typeahead buffer and 6-character Morse key typeahead buffer. Support 5, 10, 15 WPM. 6-page message memory. 1W Audio output. Audio and PTT output interfaces. 32 character display  Final view of the USB auto keyer. The USB interface of this unit is designed to work with most of the operating systems. It emulates a virtual serial terminal to transfer keystrokes to the keyer. In most of the operating systems, this interface works without installing any additional device drivers. To submit keystrokes user can use any serial terminal software such as PuTTY , Hyper Terminal , Minicom , etc. This keyer is designed to work with 7V to 16V DC input voltage. The most recommended working voltage is 9V. The bottom side of the USB auto keyer. To reduce the dimension of the P...

HC-06 Bluetooth module programmer

HC-06 is a quite popular slave mode Bluetooth module designed for wireless serial communication. This module can pair with PC, mobile phone or with any master mode Bluetooth peripheral. HC-06 Bluetooth module This simple .net framework based application can use to modify the following parameters of the HC-06 Bluetooth module: Bluetooth display name Pair password BAUD rate Parity check type HC-06 Bluetooth module programmer This application communicates with the HC-06 module through COM port. To emulate the COM port using any Windows compatible USB to Serial converter . While at the testing we try the following modules with this application: FTDI FT232 USB to Serial module CH340 USB to Serial module CP2102 USB to Serial module This application is developed using .net framework 4.5 and Visual Studio 2012. All source code and compiled binaries are available to download at https://github.com/dilshan/hc6-config . This application and its source code are distrib...

ZFM-20 fingerprint capture library

ZFM-20 is an optical fingerprint sensor module series developed by Zhiantec . Resolution of these fingerprint modules are 256×288 pixels and depending on the module it can be accessible over UART or USB interfaces. Other than capturing fingerprints this module has inbuilt DSP to process and verify captured fingerprints. This ZFM-20 fingerprint library is developed to capture and retrieve fingerprint images from the above sensor module. The main purpose of this library is to use ZFM-20 sensor with PC as a low-cost fingerprint capture unit and because of that, in-module fingerprint processing and verification functions are not implemented in this library. ZFM-20 fingerprint sensor test setup with CH340G serial to USB converter. ZFM20-LIB is x86 native shared library and it's implemented using Lazarus / FPC . This library is developed to use with most of the programming languages which including C , C++ , Delphi , FPC , Microsoft .net framework based languages, etc. Objec...

USB to 3.3V - 5V serial TTL adapter

This post is about experimental USB to 3.3V/5V serial TTL adapter which we build recently to work with both 5V and 3.3V MCUs. This project is mainly based on CH340G seral-USB chip. CH340G is cheap and commonly available serial-USB convert IC and now it's commonly found on Chinese versions of Arduino development boards. FTDI's FT232 is another possible alternative for this kind of project, but we drop it because of its famous device driver base chip locking issues . Also, compare with FT232, CH340G is cheap, commonly available and simple to construct with a minimum number of components. In this module, we incorporate a 5V/3.3V voltage selector switch to avoid interface matching issues due to different voltage levels of mainboard/MCU and serial TTL adapter. A prototype version of CH340 USB to serial adapter. In prototyping stages, we use CH340G with breadboard by using SO-16 to DIP16 adapter and supplied PCB is also based on using the same adapter. Except for CH340G ...