CH341A Programmer (3,3 Volt mod)
Falls ihr euch mal euer BIOS zerhauen solltet oder einfach editieren wollt, kann so ein kleiner Programmer sehr nützlich sein. Ich habe mir den CH341A gekauft, da er sehr günstig ist < 10 € und i.d.R. tadellos funktioniert. Es gibt natürlich auch Alternativen, imho gibt es aber keinen Grund nicht den CH341A zu kaufen. Hier gibt es eine Übersicht von
über eine Auswahl von möglichen Alternativen.
Allerdings solltet ihr Obacht geben, da der "standard" CH341A (ich glaube es gibt bereits einen Refresh (
) davon der auch ein IR Empfänger/Diode auf dem PCB hat, dieser benötigt keine Modifikationen, da er sich zwischen 5, 3.3, 2.5 und 1.8 V schalten lässt) mit 5 V läuft und zwar auch für die Signalpegel. Dieser Bug wurde auch bereits sehr oft erkannt und das Netz ist voll mit Fixes dafür. Ich liste jetzt aber nicht alle davon auf (einfach nach CH341A volt mod oder so ähnlich suchen), sondern zeig euch einfach kurz meine Modifikation.
Das Problem des CH341A <v1.7 die allermeisten EEPROMs im consumer Bereich laufen nur mit 3,3 V(also sowohl Versorgung wie auch Signalpegel) manchmal sogar 1,8 V. Zwar liefert euch der CH341A out of the box 3,3 V als Versorgung für den EEPROM, allerdings nicht für die Signalpegel. Jetzt streiten sich die Geister darüber, ob das schlechtes Eng. war oder gewollt, da im automotive Bereich die EEPROMs durchaus auf 5 V laufen. Allerdings müsste für automotive Anwendungen auch die Versorgung auf 5 V liegen und die liegt bekanntlich bei 3,3 V, somit ist das wohl irgendwas zwischen schlechtem Eng. und automotive Anwendung. Das Gute daran ist, ihr habt direkt eine 3,3 V Versorgung auf der Platine, da USB bekanntlich nur 5 V kann (außer USB-C PD).
Schritt 1:
Option A: Ihr müsste das Beinchen 28 "oben rechts" für die Stromversorgung (VCC) von dem IC heben, da das Pad darunter auf 5 V liegt. Natürlich müsst ihr dazu einen Lötkolben verwenden und eventuell eine Pinzette/Nagel (nicht der Fingernagel!) o.Ä. Pro-Tipp: Packt da Flussmittel drauf, dann geht das viel einfacher! Ich habe danach etwas Kaptontape (ihr könnt auch etwas anderes isolierendes verwenden) auf das Pad geklebt, damit das Beinchen nicht unbeabsichtigt wieder mit 5 V in Verbindung kommt. Das wäre besonders tragisch, falls ihr das Gerät gerade mit 3,3 V betreibt.
Option B: Ihr schneidet die Leiterbahn für die 5 V Versorgung des Pads (Achtung, nicht des ganzen Programmers!!) mit einem Teppichmesser o.Ä. durch (Achtung potenzielle Verletzungsgefahr!) Danach kratzt ihr die Seite zum IC etwas vom Schutzlack frei und lötet ein Kabel o.Ä. drauf. Dieser verbindet ihr dann mit dem Keramikkondensator (Kerko) C2 (siehe schematic).
Die Kollegen von
waren auch so gut und haben ein Schematic von der Platine reverse engineered. Entweder Ihr lest direkt dort weiter oder hier bei mir
🙂. Ich habe das aber etwas anders gemacht. Achtung die Beschriftungen sind nicht ganz 100 % i.O. z.B. gibt es keinen C1 und C3, dafür aber zwei C4.
Schritt 1.1:
Ich habe mir an dieser Stelle offen gelassen ob ich den CH341A mit 3,3 V oder 5 V betreiben will und aus einer Steckerleiste drei Pins abgeschnitten. Diese habe ich dann wie folgt verbunden. Diese Idee ist mir dabei nicht selbst gekommen, sondern hatte ich ebenfalls im Netz entdeckt, ich könnte jetzt aber nicht mehr sagen auf welcher Seite das war.
Links: 5V vom USB Anschluss bzw. der anderen Seite des frei gemachten Stück Leiterbahn. Ich denke im Bild ist klar zu sehen wo das Kabel am USB Anschluss angelötet wurde. Im Zweifel könnt ihr das Vorsichtig mit einem Multimeter nachmessen während der Programmer eingesteckt ist.
Mitte: Beinchen 28 vom IC bzw. das frei gemachte Stück Leiterbahn (Achtung die gesuchte Leiterbahn [das ist dieselbe auch für die 5 V Versorgung] befindet sich mehr oder weniger unterhalb der Position meiner Steckerleiste im Bild. Ihr solltet also aufpassen nicht unbeabsichtigt Dinge miteinander elektrisch zu verbinden).
Rechts: 3,3 V vom Keramikkondensator (Kerko) C3 auf dem PCBa (entspricht C2 auf dem Schematic), dem mittleren der drei Beinchen oder dem großen Bein auf der gegenüberliegenden Seite vom Linearregler U1. Ich habe die Verbindung vom Linearregler U1 zum Kerko C2 nochmal mit einem Stück Lackdraht (vor dem Löten müsst ihr den Lack an den Enden natürlich abkratzen) verbessert. Beides befindet sich auf der Oberseite des Programmers
Im Bild sind also gerade 3,3 V gejumpt.
Ich habe hier überall Kabel(-litze) verwendet, da diese einfacher zu handhaben sind, als Lackdraht. Allerdings eignet sich Lackdraht oder Lötbrücken besser für sehr kurze Verbindungen. Dabei ist übrigens egal ob 5 V / 3,3 V links oder rechts mit der Steckerleiste verbunden ist. Ihr solltet nur
Beinchen 28 in der Mitte haben, andernfalls jumpt ihr in einer Position 5 auf 3,3 V und dann raucht irgendwas.
Schritt 2 (Nur falls Ihr Schritt 1.1 nicht befolgt habt):
Option A: Verbindet das Beinchen mit dem Keramikkondensator (Kerko) C3 auf dem PCBa (entspricht C2 auf dem Schematic), dem mittleren der drei Beinchen oder dem großen Bein auf der gegenüberliegenden Seite vom Linearregler U1. Ich habe die Verbindung vom Linearregler U1 zum Kerko C2 nochmal mit einem Stück Lackdraht (vor dem Löten müsst ihr den Lack an den Enden natürlich abkratzen) verbessert. Beides befindet sich auf der Oberseite des Programmers.
Option B: Verbindet das frei gemachte Stück Leiterbahn zum IC hin (
nicht die Seite zur 5 V Versorgung!) mit dem Keramikkondensator (Kerko) C3 auf dem PCBa (entspricht C2 auf dem Schematic), dem mittleren der drei Beinchen oder dem großen Bein auf der gegenüberliegenden Seite vom Linearregler U1. Ich habe die Verbindung vom Linearregler U1 zum Kerko C2 nochmal mit einem Stück Lackdraht (vor dem Löten müsst ihr den Lack an den Enden natürlich abkratzen) verbessert. Beides befindet sich auf der Oberseite des Programmers.
Schritt 3:
Verbindet das Beinchen 9 vom IC ebenfalls mit 3,3 V. Ich habe dazu ein kleines Stück Lackdraht zum "großen" Beinchen von UI gelegt. Ihr könnt aber auch theoretisch wieder zu C3 oder dem mittleren der drei "kleinen" Beinchen von U1 gehen.
Congrats!
Damit habt ihr den Voltmod durchgeführt. Nur 1,8 V wird so noch nicht unterstützt. Ihr könnt dazu auch
nicht einfach den IC auf 1,8 V legen, da die erlaubte Eingangsspannung für den IC nicht so weit runter geht. Leider liegen die Signalpegel immer auf demselben Niveau wie die Versorgung beim CH341A. Hierzu gibt es aber bereits fertige Adapter zu kaufen (letztlich sitzt da ein sogenannter Pegelwandler drauf) oder eben die V1.7 des CH341A. Dort lässt sich die Spannung bekanntlich einstellen.
Übrigens: Euch zerhaut es nicht zwangsläufig direkt den EEPROM, falls ihr mit dem falschen Signalpegel drauf geht, aber irgendwie bettelt man damit eben für Probleme.