CH341A USB Mini Programmer Software Free Download CH341A is one of the most popular USB devices that you can buy online for use in serial communication. It works with microcontrollers that have an RS232 port, also it supports two different voltage levels (5v or 3.3v) for communication. You can refer to the datasheet of the CH340/CH341 page for more details about this product.
As I mentioned earlier in my previous article about FT232RL, when you are working with these devices, connecting wires back and forth to your breadboard takes lots of time when you are doing some experiments or prototyping your circuit. So having an inbuilt connection in your prototyping board can save both time and money. Check out this article about how to make an in-circuit USB Debug Tool/Programmer with a 328p AVR microcontroller using FT232RL.
This tutorial is for making your own USB Mini Programmer using the CH341A chipset. You will get this type of programmer in some cheap Chinese modules that you buy online actually, however, if you are interested in doing it yourself, then follow these step-by-step instructions.
Step 1: Required Material
1) Arduino Board (I am using UNO here)
2) Breadboard (I prefer having min 2 * 4 holes breadboard for better stability)
- 6 x LED (Any color of your choice)
- 2 x 220Ω Resistor (One for each color LED)
- 4 x Push Button (One for Enable/Disable Reset and one for Exit/Program Mode)
3) Jumper Wires
4) USB Cable (A Standard A to B cable will be fine).
- 1 x CH341A USB Mini Programmer Chip
5) Arduino IDE Software [ http://arduino.cc ]
Step 2: Making The Circuit
I hope that you have done everything properly in terms of hardware supply and software installation in steps 0 and step 1. Now we need to make a circuit for this project with all the components, place it on your breadboard then upload the code using Arduino IDE. After uploading the code, your USB Mini Programmer will be ready for use. All you need to do is select the correct board type from the Tools > Board menu in Arduino IDE and select the corresponding COM port number from the Tools > Port menu.
As there are lots of pins on CH341A, it takes a lot of space in the breadboard, so if you want a compact size circuit, then replace the LEDs with resistors and buttons with headers that allow us to plug into standard jumper wires.
Step 3: Making A Custom Shield For Arduino UNO
I have made a custom shield for this project which allows me to make connections easily without soldering or wiring each pin by hand individually. Instead, it has pin sockets, jumpers, and alligator clips that are enough for making all connections very easily. You can purchase this shield from my online store.
Step 4: The Circuit (Simple Version)
The circuit for this project is very simple, it can be divided into two separate sections – the Power Supply section and the Data Communication section.
- Pin No. 1 on CH341A is VCC which should be connected to a 5v pin on Arduino Board
- Pin No. 3 on CH341A is GND which should be connected to the ground pin of the Arduino Board
- Pin No. 19 on CH341A is RDX which should be connected to Digital Pin 2 of the Arduino Board
When you are programming the microcontroller, you will need some additional components like a pull-up resistor and capacitor which are not included in this circuit. You can refer to my previous tutorial about adding external components if you are new to making those connections.
Here are Some Software versions of a ch341 programmer for windows to free download: