Releases: picoruby/R2P2
EuRuKo 2025 Editionπ·
This release is for the workshop in EuRuKo 2025!
But no worries, nothing special. You all can use the latest features of PicoRuby and R2P2 with it!
What's Changed
- Run build and rp2040js simulation on CI by @take-cheeze in #19
- Upgrade pico-sdk from 2.1.1 to 2.2.0 by @hasumikin in #20
- There are too many improvements to PicoRuby to list here. Enjoy anyway!!
....Sorry for the lack of detailed release notes. I'm short on time as the EuRuKo workshop is starting soonπ¦
New Contributors
- @take-cheeze made their first contribution in #19
Full Changelog: 0.4.1...0.5.0
Stable release for RP2040 with the latest PicoRuby
Target Boards
- Raspberry Pi Pico and Pico W
- R2P2_PICO has a larger heap memory for VM than R2P2_PICO_W
Key Features
This release has no big changes but includes some improvements:
- From version 0.4.0
- Improve Shell setup to ensure that directories and system files are created
- Add timeout parameter to I2C
- From version 0.3.0
- Many small fixes in the parser, gems, and VM
Pico W with WiFi and BLE supportπ
Target Boards
- This release is for Raspberry Pi Pico W (not Pico 2 and Pico 2 W)
- You can install this release into Pico without W, but BLE and WiFi do not work (maybe you'll get SEGV)
Key Features
- It is PicoRuby-based R2P2, thus much more stable than the RubyKaigi 2025 edition π€
- BLE and WiFi for Pico Wπ
- Go to https://picoruby.github.io/wifi to configure WiFi
- Many APIs are fixed. If your existing app doesn't work, check the latest documentation: https://picoruby.github.io. Feel free to ask us on the issues pageπ
Special Release for RubyKaigi 2025π₯³
This is a special release of R2P2, what the author talks about at RubyKaigi 2025 MicroRuby: True Microcontroller Ruby
Target Boards
- Raspberry Pi Pico 2 and Pico 2 Wπ
- Compatible with RP2350-based boards
Key Features
- Finally, mruby as the VMπ―
- Including BLE and WiFiπ for Raspi Pico 2 W
- Go to https://picoruby.github.io/wifi to configure WiFi
Known Issues
- Many bugsπ€―
- IRB sometimes (often) hangs
- Memory leak
- and more!
In our experience, the RP2350 often does not start up automatically right after writing the uf2 file. Try turning the power off and on manually.
Parser Migration: Switching to Prism!!!!!
After many difficult development challenges, PicoRuby's parser has finally become Prism!
Enormous gratitude to @kddnewton π
This release does not include the wireless version. Please be patient!
What's Changed
- Add rake setup to execute bundle install in picoruby by @hayaokimura in #7
- Fix check_pico_sdk error message by @hayaokimura in #9
- Use gcc-arm-embedded for building on macOS. by @yuuu in #10
New Contributors
- @hayaokimura made their first contribution in #7
- @sylph01 made their first contribution in #8
- @yuuu made their first contribution in #10
Full Changelog: 0.2.1...0.3.0
No need to call `require "cyw43"` on Pico W
To ensure consistency with the article in n-monthly Lambda Node Vol.4 No.1
Full Changelog: 0.2.0...0.2.1
require, PWM, Watchdog and BLE (experimental)
What's Changed
- You can load external libraries by
requiremethod.
See also PRK Firmware's wiki https://github.com/picoruby/prk_firmware/wiki/require - PWM (Pulse Width Modulation) class.
See API guideline https://github.com/mruby/microcontroller-peripheral-interface-guide/blob/main/mruby_io_PWM_en.md - Watchdog class.
Example https://github.com/picoruby/picoruby/tree/master/mrbgems/picoruby-watchdog/example - [Experimental] BLE class for Raspberry Pi Pico W. Use "R2P2_W-*.uf2" binary.
Examples (possibly buggy) https://github.com/picoruby/picoruby/tree/master/mrbgems/picoruby-ble/example - Fixed a lot of bugs.
Full Changelog: 0.1.2...0.2.0
UART added and other peripheral libraries fixed
- GPIO
- ADC
- I2C
- SPI
- UART
These gems are implemented according to API guidelines: https://github.com/mruby/microcontroller-peripheral-interface-guide
Shell improved
- You can copy & paste into the R2P2 shell (line by line. Multiple lines will fail)
- You can interrupt a task by
Ctrl-C - Shell can start even if the terminal size is small

