Author Topic: CH341A Serial Memory Programmer Power Supply Fix  (Read 629546 times)

0 Members and 3 Guests are viewing this topic.

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #25 on: May 28, 2020, 12:19:40 am »
Ok. Herewith my mod to recover from disaster.
« Last Edit: May 28, 2020, 12:26:37 am by pupa »
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #26 on: May 28, 2020, 12:35:17 am »
Seen from top.

Very versatile unit. Can program  eeProm's as well as AVR's when using the right program. Have quite a collection of programs. The drivers is a bit of an issue as not all the apps works through the same drivers, damn annoying but not to much of a hassle if you know which driver works best with each app.
Hope you come right.
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #27 on: May 28, 2020, 01:21:01 am »
Ok. So then why did they put on the market a defective bios programmer?!

Did you see the price? Many people now owns and support the unit via research and new information and apps to write to EEProms and AVR's. There are a few projects already on the net with improved circuit and PCB designs for download. Soon it will be the de'facto standard for hobbyists.
EEProms is well supported through Flashrom  on Linux and on Windows there is a GUI app on the older release version.
AVR's are supported through a few programming apps for the hobbyist within limited support for the latest chips but then again there is MPlab for that in the meanwhile but at a cost in comparison.
Now I'm just waiting for AVRdude  to possibly revive, get updated and also support this programmer.
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #28 on: May 28, 2020, 01:27:10 am »
 Great. I was also lucky but as you can see even in this thread, there are many people crying. Best is to be safe by studying the specs and datasheet on the BiosChip number in question mounted on the target board. Could be a expensive lesson otherwise. The BiosMod forum is a good resource for information to read about that.
« Last Edit: May 28, 2020, 01:34:10 am by pupa »
 

Offline theIC

  • Newbie
  • Posts: 1
  • Country: us
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #29 on: July 07, 2020, 12:17:15 am »
Ok. Herewith my mod to recover from disaster.
I created an account just to thank you all for the wonderful mod. From Chuck Nemeth's blog which lead me here to Pupa's fix.
I attempted to do the mod, and did not have the dexterity as some of you. I attempted to use some leftover ethernet cable strands and between the insulation burning away and also breaking pin 29 from the IC, I got the idea from pupa to grind away the area by pin 29 to expose some metal to resolder the wire. Anyway, it all worked.

 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #30 on: July 07, 2020, 11:02:22 pm »
Ok. Herewith my mod to recover from disaster.
I created an account just to thank you all for the wonderful mod. From Chuck Nemeth's blog which lead me here to Pupa's fix.
I attempted to do the mod, and did not have the dexterity as some of you. I attempted to use some leftover ethernet cable strands and between the insulation burning away and also breaking pin 29 from the IC, I got the idea from pupa to grind away the area by pin 29 to expose some metal to resolder the wire. Anyway, it all worked.
Glad it worked for You. ;)
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #31 on: July 07, 2020, 11:22:17 pm »
All Vcc connections in the ZIF socket are 3.3V but the CH341A is powered at 5V.
So all I2C and SPI signals are 5V while the external memory is powered at 3.3V.
There are no limiting series resistors on those signals.

One simple solution to fix this issue is to simply bypass the 1117-3.3V regulator.
I can use the hot air station to remove the 1117 and then short-circuit the input with the output.

My question is, is it safe to just do the short-circuit without removing the 1117 linear regulator?

Hi,

The trick is, that you miss 2nd LDO, that is inside CH341A chip.
Check datasheet.

At end of chapter 5.2 硬件说明 (Hardware description) is stated:
CH341芯片支持5V电源电压或者3.3V 电源电压。当使用5V 工作电压时,CH341 芯片的VCC 引脚 输入外部5V 电源,并且V3 引脚应该外接容量为0.01uF~0.1uF 的电源退耦电容。当使用3.3V 工作
电压时,CH341 芯片的V3引脚应该与VCC引脚相连接,同时输入外部的3.3V电源,并且与CH341芯
片相连接的其它电路的工作电压不能超过3.3V。
It can be translated:
The CH341 chip supports a 5V supply voltage or a 3.3V supply voltage. When using a 5V supply voltage, the VCC pin of the CH341 chip inputs an external 5V power supply, and the V3 pin should be externally connected with a power supply decoupling capacitor of 0.01uF to 0.1uF. When working with 3.3V voltage, the V3 pin of the CH341 chip should be connected to the VCC pin, and an external 3.3V power supply is input, and the CH341 core is connected.
The operating voltage of other circuits connected to the chip cannot exceed 3.3V.

As far as I understand, that mean, that chip have internal 3.3V regulator and IO pins are NOT 5V tolerant. It mean, it always use 3V3 for communication with eeprom.

Maybe these videos will make it clear that without the recommended mods how casual use without consideration for proper voltage levels to the target bios/memory chips could lead to a disaster. It also shows actual voltage measurements, thus how to test and confirm the voltages for yourself for peace of mind. It also confirms how versatile this device is by showing how it can be modified by providing a simple modification to further extend its use.

Enjoy!

CH341 Programmer 3.3V Fix:



Modify the CH341A EEPROM Programmer (Black Edition) for 5V 93XXX & 95XXX Automotive Use:



 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #32 on: July 08, 2020, 12:09:08 am »
Ok. So then why did they put on the market a defective bios programmer?!

Did you see the price? Many people now owns and support the unit via research and new information and apps to write to EEProms and AVR's. There are a few projects already on the net with improved circuit and PCB designs for download. Soon it will be the de'facto standard for hobbyists.
EEProms is well supported through Flashrom  on Linux and on Windows there is a GUI app on the older release version.
AVR's are supported through a few programming apps for the hobbyist within limited support for the latest chips but then again there is MPlab for that in the meanwhile but at a cost in comparison.
Now I'm just waiting for AVRdude  to possibly revive, get updated and also support this programmer.

Just to confirm AVRDude 6.3 fully supports the CH341A programmer. Using the search program "Search  Everything" I searched for all instances of AVRDude.exe on my development system as many programs and IDE's use it, then renamed (i.e. backed up) the original files, then updated AVRDude.exe as well as AVRdude.conf with the updated AVRDude 6.3 files taken from http://forum.easyelectronics.ru/viewtopic.php?f=13&t=32626%D0%BD%D0%B0 (Use Google translate to read but take note that the download links only works from original Russian site). I also patched the Arduino AVRDude folder the same way thus  the Arduino IDE 1.8.12 now also it works well with the CH341A programmer.  :)

The AVRDude.conf file should contain the following information to be sure its working with the original WCH driver and port shown as "USB-EPP/I2C... CH341A" in device manager in windows 10.

programmer
  id    = "ch341a_bitbang_wch";
  desc  = "ch341a programmer (bitbang_wch)";
  type  = "ch341a_bitbang_wch";
  connection_type = usb;
  usbvid     = 0x1A86;
  #usbpid     = 0x5512;
  usbpid     = 0x5523;
  usbvendor  = "wch.cn";
  usbproduct = "CH341A";
;
« Last Edit: July 09, 2020, 11:07:10 am by pupa »
 

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #33 on: July 11, 2020, 08:00:45 pm »
I got bored and retraced...
« Last Edit: July 14, 2020, 06:34:09 am by jakeisprobably »
 
The following users thanked this post: oPossum, morgan_flint, yunLad, EggertEnjoyer123

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #34 on: July 14, 2020, 06:27:21 am »
I reworked the attached images above. I also uploaded a new version of the schematic in PDF on github. The dot pro files are included for kicad. I haven't bothered to make it pretty on github. The files are a bit of a mess as these are the result of creating the files on one computer and transferring them to another, doing a couple more edits, then making the git repository. On the bright side, I can confirm, all the files and libraries needed are included. I have also created a 1:1 reproduction of the programmer in PCBnew. Have fun.   
https://github.com/Upcycle-Electronics/CH341A-Pro
« Last Edit: July 14, 2020, 06:44:45 am by jakeisprobably »
 

Offline fudmuffin

  • Contributor
  • Posts: 23
  • Country: au
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #35 on: July 15, 2020, 03:52:16 am »
Hi. Could someone please confirm if upon connecting to a USB power supply there should be immediately any voltage at all on MOSI or MISO?

One of the videos linked above seems to indicate that we can check for the possible need for the mod by confirming that there is 5V on the data pins. When I plug my CH341A adapter (black version as discussed here) into a USB power supply I am seeing 5V on CLK, CS pins but I am not seeing any voltage at all on MOSI or MIOS (neither 5v or 3.3v). It is in SPI programming mode (with the jumper bridging 1-2).

« Last Edit: July 15, 2020, 05:22:36 am by fudmuffin »
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #36 on: July 15, 2020, 05:27:24 pm »
Hi. Could someone please confirm if upon connecting to a USB power supply there should be immediately any voltage at all on MOSI or MISO?

One of the videos linked above seems to indicate that we can check for the possible need for the mod by confirming that there is 5V on the data pins. When I plug my CH341A adapter (black version as discussed here) into a USB power supply I am seeing 5V on CLK, CS pins but I am not seeing any voltage at all on MOSI or MIOS (neither 5v or 3.3v). It is in SPI programming mode (with the jumper bridging 1-2).

Simply put. There is a need to do the modifications!! Unless, if you are going to use the programmer only on your own hardware and it works for you. If you try it on other hardware e.g. motherboards,  without doing your proper research first, then it could lead to a damaged equipment, Ditto. So all depends what you want to do with the CH341A. If it works "as is" for you, then fine if used on your own known equipment. If you are going to use it on other unknown hardware circuits containing low voltages components then be aware of the risks.

I measured again as per request and confirm the measurements are as per the videos. See picture below.

In the meantime I bought and received an additional CH341A which will be modified with adding a 3.3v/5V voltage switch. The original recovered CH341A will be used in project as daughter-board and/or its components transferred to a new design PCB with additional mods i.e.
1 Add a switch to be able to choose between required voltage sources as either 3.3V, 2.8V, 5v or target board supply.
2 Breakout all pins to be available for use in other modes as per datasheet (i.e. Development board).
3 Add specific standard headers.
4 etc.

CH341A   


« Last Edit: July 15, 2020, 05:35:34 pm by pupa »
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #37 on: July 15, 2020, 06:02:57 pm »
I reworked the attached images above. I also uploaded a new version of the schematic in PDF on github. The dot pro files are included for kicad. I haven't bothered to make it pretty on github. The files are a bit of a mess as these are the result of creating the files on one computer and transferring them to another, doing a couple more edits, then making the git repository. On the bright side, I can confirm, all the files and libraries needed are included. I have also created a 1:1 reproduction of the programmer in PCBnew. Have fun.   
https://github.com/Upcycle-Electronics/CH341A-Pro
As per original circuit design?
Any mods as per requirement for voltages and stability?
 

Offline fudmuffin

  • Contributor
  • Posts: 23
  • Country: au
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #38 on: July 15, 2020, 11:50:13 pm »
I measured again as per request and confirm the measurements are as per the videos. See picture below.

Thank you for your confirmation which leads me to conclude that my CH341A chip must be damaged, as I am seeing 0v on MOSI and MIOS when the adapter is plugged into USB power (strange, as the device still enumerates correctly on USB when plugged into a computer). Anyway I have a new one on the way so I can do comparisons when it arrives. Thanks so much for your work.
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #39 on: July 16, 2020, 12:07:22 am »
I measured again as per request and confirm the measurements are as per the videos. See picture below.

Thank you for your confirmation which leads me to conclude that my CH341A chip must be damaged, as I am seeing 0v on MOSI and MIOS when the adapter is plugged into USB power (strange, as the device still enumerates correctly on USB when plugged into a computer). Anyway I have a new one on the way so I can do comparisons when it arrives. Thanks so much for your work.
No hassle at all.
Can it read/write/verify successfully? Some units have errors on PCB. The quality systems from China are difficult to control and maintain. So you should check your unit thoroughly for solder bridges or missing components.
 

Offline fudmuffin

  • Contributor
  • Posts: 23
  • Country: au
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #40 on: July 16, 2020, 12:50:41 am »
Can it read/write/verify successfully? Some units have errors on PCB. The quality systems from China are difficult to control and maintain. So you should check your unit thoroughly for solder bridges or missing components.

No I haven't been able to get it to work. The lack of any voltage on MOSI and MISO leads me to belive the chip is broken internally, though it's strange that is still enumerates from the USB side. No solder bridges or missing components on this one. I've attached a photo of the unit just in case anything's noticeable. I would like to buy a few replacement CH341A chips to try repairing it but the loose chips seem almost as expensive as the fully constructed units.

I do have a different  CH341A based programmer and it does work, although when it arrived it had a capacitor installed where there should have been a 2k resistor to enable the SPI programming mode (noticed after reading the datasheet). I haven't verified if the other component values are correct. I also had to remove a solder bridge from the underside. Confirmed on this different model that there is 3.3V on MOSI and MISO by default. Attached a photo of this one too.
 

Offline pupa

  • Contributor
  • Posts: 14
  • Country: za
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #41 on: July 16, 2020, 01:12:47 am »
Do you read approximate 3v3 to 3.6 volt from the internal regulator on pin#9 of the Ch341A IC i.e same voltage across C4?
 

Offline fudmuffin

  • Contributor
  • Posts: 23
  • Country: au
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #42 on: July 16, 2020, 01:52:19 am »
Do you read approximate 3v3 to 3.6 volt from the internal regulator on pin#9 of the Ch341A IC i.e same voltage across C4?

yes,

3.47v on pin #9
3.47v across C4

0v on pin #20
0v on pin #22
5.15 going in to the regulator
3.28 coming out of the regulator.

 

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #43 on: July 16, 2020, 04:32:26 pm »
"...it's strange that is still enumerates from the USB side.
"Enumerates" according to the host PC or the CH341A?
  I think the ACT pin should go low if the chip has enumerated correctly. I have no idea why they made the jumper thing on the side, but according to the chinglish datasheet I believe the ACT pin is just supposed to connect to cathode of an LED with a resistor. The pin already has a 2k2 resistor in series and pin "3" has no connection, but is right beside a power trace. Just add a solder bridge and LED...or check with a meter.
 

Offline fudmuffin

  • Contributor
  • Posts: 23
  • Country: au
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #44 on: July 28, 2020, 04:11:19 pm »
"...it's strange that is still enumerates from the USB side.
"Enumerates" according to the host PC or the CH341A?
  I think the ACT pin should go low if the chip has enumerated correctly. I have no idea why they made the jumper thing on the side, but according to the chinglish datasheet I believe the ACT pin is just supposed to connect to cathode of an LED with a resistor. The pin already has a 2k2 resistor in series and pin "3" has no connection, but is right beside a power trace. Just add a solder bridge and LED...or check with a meter.

Finally got a chance to check on this.. I meant it enumerates according to host PC. Under linux I see:

Quote
new full-speed USB device number 4 using xhci_hcd
New USB device found, idVendor=1a86, idProduct=5512
New USB device strings: Mfr=0, Product=0, SerialNumber=0

ACT remains at 5v after I get that message on host PC (also at 5v when I plug it into a USB battery i.e. nothing to enumerate with). My other CH341A (mini-USB version pictured above, which works) remains HIGH too (albeit at 3.3v) after I see the same text. I haven't looked into the CH341A enough to know whether ACT is supposed to go low when recognised by the host pc or later during some USB initialization perhaps before chip programming.

Thankfully I was able to program the chip for my project using the other working one, but I'd be curious as to what's wrong with my black CH341A programmer, and will test it further in the coming weeks. I may attach a LED as you (and datasheet) suggest so I can see if ACT goes low during a programming attempt.
 

Offline PostNubila

  • Newbie
  • Posts: 4
  • Country: br
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #45 on: September 16, 2020, 02:53:36 am »
This is my mod of the CH341A. I change it to 3.3V and added 2 ZIFs: 1 for 3.3V and other for 5V (used a YF08E to convert 3.3V to 5V).
The ZIFs are 24 pin so now I can program 24xxx, 25xxx, 95xxx and 93xxx eeproms!
 

Offline firepower

  • Regular Contributor
  • *
  • Posts: 81
  • Country: vn
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #46 on: September 30, 2020, 06:49:02 am »
Found these two models searching for CH341A Programmer online. Has 3V3 connected to VCC of CH341A as well as socket & ICSP. has area onboard to clamp SOP8 / SOP16 chip using clothes peg :D
No modding needed.
I bought the blue version.
« Last Edit: October 20, 2020, 07:08:51 am by firepower »
 

Offline Mcast

  • Newbie
  • Posts: 5
  • Country: br
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #47 on: January 18, 2021, 07:51:12 pm »
Hello, I have a question. I lifted pin 24 and soldered on pin 2 of the 3.3 volt regulator and it worked perfectly. Why do I need to wire pin 9? What does pin 9 do? Thanks.
 

Offline johnmxTopic starter

  • Frequent Contributor
  • **
  • Posts: 285
  • Country: pt
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #48 on: January 18, 2021, 08:31:25 pm »
Hello, I have a question. I lifted pin 24 and soldered on pin 2 of the 3.3 volt regulator and it worked perfectly. Why do I need to wire pin 9? What does pin 9 do? Thanks.
This chip has an internal +3.3V regulator. It is used when the device is powered by +5V. When the external power supply is +3.3V, it is necessary to bypass/disable this regulator by connecting +3.3V to pin 9.
Best regards,
johnmx
 

Offline Mcast

  • Newbie
  • Posts: 5
  • Country: br
Re: CH341A Serial Memory Programmer Power Supply Fix
« Reply #49 on: January 21, 2021, 02:22:09 am »
Thanks for the information.
You're right, I used the datasheet of USB serial converter CH340 as a reference:

"CH340 supports 5V and 3.3V operation. When using 5V operation, supply 5V to VCC pin, and
decouple the internal 3.3V reference with a capacitor of 4.7-20nF from V3 pin to ground.
When using 3.3V operation, tie V3 pin to VCC pin and supply 3.3V power."
« Last Edit: January 21, 2021, 06:50:25 am by Mcast »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf