Categories
Computing

Yarg at OggCamp 2026

I attended OggCamp 2026, for the first time. I thoroughly enjoyed the experience, and was pleased I could share a talk. My presentation was: “The Yarg Language: Over Engineering a Model Railway Controller”. With thanks to the organising team for the event and the livestream, here is the recording they shared:

Unfortunately I forgot to turn on the mic, so my intro slide didn’t make it into the recording.

If you’d like to follow the links, the best start is yarg-lang.dev, and the previous version was given at Raspberry Pint.

Here are the slides:

Categories
Computing

Notes 8: OggCamp and a native REPL

yarg>

I recently published the eighth edition of my newsletter about Microcontroller development and Yarg’s progress. This time the REPL leaves C and goes native. I’m also going to be attending and speaking at OggCamp at the end of April.

Read it here, and subscribe to future notes here.

Categories
Computing

Day 8 – Box 3, working

For Day 1, go here. The series is tagged advent-2025.

A second post for Day 8. Now that I have Yarg 0.3.0 in hand, I can get box 3 working. Press the red button, see the red LED light. Press the green button, see the green (onboard) LED light.

The code, as before, is in the box3 subdirectory. We need to add the rgbutton.ya file to the standard Yarg image:

$ cp ../yarg-lang-pico-0.3.0/yarg-lang-pico-0.3.0.uf2 box3.uf2

$ hostyarg addfile -fs box3.uf2 -add rgbutton.ya

$ picotool load box3.uf2

That sequence assumes the Pico is waiting as the RPI-RP2 usb drive after booting with bootsel held down.

After flashing completes, reboot the pico (eg with picotool reboot), and at the serial prompt from the Pico:

> import("rgbutton");

We could name the file main.ya to get it to start automatically when the pico reboots.

The code illustrates a key point about Yarg – the hardware driver code is all Yarg, so can be extended at will. In this case, the GPIO library did not include a method (yet!) to setup the pull-up resistors, so I added gpio_set_pulls right in rgbutton.ya.