Releases: earlephilhower/arduino-pico
Releases · earlephilhower/arduino-pico
Release 3.2.0 - Boards, Platform.IO updates, minor bug fixes
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
Release 3.1.1 - New boards, Mouse and Keyboard updates
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
Release 3.1.0 - WiFi/MDNS stability fixes, Bluetooth on Platform.IO
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
Release 3.0.0 - Bluetooth/BLE, SDK 1.5.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
Release 2.7.3 - PicoProbe updates, bugfixes , new toolchain
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
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
I2C/SPI/USB
Upload
- Optimize and improve upload experience (#1136)
- Print useful uf2conv error if executable not found (#1141)
2.7.1
New boards
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
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
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
I2C/SPI/USB
Upload
- Optimize and improve upload experience (#1136)
- Print useful uf2conv error if executable not found (#1141)
2.7.1
New boards
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
2.7.1
New boards
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
- 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
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
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)