Skip to content

Releases: earlephilhower/arduino-pico

Release 4.7.0 - SDK 2.2.0, slimmed down LWIP, cleaned up Platform.IO builds

07 Aug 20:52
Compare
Choose a tag to compare

Overview

Update to the latest Pico-SDK 2.2.0 release and clean up and rationalizes the Platform.IO infrastructure.

SDK 2.2.0 "kitchen sink" update

  • Update to Pico-SDK 2.2.0 release, remove multi-lib LWIP, clean up CMake, clean up P.IO build hardcoded defines (#3049)
  • Add LIB_PICO_MULTICORE to libpico build
    Fixes #3058 and behavior of async_context in multicore apps
  • Update and clean up the libpico CMakefile and common platform_def.txt. Use platform_def files for p.io builds
    Use a common text file that GCC and P.IO can parse to set defines for the build, ensuring Arduino and P.IO stay in sync.
  • Link to config include files, don't copy, where possible to keep things sane.
  • Re-enable BOOT2.S compiles in libpico (no change to .S outputs)

Libraries

  • Update LittleFS to latest release 2.11.1
  • Build LWIP at app compile time, no need for multi
    We needed about 6 copies of the LWIP/BT library for each CPU when the LWIP library was built as part of the SDK libpico.
    Remove LWIP from the SDK builds and replace it with the actual LWIP source (linked via #include) so we can adjust for IPv4/IPv6/32K/16K at runtime. Shrinks download and install size of a release significantly. Still needs separate LWIP-BT library because the CYW43 driver is different when BT is enabled.

Networking

  • HTTPClient allow "Transfer-Encoding: identity"
  • Update Mozilla CCADB URL in CertStore example
  • Update TZ.h from ESP8266 repo

Boards

  • Update I2S for Fruit Jam (#3056)
  • Update Adafruit Fruit Jam pin names (#3053)
  • Fix olimex XL/XXL RP2350A redefinition

Release 4.6.1 - HTTPClient and minor updates

24 Jul 17:44
Compare
Choose a tag to compare

Overview

Fixes issues with the HTTPClient under transfer-encoding: chunked connections.

Libraries

  • Rewrite HTTPClient chunked transfer-encoding (#3034)
  • Update to Adafruit TinyUSB 3.7.1 (#3047)
  • Make default SerialBT FIFO 1K (#3032)
  • Fix PWMAudio crash when no CB installed (#3012)
  • Remove duplicated code from SPISlave (#3007)

Boards

  • Add Waveshare RP2350 Zero (#3035)
  • Add DVI pin mapping to Pimoroni Pico Plus 2W (#3027)
  • Add DVI pin mapping to Pimoroni Pico Plus 2 (#3026)
  • Remove incorrect definition on BTT SKR Pico (#3020)
  • Remove dead Waveshare RR2040 Plus 16/4M JSON files (#3017)
  • Refactor Waveshare RP2040 Plus with flash size menu (#3016)

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)