Golang for Argon/Boron/Xenon using TinyGo


I know there was some interest in writing the firmware in Go in the past and now there’s kind of a way :smiley:
With the release of TinyGo 0.13 (“a Go compiler for tiny places”), it brings the support for all 3rd gen Particle devices.

There are some caveats for now, namely:

  1. TinyGo can’t coexist with the Particle Device OS. Meaning flashing your Go app to the device will erase Particle bootloader and system. It is still possible to restore the device to “stock” but it requires manual flashing of all necessary parts.
  2. TinyGo doesn’t support Argon’s WiFi coprocessor nor Boron’s cellular modems yet, meaning for now you can only use the devices offline.

I wrote a post explaining how to use TinyGo with Particle if anyone’s interested.

This is also a nice alternative to running CircuitPython on your Xenons as a second life :blush:

Disclamer

I have to stress that this is not an officially supported feature, meaning it was developed by enthusiastic Gophers separately from Particle :blush:

Anyone is welcome to contribute and make Golang on microcontrollers a thing :smiley:

3 Likes