Raspberry Pi Pico has become a huge product amongst the tech-community in the scale of business and demand. Raspberry Pi Pico supports two programming languages - Micropython and C/C++ officially. Between the two of the programming languages, most of the developers are choosing C/C++ for their projects based on Raspberry Pi Pico as it provides more options to them.
One of the problems that occurred despite a well-informed learning resource provided by Raspberry Pi company that a user needs to be an expert in programming. A lot of new users are out there that want to experience the power and versatility of Raspberry Pi Pico but due to a need for high expertise to run it, many do not understand the working of the product. In the urge of making things simplers, Tech communities are always ready to shock even the manufacturer of hi-tech products and devices. This time, the tech community provided Raspberry Pi Pico support to Arduino, by developing an Arduino core for the Arduino IDE, which would make things better for the users.
Earle F. Phillhower III did a fantastic job with the creation of an Arduino core from which it is possible to run all the models of Raspberry Pi Pico RP2040 boards with the Arduino IDE. A large section of the tech-community is praising the installation of Raspberry Pi Pico core in Arduino. Maker of this wonderful board installation package allows the users to perform the tasks with multiple functionalities like digital IO, PWM, analog input, and other specialist protocols, such as SPI, I2C, and UART. Our developers have used and successfully tested Arduino Pico core and all the above things ran smoothly.
Status of Port
- digitalWrite/Read (basic sanity tested)
- shiftIn/Out (tested using Nokia5110 https://github.com/ionpan/Nokia5110)
- SPI (tested using SdFat 2.0 https://github.com/greiman/SdFat ... note that the Pico voltage regulator can't reliably supply enough power for a SD Card so use external power, and adjust the USE_SIMPLE_LITTLE_ENDIAN define in src/sdfat.h to 0)
- analogWrite/PWM (tested using Fade.ino)
- tone/noTone (using IRQ generated waveform)
- Wire/I2C (tested using DS3231 https://github.com/rodan/ds3231)
- EEPROM (tested examples)
- USB Serial(ACM) w/automatic reboot-to-UF2 upload)
- Hardware UART
- Servo (basic waveform testing, disables/re-enables without any short pulses)
- printf (i.e. debug) output over USB serial
The RP2040 PIO state machines (SMs) are used to generate jitter-free:
Success of the projectArduino has announced its collaboration with Raspberry Pi Pico but for now, many users are happy with the unofficial Arduino Pico core board package. Those people who do not have the patience to wait to use Raspberry Pi Pico on Arduino then they can use unofficial Arduino Pico core. Yes, of course, it is not as good as the official C/C++ workflow but still, you can use it for the time being till the official Arduino package comes out for Raspberry Pi Pico with extra functionalities and support.