Seite 1 von 2

AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 03.03.2022, 09:06
von jp112sdl
Im Zusammenhang einer anderen Projekt-Diskussion habe ich gestern Abend angefangen, die Unterstützung für den RP2040 in die AskSin++ einzubauen.

Zunächst soweit, dass eine Nutzung als AskSinAnalyzer-Sniffer möglich ist.
Der Vorteil beim RP2040 ist die integrierte USB-Schnittstelle, wie sie auch beim 32u4 vorhanden ist.
Zuletzt genannter ist jedoch aktuell kaum zu erhalten bzw. zu bezahlen.

Als komplettes >>>Board (Raspberry Pi Pico)<<< ist der RP2040 für 3,95 EUR 4,55 EUR (Stand 17.05.02022) erhältlich.

Den reinen >>>IC<<< gibt es bei Reichelt aktuell für 0,99 EUR.
Dabei sollte nicht vergessen werden, dass dann noch mindestens ein Flash-Speicher benötigt wird.
Auf dem Raspberry Pi Pico ist ein 2 MByte W25Q16JVUXIQ verbaut, den es z.B. bei Mouser für aktuell 0,60 EUR gibt.

Das "Flashen" geht sehr elegant. Im Bootloader-Modus präsentiert sich der RP2040 als Wechseldatenträger, auf den man einfach das u2-Kompilat kopiert - fertig.

Inzwischen läuft auch ein HM-LC-SWX-SM Beispielsketch.

Hinweise:
  • Der RP2040 ist nicht für Batteriebetrieb geeignet (im DORMANT Mode immer noch knapp 1mA Stromaufnahme)
  • die serielle Baudrate ist, egal was man im Sketch definiert, immer 115.200
  • Beim allerersten Start nach Sketchupload nicht ungeduldig werden. Das initiale Schreiben des emulierten 4kB-"EEPROM" (Init Storage...) kann schon mal 20 Sekunden dauern.
  • USE_HW_SERIAL funktioniert
  • AES funktioniert
  • Buttons / Relaisausgänge gehen
  • PWM... keine Ahnung
Die softwaretechnische Diskussion im Github kann hier verfolgt werden: https://github.com/pa-pa/AskSinPP/discussions/294
Dort ist auch der Link zur Arduino IDE Boardunterstützung zu finden.

Bild

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 03.03.2022, 09:42
von Silverstar
Immer wieder großartig, was du (und alle anderen!) im Rahmen AskSin++ leistet!
Vielen Dank!

jp112sdl hat geschrieben:
03.03.2022, 09:06
Hinweise:
  • Der RP2040 ist nicht für Batteriebetrieb geeignet (im DORMANT Mode immer noch knapp 1mA Stromaufnahme)
Ist das etwas, was man noch irgendwie ändern kann oder wird das immer so bleiben? Fehlt quasi "nur" eine lowpower-lib oder liegt das einfach an dem Hardware-Aufbau?

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 03.03.2022, 09:56
von jp112sdl
Silverstar hat geschrieben:
03.03.2022, 09:42
an dem Hardware-Aufbau?
https://www.heise.de/developer/artikel/ ... 46517.html
Laut Spezifikation verbraucht der RP2040 bei 25°C im Mittel 0,8 mA im Dormant-Mode und 1.3 mA im Sleep-Mode. Das muss man im Verhältnis zum Normalverbrauch sehen. Unter Volllast können es durchaus 95 mA sein.

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 03.03.2022, 20:51
von stan23
Die Werte finde ich gar nicht schlecht für das erste eigene Silizium, gerade bei dem Preis.

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 04.03.2022, 07:58
von papa
Ich hab den Pullrequest einfach mal gemerged. So viele Änderungen waren ja gar nicht nötig :-)

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 04.03.2022, 08:24
von jp112sdl
papa hat geschrieben:
04.03.2022, 07:58
So viele Änderungen waren ja gar nicht nötig
Richtig. Fast alles kann von der ESP32 Implementierung mitgenutzt werden.

Allerdings fehlt die Integration in die Activity.h ganz und gar.
Ich weiß jedoch nicht, inwieweit es sich lohnt, sich doch noch mal mit den PowerSave-Modi und RTC (der RP2040 hat eine solche) auseinanderzusetzen.
Wäre vielleicht interessant für LiPo-Projekte, die man alle halbe Jahr mal schnell nachlädt.

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 06.03.2022, 20:51
von jp112sdl
Ich hab mal den Sleep Mode mit eingebaut.
https://github.com/pa-pa/AskSinPP/pull/296

Am Raspberry Pi Pico Board kann ich schon eine merkliche Reduzierung der Stromaufnahme feststellen.
Jedoch liegt sie bei 19mA im Sleep (~40mA im Wachzustand), wenn ich die Spannung an den 3.3V Pin lege.
Ich vermute, dass die hohe Stromaufnahme jedoch vom StepDown Converter kommt, gegen dessen VOut die externe Spannungszufuhr liegt.

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 06.03.2022, 23:01
von Asselhead
Sehr coole Sache, Jérôme!
Als hätte ich es geahnt, hatte ich mir bei der letzten Reichelt Bestellung mal einen Pico mitkommen lassen.
Jetzt weiß ich wofür :D

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 04.05.2022, 17:27
von meier81
Hi euch allen,

dachte ich nehme mich dem Projekt auch mal an und probiere ein bisschen, will aber irgendwie nicht zur Zeit. Hab die Definition der platform.ini von codmpm genommen (hatte er ja auf GitHub geschrieben), VSC sollte sich dadurch ja die benötigen packages runterladen bzw. installieren. Hab hier bei mir Windows 10 64bit und Visual Studio Code, bin mir da nicht sicher welche Toolchain hier richtig ist, hab die x86_64-w64-mingw32.arm-none-eabi-ed6d983.220212.zip benutzt, scheint aber wohl nicht die richtige zu sein.

Könnt ihr mich hier mal abholen bezüglich der richtigen Toolchain und mit evtl. Tipps und Tricks beim einrichten geben?

Vielen Dank jedenfalls schonmal.

Re: AskSin++ RP2040 (Raspberry Pi Pico) Support

Verfasst: 30.03.2023, 22:21
von bestfan
Auch von mir vielen Dank für die neuen Spielmöglichkeiten :D
In der Zwischenzeit habe ich ein paar Sketches auf den RP2040 portiert, was im Pinzip auch sehr gut funktioniert hat. Ich werde demnächst einmal davon in einem eigenen Beitrag berichten. In meinem Setup (Arduino IDE unter Linux) muss ich ber leider feststellen, dass die Ausgabe auf dem seriellen Monitor nur gelegentlich erscheint. Interessanter Weise tritt dieses Verhalten aber nur bei Sketches mit der Asksinpp-Library auf. Bei anderen Sketches (ohne Asksinpp) funktioniert die serielle Ausgabe tadellos. Hat jemand in der Community ähnliche Erfahrung gemacht? Hat jemand von Euch eine Erklärung oder kennt Abhilfe?
Viele Grüße
bestfan