Uri Shaked Is Developing a JavaScript Raspberry Pi Pico Emulator — in a Live-Coding Video Series
Written in JavaScript, Shaked's emulator for the Raspberry Pi Pico and RP2040 is to be developed in a series of live-coding sessions.
The Raspberry Pi Pico may only cost $4, but developer Uri Shaked is working on an emulator for the device which will be available for free — and is live-coding it, in JavaScript, in a series of video broadcasts.
Launched last week, the Raspberry Pi Pico is the first microcontroller development board from Raspberry Pi — and houses its first in-house silicon, the Arm Cortex-M0+-based RP2040. At $4, the device has proven popular — but for those who would rather have a play without spending any cash, Shaked's upcoming JavaScript-based Pico emulator is going to be of considerable interest.
"[This is a] series of livestreams where we'll be coding a Pi Pico simulator from scratch," Shaked explains. "Expect deep-dives into the datasheet, head-scratching and code-staring, a lot of frustration, and maybe a blinking LED at the end. You'll get to see my process for building MCU simulations, drawn from my previous experience working on AVR8js, an open-source AVR8 simulator written in JavaScript."
"For the first livestream [...] we'll use the following documents: Getting started with Raspberry Pi Pico guide (mostly for SDK installation instructions); RP2040 Datasheet; Arm v6-M Architecture Reference Manual. We'll also use the Pico SDK and Pico Examples repo."
The aim of the project: The development of a software emulator which will accept programs written and compiled for the Raspberry Pi Pico and run them entirely on a host device, no microcontroller required. As well as being a great tool for experimentation, the resulting simulator could also form the basis of a browser-based integrated development environment — allowing programs to be written and tested ahead of being flashed to a real Raspberry Pi Pico.
Shaked is broadcasting the first in the planned series of live-coding sessions on his YouTube channel at 2pm EST (11AM PST) on Tuesday, January 25th. Additional details can be found on the Hackaday.io project page.