CH341 with python
Some time ago I found the CH341a programmer. The board seems a bit intimidating with its ZIF socket, but once you realize the low component count, it becomes more approachable. When I found a CH341...

Source: DEV Community
Some time ago I found the CH341a programmer. The board seems a bit intimidating with its ZIF socket, but once you realize the low component count, it becomes more approachable. When I found a CH341 "dev" board, I started looking for documentation on how to develop with it. The first step was, of course, finding the datasheet, but it turned out to be quite short. After checking the basics, there was nothing more - no programming guide, no registers, nothing. Looking for a programming manual, I could only find drivers for Linux, Windows, and Android. The good news is that this chip has been extensively reverse engineered, so there is a lot of code available. This post is more about the journey of finding all the details. If you just want to check the code, jump to: https://github.com/danguer/pych341 The Three Modes of CH341 The first thing you will notice is that the CH341 behaves as three different devices depending on some pin configuration. The modes are: UART — in this mode the devic