====== RP2040 Arduino ====== ===== Automount RPi Headless ===== * https://github.com/fasteddy516/pi-usb-automount * ''cd ~ && wget https://github.com/fasteddy516/pi-usb-automount/releases/latest/download/pi-usb-automount.deb'' * ''sudo dpkg -i pi-usb-automount.deb'' ===== Bootmodus RP2040 ===== Der RP2040 (und RP235x) können in den Bootmodus versetzt werden wenn die serielle Schnittstelle eingebunden ist (die über USB). Dann reicht ein Baudrate setzen auf 1200 und Port Close um den Bootmodus zu aktivieren. * ''sudo apt install python3-serial'' * import serial import sys if len(sys.argv) != 2: print("Usage: python reboot_to_bootloader.py ") sys.exit(1) port = sys.argv[1] try: ser = serial.Serial(port, 1200) ser.close() # Closing the port triggers the reboot to BOOTSEL mode print(f"Rebooted {port} to BOOTSEL mode") except Exception as e: print(f"Error: {e}") sys.exit(1) * ''python boot.py /dev/ttyACM0'' **Bootmodus verlassen** * ''picotool reboot -a'' ===== Installation CLI ===== * Download .... **TBD** * CLI an einen Pfad kopieren der im Path liegt \\ ''sudo cp arduino-cli /usr/local/bin/'' ==== Pfade ==== * ''~/.arduino15'' -> Boards, Cache, etc * ''~/Arduino'' -> Libs ===== RP2040 / RP2350 ===== * ''nano ~/.arduino15/arduino-cli.yaml'' \\ board_manager: additional_urls: - https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json * Index updaten \\ ''arduino-cli core update-index'' * Core installieren \\ ''arduino-cli core install rp2040:rp2040'' * Board auflisten -> ''arduino-cli board listall'' \\ Installierte Cores auflisten -> ''arduino-cli core list'' ==== FQBNs ==== * Generic RP2040 rp2040:rp2040:generic rp2040:rp2040 * Generic RP2350 rp2040:rp2040:generic_rp2350 rp2040:rp2040 ===== Testprojekt ===== * ''mkdir ~/rp2040_zero_demo && cd ~/rp2040_zero_demo'' * #include void setup() { Serial.begin(115200); // Serieller Port initialisieren while (!Serial); // Warte auf Verbindung Serial.println("RP2040 Zero Demo Started"); } void loop() { Serial.println("PING"); delay(1000); Serial.println("pong"); delay(1000); } * ''arduino-cli compile %%--%%fqbn rp2040:rp2040:waveshare_rp2040_zero . -v %%--%%build-path ./build'' \\ **Hinweis:** Der //Dateiname//.ino muss gleich dem Pfad sein! * RP2040 in Bootmodus versetzen ... * Flashen : ''cp ./build/rp2040_zero_demo.ino.uf2 /media/usb0/firmware.uf2 -v''