Picoruby는 M Ruby의 VM 코드를 기반으로 하며, Prism 파서 통합으로 기존 Ruby와의 높은 호환성을 확보했습니다. 이는 마이크로컨트롤러 환경에서 거의 완전한 Ruby 사용을 가능하게 합니다. Raspberry Pi Pico는 RP2040 MCU(Cortex M0+ 듀얼 코어, 264KB RAM, 2MB 플래시 ROM)를 탑재한 보드로, Picoruby는 이 보드에서 베어메탈로 실행됩니다. 일반 Raspberry Pi와는 달리 OS를 사용하지 않습니다.
워크숍에서는 Picoruby R2P2 쉘의 기능이 시연되었습니다. 이 쉘은 pwd
, ls
, mkdir
같은 유닉스 유사 명령어를 지원하며, 특히 강력한 IRB(Interactive Ruby)를 통해 실시간으로 Ruby 코드를 실행하고 디버깅할 수 있습니다. 다중 라인 편집이 가능한 IRB는 개발 편의성을 높입니다. 시연에서는 ADC(아날로그-디지털 변환기)를 이용한 온도 센싱, LCD 디스플레이 문자 출력, 그리고 a.rb
파일을 통한 시작 시 자동 코드 실행 등 실제 마이크로컨트롤러 제어 예시가 제시되었습니다.
이후 핸즈온 세션에서는 참가자들이 직접 하드웨어를 조립하고 코드를 작성하며 Picoruby를 경험했습니다. 주요 실습 내용은 LED 깜빡이기, 온도 센서 데이터 읽기, LCD 디스플레이 제어, 그리고 이들을 통합하여 동작시키는 것입니다. PWM(펄스 폭 변조)을 이용한 LED 밝기 조절도 다루어졌습니다. Picoruby는 키보드 펌웨어(PRK 펌웨어) 개발에도 활용될 수 있으며, Sparkfun Pro Micro와 같은 RP2040 기반 보드와 호환됩니다. 아두이노와 같이 저사양 보드는 Ruby 실행에 부적합함이 언급되었습니다.