Skip to content

Releases: earlephilhower/arduino-pico

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)

Release 4.4.0 - Semihosting, GProf, and bug fixes

19 Dec 02:02
Compare
Choose a tag to compare

Overview

Major new feature is Semihosting which lets the Pico read and write files (and to the terminal) on the host while debugging. It's very handy for debugging and testing. The debug console can now be directed to the host through the IDE using this capability.

GNU profiling of running applications is also available, but is most useful on the RP2350 due to the RAM requirements.

Audio interfaces are unified under a C++ interface class for easier reuse in libraries or applications like BackgroundAudio. This should be backwards compatible with the prior individual classes.

Semihosting and Profiling

  • Semihosting part of core, RISC-V support (#2685)
  • Add semihosting support (SerialSemi and SemiFS) (#2670)
  • Enable gprof onboard profiling (#2669)
  • Add -O0 optimization mode to menus (#2667)
  • GDB + mklittlefs can export on-device filesystems to the host (#2666)

New/Updated Boards

  • Add Pimoroni Plasma 2350, fix Plasma 2040 I2C (#2698)
  • Add MyMakers RP2040 board (#2692)
  • Modify EVN Alpha board (#2690)
  • Add build.mcu to board definitions (#2673)

WiFi and MDNS

  • Support setting channel for SoftAP (#2695)
  • Add MDNS.addServiceTxt() to SimpleMDNS (#2679)

Audio

  • Derive playback devices from common AudioOutputBase (#2703)
  • Allow I2S constructor to set pins, like PWMAudio (#2702)
  • PWMAudio setFrequency optimization (#2683)
  • Add optional callback parameters for I2S/PWMAudio (#2677)

Release 4.3.1 - Pico W and Pico 2W hotfixes

02 Dec 19:45
Compare
Choose a tag to compare

Overview

Minor update that fixes a busted pinMode call on the Pico W and sets the proper Pico 2 W LED so things like blink.ino will work properly. Increase to LWIP state to support simultaneous SimpleMDNS and WiFiClients.

  • Increase LWIP timeouts to avoid MDNS panics (#2653)
  • Update to Adafruit TinyUSB 3.4.1 (#2647)
  • Fix LED pin for Pico 2W (#2646)
  • Fix for cyw43_wrappers.h build with C code (#2639)
  • Fix pinMode for RP2040 PicoW (#2638)