Skip to content

Releases: earlephilhower/arduino-pico

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)

Release 2.7.2 - Cleaner uploads, UART/PDM/I2S/SPI bugfixes

11 Feb 20:41
Compare
Choose a tag to compare

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)

Release 2.7.1 - New menus, stereo PCM, picotool support, new boards, bugfixes

14 Jan 22:45
Compare
Choose a tag to compare

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)

Release 2.7.0 - OpenOCD update, RPi 3/4 toolchain update, PWM Audio, misc fixes, and new boards

30 Dec 21:37
Compare
Choose a tag to compare
  • Update version
  • Add PWMAudio for DAC-free audio playback (#1076)
  • digitalRead/WriteFast to sio_hw->gpio (#1077)
  • Update analog.rst
  • 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)

Release 2.6.5 - WiFi improvements, new USB drive mode, UART and I2S fixes

17 Dec 20:11
Compare
Choose a tag to compare

2.6.5

  • Modified LowPowerMode functions in WiFiClass.cpp/.h for better connection stability (#1046)
  • Fix I2s::available() to skip currently playing (#1043)
  • Increase ClientContext write(Stream) to 256b chunk (#1042)
  • Increase WiFi.begin() default timeout to 15s (#1041)
  • Add USB drive mode to TinyUSB, SingleFileDisk (#1034)
  • Throw away UART bytes with errors in reception (#1036)
  • Fix File::readString to work with binary data (#1030)
  • Pluggable_discovery: Allow the scanner thread to quit (#1029)
  • Speed up ClientContext::write(Stream) by chunking (#1017)

2.6.4

  • Allow building w/o USB for normal and picoprobe builds (#1013)
  • Add some Waveshare board descriptions (#1004)
  • Update Wire per @chrisckc debugging (#1011)
  • Fix memcpy to unallocated memory in EEPROM.cpp (#1000)
  • Using PIO_FRAMEWORK_ARDUINO_NO_USB build flag would cause internal rp2040 fifo not being initialized correct. (#1001)
  • Fix GPIO interrupt on freeRTOS (#959)
  • Use PIN_I2S_ defines if they exist in board pin definition. (#991)
  • Avoid race conditions in I2C(Wire) callbacks (#995)
  • Add Adafruit Feather RP2040 SCORPIO (#987)
  • Do not require USB init variable for TinyUSB (#981)
  • Add Waveshare RP2040 Zero (#980)
  • Add DatanoiseTV PicoADK board (#964)
  • Fix Arduino Nano Connect USB VID:PID tuples (#970)
  • Remove stdio.h include from CYW43 SDK override (#965)
  • Fix analogWrite scaling issues (#962)

2.6.3

  • Fix deadlock in attachInterruptParam (#953)
  • Fix SerialPIO bit length, update flyboard2040 pins (#950)
  • Properly disable Ethernet IRQ, don't drop packets (#951)
  • Free PIO SM on SerialPIO::end (#949)
  • Async scan + bugfixes (#947)
  • cores/rp2040: _freertos.cpp: Avoid memory leak and unnecessary allocation (#948)
  • Update GH actions to non-deprecated versions (#938)
  • Add WiFi.channel() reporting (#937)
  • Add WiFi.BSSID() undocumented call (#936)
  • Add a way to return the RSSI value (#934)

2.6.2

  • Add protocol-explicit upload.tool properties required for pluggable discovery compatibility (#933)
  • Add basic Pimoroni PGA2040 board definition (#930)
  • Only init PWM on requested pin (#926)
  • Add W25Q64JV QSPI /4 Boot2 file (#929)

2.6.1

  • Increase analogWrite frequency range, bugfixes (#918)
  • Rewrite PicoW LWIP interface for stability (#916)
  • Use static allocation for IRQ stack (#915)
  • Add board BridgeTek IDM2040-7A (#912)
  • Fix memory leak in WebServer (#914)
  • Un-hardcode LED pin in AdvancedWebServer example (#909)
  • Update VID&PID HunterCatNFC 2040 (#907)
  • Clear LWIP started flag on LWIPIntfDev::end (#905)
  • Adds Degz Mizu board (#904)
  • Add OpenOCD/GDB support for IDE 2.0 (#900)
  • Add Melopero Cookie RP2040 (#899)

2.6.0

  • Add TARGET_RP2040 to build defines (#898)
  • Support IDE 2.0, detect UF2 volumes (#897)
  • Allow double-reset to jump to USB bootloader (#893)
  • Drive pin LOW after Tone(period) timeout (#887)
  • Fix Serial1/2 debug output mode in CoreMutex (#883)
  • Allow setCTS/RTS(UART_PIN_NOT_DEFINED) (#881)
  • Fix deadlock during attachInterrupt (#879)
  • Fix typo in HttpClient HTTPS example (#876)
  • Allow setting the WiFi region for PicoW (#875)

Release 2.6.4 - New boards; I2C, FreeRTOS, analogWrite bugfixes

28 Nov 18:11
Compare
Choose a tag to compare

2.6.4

  • Allow building w/o USB for normal and picoprobe builds (#1013)
  • Add some Waveshare board descriptions (#1004)
  • Update Wire per @chrisckc debugging (#1011)
  • Fix memcpy to unallocated memory in EEPROM.cpp (#1000)
  • Using PIO_FRAMEWORK_ARDUINO_NO_USB build flag would cause internal rp2040 fifo not being initialized correct. (#1001)
  • Fix GPIO interrupt on freeRTOS (#959)
  • Use PIN_I2S_ defines if they exist in board pin definition. (#991)
  • Avoid race conditions in I2C(Wire) callbacks (#995)
  • Add Adafruit Feather RP2040 SCORPIO (#987)
  • Do not require USB init variable for TinyUSB (#981)
  • Add Waveshare RP2040 Zero (#980)
  • Add DatanoiseTV PicoADK board (#964)
  • Fix Arduino Nano Connect USB VID:PID tuples (#970)
  • Remove stdio.h include from CYW43 SDK override (#965)
  • Fix analogWrite scaling issues (#962)

2.6.3

  • Fix deadlock in attachInterruptParam (#953)
  • Fix SerialPIO bit length, update flyboard2040 pins (#950)
  • Properly disable Ethernet IRQ, don't drop packets (#951)
  • Free PIO SM on SerialPIO::end (#949)
  • Async scan + bugfixes (#947)
  • cores/rp2040: _freertos.cpp: Avoid memory leak and unnecessary allocation (#948)
  • Update GH actions to non-deprecated versions (#938)
  • Add WiFi.channel() reporting (#937)
  • Add WiFi.BSSID() undocumented call (#936)
  • Add a way to return the RSSI value (#934)

2.6.2

  • Add protocol-explicit upload.tool properties required for pluggable discovery compatibility (#933)
  • Add basic Pimoroni PGA2040 board definition (#930)
  • Only init PWM on requested pin (#926)
  • Add W25Q64JV QSPI /4 Boot2 file (#929)

2.6.1

  • Increase analogWrite frequency range, bugfixes (#918)
  • Rewrite PicoW LWIP interface for stability (#916)
  • Use static allocation for IRQ stack (#915)
  • Add board BridgeTek IDM2040-7A (#912)
  • Fix memory leak in WebServer (#914)
  • Un-hardcode LED pin in AdvancedWebServer example (#909)
  • Update VID&PID HunterCatNFC 2040 (#907)
  • Clear LWIP started flag on LWIPIntfDev::end (#905)
  • Adds Degz Mizu board (#904)
  • Add OpenOCD/GDB support for IDE 2.0 (#900)
  • Add Melopero Cookie RP2040 (#899)

2.6.0

  • Add TARGET_RP2040 to build defines (#898)
  • Support IDE 2.0, detect UF2 volumes (#897)
  • Allow double-reset to jump to USB bootloader (#893)
  • Drive pin LOW after Tone(period) timeout (#887)
  • Fix Serial1/2 debug output mode in CoreMutex (#883)
  • Allow setCTS/RTS(UART_PIN_NOT_DEFINED) (#881)
  • Fix deadlock during attachInterrupt (#879)
  • Fix typo in HttpClient HTTPS example (#876)
  • Allow setting the WiFi region for PicoW (#875)