Welcome to the ninth edition of Yarg Notes. This month, we’ve integrated a key piece of my vision for Yarg. yarg, running on host, will now compile Yarg sources to a binary and add them to the image that is flashed onto the microcontroller device. These are then run like any other source the Yarg implementation encounters. It is important to me that the ability to interpret and compile Yarg is not limited by the compute available on your microcontroller of choice. For all that it will be powerful, and can do those things, the AI and compute elsewhere will aways be more powerful than a couple of dollars of microcontroller!
Big thanks, of course, to @dlm-yarg on GitHub for the contribution of Yarg’s binary format, and onwards to next month!
Using Yarg
I hope Yarg will appeal initially to two groups. Firstly, development teams that are building a software led product that contains microcontroller elements. The need for a team that routinely uses AI, and modern languages like Go, Swift or Kotlin, to learn how to coax bug free C from their tooling seems like a risk worth eliminating to me. Far better to use a language full of modern affordances. The AI I use can already write it. If you know a team that sounds like that, I’d like to meet them.
Secondly, I think Yarg might appeal to technically minded folk who are solving a problem themselves, and who don’t want to learn a long list of new things to get a microcontroller to help them. Learning one thing is inevitable, given that any toolset will be the microcontroller version of something else (MicroPython, embedded C, etc…) so why not use a modern language as you learn that? This is the use case I’m talking about in my ‘over-engineering a Model Railway controller’ talk.
Maybe you have another idea about who might use Yarg? Hit reply, and let me know!
I’ll add a thought of my own. Last night I was exploring a new peripheral on the Pico, and it was so much fun to type ‘yarg repl’ on my PC and then peek & poke the registers interactively to learn how to apply the documentation ‘for real’. So much more refreshing than waiting for my C compiler!