Skip to content

Releases: earlephilhower/arduino-pico

Release 3.4.0 - Toolchain update to GCC 12.3, I2S fixes

30 Aug 15:37
Compare
Choose a tag to compare

Major toolchain update, be sure to run ./tools/get.py to download updates if you're using git master!

Important Notes

  • GCC 12.3 fixes several internal compiler errors present in 10.x that were noted in other projects.
  • GDB was also updated to 12.0 to match the GCC version
  • Picotool was moved to the latest release
  • OpenOCD moved to 0.12 which drops support for legacy Picoprobe (non-CMSIS_DAP) because Raspberry Pi no longer supports that mode. Update your Picoprobes to the latest CMSIS_DAP version from Raspberry Pi to continue using them.

Toolchain

  • GCC 12.3, GDB 12, OpenOCD 0.12, Picotool 1.1.2 (#1670)

I2S

  • Add TDM support to I2S (#1673)
  • Fix I2S stop/start race condition #1656 (#1659)

New Boards

  • Added RP2040-ProMini board to the project. (#1674)
  • Add Pimoroni Tiny2040 (#1672)

Misc

  • Add stdint.h to generic variant common.h (#1677)
  • Allow re-setting identical pins without panic() (#1655)
  • Make MDNS compile with IPv6 enabled (#1651)
  • SPI debugging: tiny fix & log actual baudrate (#1641)

Release 3.3.2 - WiFi hang fix, Serial updates, New boards

05 Aug 00:15
Compare
Choose a tag to compare

Important bug fix for WiFi under high load and a workaround for USB serial applications that don't set DTR properly.

WiFi

  • Fix race condition between WiFi receive and consume (#1614)

Serial

  • Add SerialUSB::ignoreFlowControl() method (#1624)

New boards

  • Add new board Silicognition RP2040-Shim (#1623)
  • Add Adafruit Metro RP2040 (#1630)

Quality of life fixes

  • Update platform.txt to require auto-discovery and serial-monitor (#1631)
  • Fix PlatformIO intellisense (#1616)

Release 3.3.1 - General bug fixes, I2S updates

28 Jul 17:40
Compare
Choose a tag to compare

Minor bug fixes in lots of parts of the core and libraries, additional boards.

New boards

  • Add Challenger WiFi6/BLE5 board to the mix. (#1595)
  • Add Pimoroni Plasma RP2040 support (#1556)
  • Add ArtronShop RP2 Nano board (#1567)

Wire/I2C

  • Handle swapped Wire IRQs properly (#1608)

OTA

  • Fix FS upload crash (#1598)
  • Remove obsolete refs to ATOMIC_FS_UPDATE (#1597)

I2S/Audio

  • Add MCLK support for I2S, optimize clocks for jitter-free playback (#1555)
  • Fix: 'I2S::operator=(const I2S&)' is implicitly (#1588)
  • I2S: Don't consider _isHolding when it's an output (#1548)

SD/SDFS/SdFat

  • Ensure 64bit math for SD card FSInfo (#1553)

Debugging

  • BREAKING: Change default debug_script to cmsis-dap (#1565)

Release 3.3.0 - Pico SDK 1.5.1, I2S, and WebServer updates

18 Jun 02:47
Compare
Choose a tag to compare

Update to the latest Pico SDK, version 1.5.1, with a smaller TinyUSB installation and some Bluetooth bugfixes. Several minor I2S and audio related fixes when I2S is started and stopped multiple times.

Upgrades

  • Update to Pico-SDK 1.5.1 (#1539)

I2S / Audio

  • Addition ABM checks in PWMAudio and ADCInput (#1530)
  • I2S check for failure of ARB and PIO allocation (#1528)
  • Call I2S::end() in I2S destructor (#1527)
  • Fix for invalid __channelCount in ~AudioBufferManager() (#1519)
  • Enable proper reuse of PIO programs (#1526)

Other fixes and updates

  • Linker tweaks for RAM-resident PicoDVI library functions (#1541)
  • WebServer: Solve HTTP request delay by dropping idle connections (#1537)
  • Add rebootToBootloader to reboot to bootloader from code (#1514)

Release 3.2.2 - More important FreeRTOS and I2S fixes

08 Jun 01:13
Compare
Choose a tag to compare

Some important FreeRTOS bug fixes and quality of life improvements, plus a major I2S correction eliminating clicking audio.

FreeRTOS

  • CoreMutex add portYieldFromISR for FreeRTOS (#1484)
  • Fix CoreMutex FreeRTOS ISR logic (#1510)
  • Fix serial reset hang under FreeRTOS (#1495)

I2S

  • AudioBufferManager(I2s, PWMAudio, ADCInput) clicking fix (#1500)
  • AudioBufferManager: Make dma_claim_unused_channel() not panic (#1487)
  • I2S::available/availableForWrite() returns bytes (#1499) (#1496)
  • Add I2S::getOverUnderflow() (#1497)

Other fixes and update

  • Update to Adafruit TinyUSB 2.2.1 (#1511)
  • Added BT setup overload to pass name. (#1483)
  • Implement the BD_ADDR(char * address_string) constructor. (#1440)

Release 3.2.1 - FreeRTOS and I2S bug fixes, misc updates

24 May 01:04
Compare
Choose a tag to compare

Several important FreeRTOS bug fixes and update to latest upstream, minor I2S fix, and Adafruit Feather breaking change

Breaking changes

  • BREAKING: Swap Wire1 and Wire in Adafruit Feather (#1461)

FreeRTOS bug fixes and updates

  • Merge latest FreeRTOS/SMP upstream branch (#1449)
  • Clean up FreeRTOS, remove core freeze hacks (#1448)
  • Use real FreeRTOS tasks to idle core during flash (#1444)
  • Fix FreeRTOS CoreMutex shim to handle ISRs (#1442)

Minor bug fixes and updates

  • Fix I2S::write(const uint8_t *buffer, size_t size) (#1461)
  • BT Serial connection docs for Mac (#1459)
  • Add setInverted() options to SerialPIO (#1451)
  • Add dummy Serial implementation when NO_USB defined (#1438)
  • Generate warnings if Pico STDIO init called (#1467)

Release 3.2.0 - Boards, Platform.IO updates, minor bug fixes

05 May 16:07
Compare
Choose a tag to compare

Lots of minor bug fixes and updates to core and Platform.io

Bug fixes

  • Rename BTstack lib to BTstackLib (#1360)
  • Clear compile errors if BT needed but not on (#1371)
  • Fix USB Mouse/Joystick HID report ID (#1418)
  • Protect the HW random generation from FreeRTOS (#1395)
  • Fix USB crashes in FreeRTOS (#1419)
  • Don't delete first cert, taken from ESP8266 repo (#1392)
  • FreeRTOS compilation fix when no LED present (#1413)
  • Add PICO_FLASH_SIZE_BYTES define (#1414) (#1416)
  • Update to Adafruit_TinyUSB 2.1.0 (#1387)

Platform.IO updates

  • Support and Document pico-debug in PlatformIO (#1427)
  • Sync macros used in PlatformIO and platform.txt (#1386)
  • Enable BlackMagicProbe for PlatformIO (#1378)
  • Remove circular dependency on WiFi/LWIP_Ethernet (#1415)

New Boards

  • Add Feathers: CAN and Prop-Maker (#1421)
  • Add board Seeed Indicator RP2040 (#1375)

Release 3.1.1 - New boards, Mouse and Keyboard updates

05 Apr 20:45
Compare
Choose a tag to compare

Minor update to support additional boards and USB/Bluetooth keyboard and mouse modes.

Bug Fixes

  • Increase UDP PCBs to avoid DNS OOM error (#1304)
  • Clean up CoreMutex and __isFreeRTOS definition (#1312)

Updated Libraries

  • Add absolute mouse support (#1342)
  • Add HID consumer (aka media) keys for USB, BT (#1309)
  • Add (unsupported) BTstack Arduino library (#1305)
  • Add I2S::swapClocks() for boards w/reversed pins (#1298)

New Boards

  • Add support for Challenger UWB board, fix some defines (#1351)
  • Add Feather ThinkINK and USB Host (#1334)
  • Add Feather RP2040 RFM, fix pins in SCORPIO, DVI board defs (#1333)
  • Feather DVI peripheral fix (#1301)
  • Add 4 and 8 MB VCC_GND boards via Flash Size menu (#1297)

Release 3.1.0 - WiFi/MDNS stability fixes, Bluetooth on Platform.IO

10 Mar 17:19
Compare
Choose a tag to compare

3.1.0 - Network stability fixes, Bluetooth on Platform.IO

Major Updates

  • Manually add MDNS multicast Ethernet MACs to CYW43 (#1290)
  • Adjust LWIP intf to avoid hangs/crashes under load (#1286)
  • Add Bluetooth to the PIO CI (#1269)

Minor updates/bug fixes

  • Add instructions for making I2S input work with Adafruit microphone (#1272)
  • Add Bluetooth support to Platform.io (#1259)
  • Add Keyboard LED callback for USB and BT (not BLE) (#1265)
  • Allow setting names for BT/BLE HID devices (#1260)
  • Use generic HID classes to minimize code duplic'n (#1254)
  • Add setBattery to BLE HID devices (#1246)

New boards

  • Add Adafruit Feather RP2040 DVI (#1245)
  • Add board definition for Neko Systems BL2040 Mini (#1258)
  • Fix pin assignment for Waveshare RP2040 1.28 LCD PIN_BAT_ADC (#1292)
  • Reassign I2C pins to correct buses (#1255)

3.0.0 - Large update, focused on Bluetooth support for the Pico W

Major Updates

  • Bluetooth Classic and Bluetooth Low Energy (BLE) alpha support (#1167)
  • Update to SDK 1.5 (#1167)
  • Use Pico-SDK CYW43 infrastructure (#1167)
  • Add Bluetooth Classic HID libraries and examples (#1240)
  • Add Bluetooth SPP SerialBT and examples (#1240)
  • Add BLE HID libraries and examples (#1240)
  • Move pico-sdk to RPI's original version (#1239)
  • More aggressive WiFiMulti, targets specific APs by BSSID (#1167)

Bugfixes

  • Move PicoW auto-reassignment of LED pin to code (#1208)
  • Always apply 5M speed to CMSIS_DAP TCL script (#1218)
  • Return custom USB product and manufacturer (#1223)

Release 3.0.0 - Bluetooth/BLE, SDK 1.5.0

02 Mar 01:09
Compare
Choose a tag to compare

Large update, focused on Bluetooth support for the Pico W

Major Updates

  • Bluetooth Classic and Bluetooth Low Energy (BLE) alpha support (#1167)
  • Update to SDK 1.5 (#1167)
  • Use Pico-SDK CYW43 infrastructure (#1167)
  • Add Bluetooth Classic HID libraries and examples (#1240)
  • Add Bluetooth SPP SerialBT and examples (#1240)
  • Add BLE HID libraries and examples (#1240)
  • Move pico-sdk to RPI's original version (#1239)
  • More aggressive WiFiMulti, targets specific APs by BSSID (#1167)

Bugfixes

  • Move PicoW auto-reassignment of LED pin to code (#1208)
  • Always apply 5M speed to CMSIS_DAP TCL script (#1218)
  • Return custom USB product and manufacturer (#1223)