Skip to content

Releases: earlephilhower/arduino-pico

Release 4.6.0 - GCC 14.3, Newlib 4.5, updated SDK, new boards

20 Jun 01:44
Compare
Choose a tag to compare

Overview

Upgrade to the latest GCC 14.3 compiler and Newlib 4.5. Latest pico-sdk develop branch with important Pico2 floating point function fixes.

If using git be sure to git update --init --recursive and to tools/get.py to get the new SDK-needed libraries and the toolchain.

Toolchain, SDK, and libraries

  • Update to GCC 14.3, Newlib 4.5.0 (#2975)

New and updated boards

  • Add BigTreeTech SKR-Pico (#2988)
  • Add Waveshare RP2350 Plus (#3000)
  • Add Waveshare RP2350 LCD 0.96 (#2997)
  • Add support for W6300-EVB-Pico and W6300-EVB-Pico2 boards (#2999)
  • Add SDIO PIN definitions for Adafruit Metro RP2040 (#2989)

Platform.IO

  • Fix JLink device names for RP2350 in PIO boards (#3001)
  • Cleanly install PlatformIO platform from scratch (#2982)
  • Mark all boards as picosdk compatible in PlatformIO board definition (#2980)

Networking, Bluetooth, and misc.

  • Clear any existing IP before sending a DHCP request (#2979)
  • Send DHCP request on ::begin even if lease exists (#2977)
  • Fix BSTstackLib service UUID reporting to client (#2968)
  • Verify ADCInput buffer sizes legal for 3 and 4 inputs (#2996)

Release 4.5.4 - Important ADCInput fix, misc other updates

22 May 15:25
Compare
Choose a tag to compare

Overview

Minor update with an important ADCInput fix, IDE OTA interface chagnes, and general infrastructure updates.

ADC

  • Fix ADCInput masking (#2937)

OTA

  • Make Arduino IDE ask for OTA password (#2938)

Infrastructure

  • Added 'TwoWire::setBufferSize()' to Wire library (#2962)
  • Add PSRAM option for Adafruit Metro RP2350 (#2961)
  • Panic on stack protector crash instead of exit (#2955)
  • Fixed generic PIN_LED and SPI0 Pin assignment on WIZnet W55RP20-EVB-Pico. (#2956)
  • Add PICO_RP2350 target platform definition to compile (#2939)

Release 4.5.3 - SoftwareSerial and SPI fixes

02 May 16:04
Compare
Choose a tag to compare

Overview

Important update if you're a SoftwareSerial or SerialPIO user for much improved reception performance. Otherwise, just minor bug fixes

SoftwareSerial/SerialPIO

  • Optimize parity calculations in SerialPIO (#2932) (#2933)
  • Rewrite SerialPIO receive path, ensure proper edge (#2929)

Peripherals

  • Fix RP2350B SPI RX pin list (#2931)
  • Fix rp2040.getCycleCount() from core1 (#2915)
  • Add pin definitions for I2C1 on Cytron IRIV (#2916)
  • Generate PWMAudio pacer frequencies for 176/276MHz (#2913)

Miscellaneous

  • Add PIO.h header verification to CI (#2911)
  • Update LittleFS and Adafruit USB libraries (#2919)

Release 4.5.2 - New boards, fixes for specific variants

16 Apr 20:26
Compare
Choose a tag to compare

Overview

Minor update focused on cleaning up some existing board definitions and examples with a couple new boards thrown in to the mix

New Boards

  • Add Adafruit Fruit Jam and Feather RP2350 Adalogger (#2907)

WiFi Tweaks

  • Add explicit using arduino::IPAddress to headers (#2894)
  • Add WiFi region for Pico2W (#2872)

Updated Boards

  • Update W55RP20 example for proper CS pin (#2906)
  • Convert to SDK RP2350A/B determination (#2898) (#2910)

Release 4.5.1 - Windows Python Fix, Bidirectional TDM

19 Mar 00:08
Compare
Choose a tag to compare

Overview

Minor update. Under Windows, clean up dangling Python processes better. Miscellaneous new boards and quality of life fixes

IDE/Windows

  • Redo UF2 discovery for Windows compatibility (#2853)

I2S

  • Bidirectional TDM Support (#2843)

Boards

  • Add Olimex Pico2XL and Pico2XXL (#2868)
  • Add <1MB FS options for multi-size boards (#2867)
  • Use flash size menu for Olimex boards (#2866)
  • Add Pimoroni Servo2040 (#2865)
  • Fix invalid overclock speeds 175 and 275 MHz (#2855)

Release 4.5.0 - 200MHz Pico, SDK 2.1.1

11 Mar 20:42
Compare
Choose a tag to compare

Overview

Updates the core to the 2.1.1 Pico SDK release (plus a couple necessary fixes on the 2.1.2-develop branch) and bumps the RP2040 Pico default clock to the newly certified 200MHz. Other miscellaneous minor board-specific and library updates.

SDK / Clocks

  • Update to SDK 2.1.2-develop (#2844)
  • Adjust the PSRAM clock when over/underclock F_SYS (#2824)

Boards

  • Add SparkFun XRP Controller (#2847)
  • Define HSTX pins on Adafruit boards with HSTX or DVI connectors (#2825)
  • Add SparkFun XRP Controller (Beta) (#2823)
  • Support Makerbase MKSTHR36 and MKSTHR42 Boards (#2819)
  • Added WizNet W6100 to the AdvancedWebServer example (#2812)
  • Add SparkFun IoT RedBoard RP2350 (#2836)

Miscellaneous

  • A2DP: scanAsyncDone & scanAsyncResults; fix write and availableForWrite (#2839)
  • Enable add'l UART_AUX pinouts for RP2350 (#2837)
  • Early out of (un)maskInterrupts() if no GPIO interrupts need to be masked (#2831)

Release 4.4.4 - Arduino API 1.5.1 update

18 Feb 20:59
Compare
Choose a tag to compare

Overview

Update to the latest Arduino API release (1.5.1), which includes some String bug fixes among others. Should not affect user code.

Arduino API

  • Move to Arduino API 10501 (#2797)

New Boards, Fixes

  • Add new RP2350 Metro! (#2795)
  • Fix Wire/Wire1 definitions for Xaio RP2350 (#2811)
  • Correct Seeed XAIO RP2350 config (#2803)

Wire/I2C

  • added I2C TwoWire::busIdle to be checked by writeReadAsync (#2798)
  • fixed: Wire::writeReadAsync not setting _dmaSendBufferLen, therefore allocating the DMA buffer anew on every call (#2796)

Release 4.4.3 - Bidirectional I2S, SoftwareSPI

05 Feb 00:49
Compare
Choose a tag to compare

Overview

Minor update that adds a bidirectional I2S interface (input and output using a single BCLK/LRCLK) and a software-based SPI interface to allow SPI connections on any pin.

Peripherals (I2S, SPI)

  • Deduplicate SPI and SoftwareSPI routines (#2779)
  • Add PIO-based SoftwareSPI enabling SPI on any pins (#2778)
  • Add buffer read to AudioBufferManager and I2S (#2777)
  • Bi-directional I2S support (#2775)

Infrastructure

  • Document PSRAM and Boot2 better (#2792)
  • OTA Updater better error codes on OOS (#2793)
  • Fix I2C on Adafruit Feather RP2350 HSTX (#2784)
  • Don't set SDFAT_FILE_TYPE, default is OK (#2773)

Release 4.4.2 - Bug fixes and SDIO support

21 Jan 18:22
Compare
Choose a tag to compare

Overview

Multiple minor bug fixes across many subsystems. Adds SDIO (4-bit high speed) SD card support and moves to untouched SdFat upstream library. Speeds of up to 15MB/s with this mode have been shown, well above 1-bit SPI mode (but it does require a new physical adapter with all 4 DAT0...DAT3 pins). ExFAT support is now enabled as well, allowing for very large card access.

SD/SDFS

  • Replace ESP8266SdFat w/SdFat 2.3.0, SDIO, ExFAT (#2764)

Library updates

  • Update to LittleFS v2.10.1 (#2762)
  • Update to Adafruit TinyUSB 3.4.2 (#2761)

New boards

  • Add SparkFun IoT Node LoRaWAN (#2745)

Miscellaneous bug fixes

  • Change duty cycle of PIO Tone to 50% (#2770)
  • PIOProgram: Replace __pioHighGPIO with pio_get_gpio_base() (#2769)
  • Fix ADCInput clocks for multiple inputs (#2755)
  • Restore Bluetooth TLV on Pico2/RPiWiFi boards (#2753)
  • Correct return from NTP.waitSet() (#2736)
  • Remove unneeded SDK files from libpico/etc. (#2733)
  • Remove SDK C++ new/delete, duplicated objects (#2760)
  • A2DPSink: Remove stubs, fix volume and connect callbacks (#2757)

Release 4.4.1 - Minor refactoring and update

31 Dec 18:41
Compare
Choose a tag to compare

Overview

Minor quality-of-life release for audio output, especially PWMAudio. Precalculating values turns a 65K soft-FPU operation into a linear search of 12 entries in 99.9% of the cases.

I2S and PWMAudio and BluetoothAudio now share a common audio interface to simplify code like BackgroundAudio or ESP8266Audio.

Audio-related

  • Allow setting PWMAudio frequency before begin (#2726)
  • Properly wrap AudioBufferManager block writes (#2725)
  • Add AudioOutputBase keyword
  • Precalculate common PWMAudio dividers, avoid noise (#2714)
  • Add real block write for AudioRequestBuffer (#2712)
  • Overclock to 153.6 MHz (instead of 147.6 MHz) for I²S 48 kHz sample rate (#2708)

Infrastructure

  • Use the distributed ARM ar in libpico, not system (#2721)
  • Don't go through runtime initializers when there is no OTA command (#2697)
  • Fix issue with undefined LED_BUILTIN on Seeed Xiao RP2350 (#2704)