Skip to content

Releases: earlephilhower/arduino-pico

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)

Release 2.7.3 - PicoProbe updates, bugfixes , new toolchain

18 Feb 21:12
Compare
Choose a tag to compare

2.7.3

New features

  • Upgrade to toolchain 1.5.0-b (#1196) (#1195) -- Fixes ::printf() debug output, for FreeRTOS and normal mode
  • Add picoprobe CMSIS-DAP support (#1198) -- Raspberry Pi team is moving to CMSIS-DAP via the PicoProbe UF2
  • Add isPicoW call to RP2040 object (#1204) -- Runtime detection of the board (best guess)
  • Enable use of uninitialized_ram() macro (#1199) (#1200)
  • Add rp2040.cpuid() call to get running core (#1190)
  • Implement WiFi::softAPgetStationNum (#1174)
  • Make uf2conf.py flush STDOUT for real-time updates (#1194)

Bug fixes

  • Fix FreeRTOS hanging (#1193)
  • Allow FreeRTOS to ::printf (#1195)
  • Remove extra SPI byte flip (#1202)
  • Fix SD.H FILE_WRITE mapping (#1178)
  • Update SD examples with working SPI configs (#1175)

2.7.2

New boards

  • Add the YD-RP2040 support files
  • Add boot2_w25q128jv to generic Pico flash menu (#1142)
  • Add uPesy Tutorials using Arduino Pico port. (#1151)
  • Add correct boot source to helios (#1126)

Audio/I2S/ADC/PDM

  • Avoid race condition in I2S/PWMAudio delete (#1163)
  • PDM library re-port (#1160)

Serial UART

  • Avoid initial glitch on Serial1/2 when RX high (#1154)
  • Fix SerialUART::overflow reporting race condition (#1133)
  • Add Serial UART break reporting (#1108)

ESP8266/ESP32 compatibility

  • Add ESP8266/32 WiFi.isConnected wrapper (#1166)
  • Apply SD.h fix from ESP8266 (#1171)

I2C/SPI/USB

  • Fix SPI transfer16 return value (#1148)
  • Fix USB VID/PID setting, rationalize boards.txt (#1144)

Upload

  • Optimize and improve upload experience (#1136)
  • Print useful uf2conv error if executable not found (#1141)

2.7.1

New boards

  • Add VCC-GND YD-RP2040 board (#1120)
  • Add 0xCB Helios (#1117)

Audio/I2S/ADC

  • Add stereo support, docs for PWM playback (#1084)
  • DMA-based ADC input (microphone, analog sensor) (#1101)
  • Stop the I2S PIO when I2S::end called (#1103)
  • Allow on-the-fly changes to PWMAudio when possible (#1098)
  • Add LSBJ format support for I2S (#1095)

WebServer

  • Add hook support to WebServer (#1119)

Compatibility

  • Adding sei() and cli() as aliases for interrupts() and noInterrupts(). (#1089)
  • Add WString.h include redirect for broader compat (#1083)
  • Warn when Serial.printf() format is wrong (#1090)
  • Move analogReadTemp() to C++-only (#1097)

General

  • Redo boards menu, separate out upload method, add picotool upload (#1112)
  • Add additional instructions for Linux Flatpak users (#1105)
  • Handle slave mode I2C restarts (#1104)
  • Update to LittleFS 2.5.1 (only minor updates) (#1099)
  • Reduce stack usage of several components (#1093)
  • Remove debug printout warnings (#1091)

2.7.0

  • Add PWMAudio for DAC-free audio playback (#1076)
  • digitalRead/WriteFast to sio_hw->gpio (#1077)
  • Universal analogReadTemp() (#1075)
  • Fix I2S::flush volatile casting (#1074)
  • Reduce ADC memory footprint slightly (#1073)
  • Make the AudioRingBuffer list-based (#1064)
  • Speed up ADC reads by not re-initting (#1072)
  • Add digitalWrite/ReadFast macros (#1069)
  • Update to Adafruyit TinyUSB 1.17 (#1071)
  • Degz Mizu changed to Viyalab Mizu RP2040 (#1062)
  • Update to 1.5.0-a toolchain (#1060)
  • Add nullbits Bit-C PRO board (#1051)
  • Fix CI errors when more than one *.a in cache dir (#1049)