USB data-only cable for debugging while on batteries

Wegen Power supply for the ESP32 und auch generell überhaupt und sowieso – v.a. um Umstöpseln und damit wertvolle cycle-time beim Entwickeln zu minimieren – wurde dort im Pycom Forum ein guter Vorschlag aufgeschnappt.

Für manche ist das vielleicht ein alter Hut, aber selbst habe ich mir die Frage “Wie eigentlich?” hierzu schon länger gestellt.

Können die mehr mit der Hardware befassten Menschen unter uns vielleicht einen Schwung solcher Kabel herstellen oder heranschaffen? Darf ich das als losen Arbeitsauftrag in die Runde geben? Grazie!

Relativ einfach zu machen. Allerdings in Verbindung mit dem Expansion Board doch nicht ganz so einfach , da der USB Converter vom Expansionsboard dann keinen Strom mehr bekommt.

Um das Expansionsboard weiter nutzen zu können geht nur folgendes. USB Kabel ein Stück abisolieren und die +5 V Leitung(meißt Rot) durchschneiden und auf PC Seite gegen Kurzschluss isolieren. Die Spannungsversorgung dann an die Node Seite. GND(meißt Schwarz) dann ebenfalls ein Stück abisolieren und (nicht durchschneiden) und GND der Spannungsversorgung anlöten und isolieren.

Etwas weniger umständlich wär es das Expansionsboard gleich weg zu lassen und einen USB to UART Adapter für die Programmierung zu verwenden. Dann einfach dort die +5 V nicht mit an dem FiPy anschließen.
Wäre sicher schön, wenn dieser Anschluss auf zukünftigen Platinendesigns zu finden wäre.

Habe so einen Adapter hier, werde mal schauen ob der FiPy auch ohne Expansionsboard auf die gleiche Weise zu Programmieren geht. Dann könnte Mann im laufenden Betrieb am Stock, einfach ein Kabel anschließen und neue Software aufspielen.

FTDI direkt auf den FiPy geht, muss allerdings mit den Spannungen aufpassen, die pins vertragen nur 3,3 V, siehe Using Wipy 2.0 Without expansion Board | Pycom user forum

1 Like

Danke @clemens. Hab ich vergessen zu schreiben meinen Programieradapter kann man für 5 und 3,3V verwenden.
Ansonsten muß da natürlich noch ein Pegelwandler zwischen.

Hast du es schon probiert Clemens?

Nicht aktuell, hatte aber alle meine anderen “alten” LoPy nur damit programmiert und hatte sehr lange gar kein Expansion Board.

1 Like

Gut dann werde ich es Mal auf dem Weg versuchen. Gibt es dann überhaupt einen triftigen Grund, warum man das Expansionsboard braucht, außer das die Anschlüsse rausgeführt sind?
Firmware Updates sind doch sicher auch so möglich.

Mindestens über Netzwerk, sobald der Kleine am WLAN ist. Oder über Kabel mit zwei Varianten – siehe https://developers.wia.io/docs/pycom-fipy.

1 Like

Der low-level Ansatz ist, einfach die + Leitung am Stecker mit Klebeband abzukleben. Das geht recht einfach. Hab ich mal für den 3D-Drucker gebastelt, um dessen Arduino zu programmieren.

1 Like

Wie gesagt hier aber nicht ganz so einfach. Der Programieradapter des Expansionsboard braucht auch Strom. Den bekommt er hier aber nicht durch dem im FiPy eingebauten Spannungsregler.
So müssen wir hier die externe Spannungsquelle ins USB Kabel einspeisen. Oder wie ich vorgeschlagen habe einen anderen Programieradapter nehmen. Und die Vcc einfach nicht mit an dem FiPy anschließen.

So hab es jetzt mal entlich geschafft auszuprobieren.
Funktioniert bei mir vorzüglich.
Bis auf die Pycom-Firmware-Update App
Verwendet habe ich einen USB to TTL Adapter mit CH340 Chipsatz für ca 5€.


Der Jumper am USB Converter kommt über VCC und 3,3V
Treiber musste ich nicht mehr Installieren, da ich so einen Chipsatz schon beim Aduino Nano verwendet habe. Aber ich glaube das war bei Windows nötig und bei Linux schon dabei.
TX vom Converter kommt auf P0
RX vom Converter kommt auf P1
GND vom Converter auf GND

Die Baudrate im Treiber im Gerätemanager auf 115200 Baud
image
Getestet habe ich erstmal an meinem WiPy auf dem Steckbrett (nach Clemens Platine gesteckt)
WiPy? Ja nur weil er schon mal steckte und der WiPy etwas günstiger als de FiPy ist ;)
Das Expansionsbord muß dafür raus. evtl geht es auch wenn man dort die Jumper TX und RX zieht.
geht es aber auch.


Programierung über die Entwicklungsumgebung und Atom mit Pymakr Problemlos möglich, nur das Updatetool schafft keine Verbindung Aufzubauen.
Edit: Um die Pycom Update App zum laufen zu bringen ist es nötig den Pycom in den Bootmodus zu bringen. Dafür wird zusätzlich noch auch noch Pin P2 benötigt. Dieser wird mit GND verbunden und Resettet. dann läuft auch der update sauber durch. Anschließend muss die Brücke wieder getrennt werden.

War zu müßig jetzt noch das Pycom gehäuse von meinem BOB-Set zu Öffnen und Leitungen an die Pins zu löten. Da ich dabei gar keine möglichen Probleme sehe.
Auf alle fälle läuft diese Variante zum Programieren auf Win10 gefühlt sauberer, als über das Expansionsboard . Hab ein paar mal Daten zum Pycom übertragen und hatte keinen einzigen Aussetzer.

Für weitere Platinenentwichlung und einem zügigeren Ablauf bei Programierung und Software-Updates würde ich die 3 4 Pins gerne optional rausgeführt haben, falls ich mir was Wünschen darf.

Werde mir jetzt jedenfalls solche Platinen für die Nodes die bei mir noch ohne Platine auskommen müssen Ätzen. @clemens mache Dir auch gleich eine mit, da ich hier eh noch ein Päckchen für dich noch nicht abgeschickt habe. (Asche auf mein Haupt).

Grüße Michael

3 Likes