No description
Find a file
2021-03-16 09:29:39 -07:00
ArduinoCore-API@2af4a9c721 Initial commit, basic sanity 2021-02-24 20:31:13 -08:00
assembly Initial commit, basic sanity 2021-02-24 20:31:13 -08:00
cores/rp2040 Add tone and noTone support 2021-03-15 13:20:34 -07:00
libraries Stop PIO PM on Servo detach 2021-03-16 09:26:45 -07:00
package Add full OS support toolchain (ARM, MAC, WIN, LINUX) 2021-03-12 21:30:33 -08:00
pico-sdk@2d5789eca8 Initial commit, basic sanity 2021-02-24 20:31:13 -08:00
pico_base/pico Remove hardcoded path 2021-03-12 21:34:35 -08:00
system Package pyserial up in toolchain 2021-03-16 09:29:39 -07:00
variants Add EEPROM library, using last flash sector 2021-03-12 19:38:14 -08:00
.gitmodules Package pyserial up in toolchain 2021-03-16 09:29:39 -07:00
boards.txt Add USB PID/VID so IDE can auto-identify RPI Pico 2021-03-01 15:28:35 -08:00
LICENSE Create LICENSE 2021-03-02 17:56:36 -08:00
package.json Add package.json and tools listing 2021-02-24 21:34:29 -08:00
platform.txt Add Servo library support, driven by the PIO SMs 2021-03-15 20:11:10 -07:00
programmers.txt Initial commit, basic sanity 2021-02-24 20:31:13 -08:00
README.md Add Servo library support, driven by the PIO SMs 2021-03-15 20:11:10 -07:00

arduino-pico

Raspberry Pi Pico Arduino core, for all RP2040 boards

This is an under-development port of the RP2040 (Raspberry Pi Pico processor) to the Arduino ecosystem.

It uses a custom toolset with GCC 10.2 and Newlib 4.0.0, not depending on system-installed prerequisites. https://github.com/earlephilhower/pico-quick-toolchain

The biggest hurdle was getting a working build system outside of the pick-sdk CMake environment. Presently, a manually build pico.a file is generated using objects compiled by cmake in the pico-examples repo, but in the future this will be scripted and automated.

There is automated discovery of boards in bootloader mode, so they show up in the IDE, and the upload command works using the Microsoft UF2 tool (included).

To install:

mkdir -p ~/Arduino/hardware/pico
git clone https://github.com/earlephilhower/arduino-pico.git ~/Arduino/hardware/pico/rp2040
cd ~/Arduino/hardware/pico/rp2040
git submodule init
git submodule update
cd pico-sdk
git submodule init
git submodule update
cd ../system
python3 ./get.py

Lots of things are working now!

  • 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)
  • 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)

If you want to contribute or have bugfixes, drop me a note at earlephilhower@yahoo.com or open an issue/PR here.

-Earle F. Philhower, III earlephilhower@yahoo.com