Arduino IDE Offers Support for the Raspberry Pi Pico
Arduino recently announced their Arduino Nano RP2040 Connect board, which is a port of the latest Raspberry Pi Pico. Along with it, they’ve also decided to port the Arduino core, bringing the Arduino IDE, libraries, and more to the Raspberry Pi Pico. Even though the official port is yet to be available, Earle F. Philhower has taken it upon himself to build his own port of the Arduino Core for all RP2040 boards! He made its contents available on his GitHub repository.
Earle is still developing the port because he intends to include more features such as an installable filesystem, I2S support, and an improved debug infrastructure. However, he has installed most of the common features like digitalWriteRead, analogWriteRead, hardware UART, SPI, and Servo control which are already up and running. This is great news. While we wait for the Arduino team to provide their official support and boards, you can use many of the existing Arduino libraries and code with the Raspberry Pi Pico. Also, the code Earle Philhower uses also integrates a ready-to-use toolchain. The integrated toolchain supports the major operating systems. You can visit the GitHub repository readme for the full list of working features and caveats.
Earle provided a step-by-step procedure that you will need to follow for your first Arduino sketch upload. You will need to hold the BOOTSEL button down while plugging in the Pico to your computer, then you can press the upload button in the Arduino IDE to transfer the sketch to your Pi Pico. After transferring the sketch, you will have to select the appropriate serial port shown in the Arduino Tools > Port > Serial Port menu once. This enables the auto-reset tool to identify the correct device to reset.
Earle also explains that the Pico will occasionally encounter a hard hang and be unable to respond to an auto-reset request. However, you can just follow the steps above to resolve the issue.
Earle also provides instructions on how to install it with Arduino IDE, by following the instructions below:
- Step 1: Open up the Arduino IDE and go to File->Preferences.
- Step 2: In the dialog that pops up, enter the following URL in the “Additional Boards Manager URLs” field:
- Step 3: Click OK to close the dialog, then go to Tools > Boards > Board Manager in the IDE.
- Step 4: Type “pico” in the search box and select “Add”.
For a while now, Arduino and Raspberry Pi have been in sync towards providing beginner-friendly platforms for students and hobbyists to learn about electronics and computers. With the news of the Raspberry Pi Pico microcontroller, and Arduino’s promise to support it, we are seeing history being made with the merging of two electronics and computing education platforms that have been kept distinct for the past few years.
This is great news for beginners who are venturing into digital making. With the Raspberry Pi Pico, you can leverage the tools and resources provided by both the Raspberry Pi Foundation and Arduino for learning and building. For now, Raspberry Pi Pico officially can be programmed in two languages, C/C++ and MicroPython. Programming in MicroPython is easier, with integrated support for the beginner-friendly Thonny Python IDE.
For more information about Earle F. Philhower port, visit his GitHub repository.