Showing posts with label CH341A. Show all posts
Showing posts with label CH341A. Show all posts

CH347 Programmer Drivers and Software for Windows

 Posted by:   Posted on:    15 comments

Now that we’ve explored the hardware aspects of the CH347T-based programmer, it’s time to dive into the drivers and software that bring this device to life. While the hardware offers substantial improvements in terms of speed and functionality, its true potential can only be unlocked with the appropriate software tools. This section will guide you through the installation process of the drivers and examine the software options available for interacting with the programmer.

One key consideration when using the CH347T programmer is the compatibility of the software and how well it manages the various serial interfaces it supports, including UART, I2C, SPI, JTAG, and SWD. We’ll explore Windows only tools, focusing on how they handle specific tasks such as memory programming, serial communication, and debugging.

CH347 Programmer Drivers and Software for Windows

IMSProg and other Linux utilities for CH341A

 Posted by:   Posted on:    6 comments

It was July 2017 when I ordered an EEPROM programmer I found on AliExpress for only 2.13 USD with free shipping. It wasn't a surprise it came without any kind of documentation. So I began searching for information since I didn't knew how to use it or what PC software I need to read a memory chip. In fact, I didn't even know how to place a chip in the programming socket. I gathered all information about the programmer hardware in this post. At that time I wasn't expecting this programmer to become so popular, still being used today.

The CH341A MiniProgrammer and other programmers based on this controller are affordable USB programmers used for reading and writing EEPROM chips and flash memory. They are widely used by hobbyists and technicians for tasks like flashing BIOS chips, recovering data from bricked devices, and working with various types of EEPROM and SPI flash memory chips. Yet, with all this popularity, the only (probably) official software for this programmer is Windows-only, hard to get and some of the alternatives come from not very trustful sites. Let's see what is available for Linux (Ubuntu).

Reading SPI Flash with IMSProg
Reading SPI Flash with IMSProg

AsProgrammer and other Windows utilities for CH341A

 Posted by:   Posted on:    23 comments

CH341A serial programmers are cheap and quite popular. Probably the most used device is the MiniProgrammer. The CH341A is a USB interface chip that can emulate various communication protocols, such as UART, I2C, SPI, and JTAG. It is commonly used for programming EEPROM and BIOS chips, as well as debugging serial devices. The MiniProgrammer has a 16-pin ZIF socket that can hold different types of chips. CH341A requires a driver and a software tool to operate.

The manufacturer of CH341A chip offers drivers for all operating systems. They even offer API for programmers who want to build software to talk to CH341A. In spite of this, software tools for CH341A are not very easy to find. For Windows there is a programming utility that requires a license which is offered only if you buy the programmer from the developer's shop, on Chinese platform Taobao. In this post I'll show you the alternatives.

Reading 25xx SPI FLASH with AsProgrammer
Reading 25xx SPI FLASH with AsProgrammer

Program Arduino Pro Mini with CH341A dongle

 Posted by:   Posted on:    3 comments
Arduino Pro Mini is a development board based on ATmega168 or ATmega328 microcontroller. Unlike other members of the Arduino family, this board does not have an USB port for PC connection. To program it, you need an USB to serial TTL converter. There are many choices here, and the Arduino Pro Mini has a pinheader port that matches the pinout of FTDI USB serial breakout boards. ATmega MCU doesn't need all serial port pins. It requires serial data pins RxD and TxD and also DTR, which is connected to reset pin.

CH340 is another USB serial interface. It can be found at the core of the cheapest USB serial adapters, but these dongles are difficult to connect to Arduino because there is no power pin and no exposed DTR pin. The power pins on the CH340 USB breakout board are used with jumpers to select voltage levels (3.3V or 5V).

CH341A is a complex interface chip which adds parallel, I2C or SPI interface. It is used by memory programmers. However, by setting a jumper, it works as an usual USB to serial adapter. I will be using here a popular device based on CH341A, the black MiniProgrammer, to program an Arduino Pro Mini compatible board.
Program Arduino Pro Mini with CH341A dongle

CH341A SPI Programming (Windows API)

 Posted by:   Posted on:    11 comments
CH341A is an USB interface chip that can emulate UART communication, standard parallel port interface, parallel communication and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company Jiangsu QinHeng Ltd.

CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface. A popular device is the so-called "CH341A MiniProgrammer" that you can buy for 2 to 5 USD. And this is probably the cheapest device using CH341A.

If you got a "MiniProgrammer", you may want to use for more than memory chips programming. The device can actually be used as USB to SPI converter (not only SPI, but this article will focus only on SPI function). Let's see how to use the included library and header to communicate with SPI peripherals.
CH341A SPI Programming (Windows API)

CH341A I2C Programming (Windows API)

 Posted by:   Posted on:    21 comments
CH341A is an USB interface chip that can emulate UART communication, standard parallel port interface, parallel communication and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company Jiangsu QinHeng Ltd.

CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface. A popular device is the so-called "CH341A MiniProgrammer" that you can buy for 2 to 5 USD. And this is probably the cheapest device using CH341A.

If you got a "MiniProgrammer", you may want to use for more than memory chips programming. The device can actually be used as USB to I2C converter (not only I2C, but this article will focus only on I2C function). Let's see how to use the included library and header to communicate with I2C devices.
CH341A I2C Programming

CH341A Mini Programmer Schematic and Drivers

 Posted by:   Posted on:    78 comments

CH341A is an USB interface chip that can emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company Jiangsu QinHeng Ltd. CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface and leaves a lot of pins unconnected. A popular device is the black CH341A MiniProgrammer that you can buy for 2 to 5 USD.

The problem with these devices is that you get them without any documentation or software. Drivers are available from manufacturer's website (but the site is written in Chinese). Also, some source codes are available from manufacturer. There are open source applications that support this programmer. But, first of all, let's have a look at the hardware.

Photo of the black CH341A Mini Programmer

Photo of the black CH341A Mini Programmer