3.3V CH341a Signal Output Modification

After realizing that my Black CH341a was not working as intended while flashing my x230 with Coreboot, (it was sending 5V to the signal outputs instead of 3.3V) I decided to attempt the fix I found online. It went well and only took about 15 minutes. All that is required is a decent soldering iron, a couple of hand tools, some small wire and a good amount of patience.


I am an amateur electronics hobbyist. I like to think that I am fairly good at following directions, researching information and using common sense. Please, if you are not sure about how or why to do something, look it up online or have someone do the work for you! You risk damaging your equipment and/or possibly harming yourself.

Supplies Needed

  • Small Wire I salvaged some small wire from a automotive 12V cell phone charger that I was no longer using (Hooray for never throwing things away!). The wire was small enough, but the insulation didn’t like the heat from the soldering iron. You only need a couple of inches at most.
  • Pick – I had a small pick to assist with manipulating the pin and forming the wire afterwards.
  • Wire strippers – My strippers didn’t go to a small enough gauge to strip, but I was still able to make it work.
  • Flush Cutters – I like the precision a pair flush cutters provide for trimming the wire.
  • Soldering Iron – I used a Hakko 936 soldering iron but any decent soldering station should do the trick.
  • Solder – Just some small solder will do the trick.

How do we get 3.3V?

We need to lift pin 28 (VCC) to break it’s 5V feed and connect it to capacitor C4 (which also connects to pin 9 (V3)). Then connect that to the middle pin on the AMS 1117 (V out). Doing so results in feeding pin 28 of the CH341A with 3.3V from the output of the AMS1117 voltage regulator chip.

  • CH341a
    • Pin 28 – VCC – Positive power input port
    • Pin 9 – V3 – Attachment of VCC input external power
  • Capacitor C4 –
  • AMS 1117 – Voltage Regulator

The Steps

  1. Apply slight outward pressure with the pick to pin 28 while heating the solder to help free it from the pad. Once it becomes free, gently bent it upward so it is away from the circuit board.
  2. Cut the wires to length by holding them in place and eyeballing where you need to cut them. You will need one long and one short wire. Once cut to your liking, strip and tin the ends.
  3. Solder one end of the long wire to pin 28 and form the other end to fit in place near C4.
  4. Solder one end of the short wire to the center pin of the 1117 chip and form the other end to meet up with the first wire at capacitor C4.
  5. Place and solder both wires to capacitor C4.
  6. Lastly, bend the wires into place being careful not to put too much pressure on the solder joints and not bending the pin too much.
  7. To be extra cautious, feel free to place a small piece of electrical tape over the pad to prevent any accidental short circuits.
CH341a 3.3V fix top view
Black CH341a 3.3V fix side view

Testing for 3.3V

Take out your multi meter and verify voltage. You should now have 3.3V to all pins.

  • GND > MISO = 3.3V
  • GND > MOSI = 3.3V
  • GND > CS = 3.3V
  • GND > CLK = 3.3V

Helpful Links

10 thoughts on “3.3V CH341a Signal Output Modification

  1. Pingback: Flashing my Lenovo x230 with Coreboot - Chuck Nemeth

  2. Doug Brown

    Thanks! I had no idea my CH341A miniprog was sending 5V signals. It had always worked fine, but obviously I could have damaged the chips I programmed/read. I appreciate your detailed info and pictures showing the hack! It works perfectly and now my signals are 5V.

  3. Cristian S.


    It’s possible to use a pair as [CP2102 USB to TTL UART module] and [CH341A module] ?

    I want to:
    a) connect CP2102 to PC through USB port;
    b) the CP2102 module be the 3.3V power source to CH341A (want to use GND, 3.3V, RX, TX);
    c) CP2102 act as a bridge / proxy for CH341A (for data transfer);
    d) not making any modifications to CH341A module (e.g. decoupling, soldering)

    Thank you very much !

    1. Chuck Post author

      Good question!

      I’m not too sure why you want to add the extra step for data transfer (c).

      If you just wanted to use the 3.3V and GND from the CP2102 to power the chip and use the MISO MOSI CLK CS connections from the CH341A, that may work. But unfortunately, I’m not familiar with the CP2102 so I wouldn’t be able to provide a definite answer either way.

  4. Wolfgang

    I did the change as described above and it works very well. But I want to program a W25Q64FWSIG, which is a 1.8V SPI-memory device. Part of my ‘Black CH341A Miniprogrammer’ is a level converter 3.3V to 1.8V. It can be plugged into the Textool socket on the CH341 Programmer. But it does not work. I did some reverse engineering on that adaptor and found, that from my point of view there is a design error on this board. The signal levels are shifted with 74ALVC164245 IC. An additional 3.3V regulartor AP1117 delievers the 1.8V. 74ALVC164245 has A-port and B-port but I think the designer has mixed the two ports. As I read the datasheet, the 3.3V signals should be connected to A-port, but they are connected to B-port and vise versa.
    Somebody of you has experience with the level-shifter?


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.