Re-flashing the default Nibble firmware (without CircuitBlocks)

Hey everyone!

I couldn’t find a guide to this, so I thought I’d share what I just figured out for myself :slight_smile:

I’ve been uploading binary files from a Raspberry Pi 400 to the Nibble (the exciting Anarch and Sokoban community game contributions), from the command line, using esptool - this is a script for programming the ESP8266 bootloader for Linux.

But - then - I realised there was no easy way to get the default firmware and games, back! CircuitBlocks does not run on the Pi, and unlike the Ringo, the default firmware .bin file does not appear to be on GitHub.

There is a way to get back to where you started.

  1. Install the Arduino IDE (I had that already!)

  2. Configure it to know about the CircuitMess boards. In File->Preferences, add this to the Additional Boards section:

https://raw.githubusercontent.com/CircuitMess/Arduino-Packages/master/package_circuitmess.com_esp8266_index.json

  1. In Tools->Board->Boards Manager, search for “Nibble” and install the CircuitMess ESP8266 package.

  2. In Tools->Board->CircuitMess ESP8266 boards, select “Nibble”.

  3. In Tools->Programmer, select “Firmware restore”

  4. Finally, with the Nibble plugged in over USB and switched on, select Tools->Burn Booloader (you may also need to confirm that Tools->Port is set to the right port, in my case it was /dev/ttyUSB0)

Back to the start! :partying_face:

Bonus points: once you’ve done this once, you actually have a cached copy of the firmware sitting in a hidden folder on your system, ready to be re-flashed using esptool in the future! I found it at

~/.arduino15/packages/cm/hardware/esp8266/1.0.1/firmwares/nibble/nibble-v1.0.0.bin

I’m copying that away to my development folder, for future use!

This is an awesome addition! Thanks for taking the time to create these instructions!

… it’s actually even simpler than this.

If you do not want to go through the Arduino IDE, you can get the firmware directly on GitHub - it just is not very obvious where it can be found.

Looking at

https://raw.githubusercontent.com/CircuitMess/Arduino-Packages/master/package_circuitmess.com_esp8266_index.json

This contains the URL for the ESP8266 package as a whole -> https://github.com/CircuitMess/Arduino-Packages/releases/download/esp8266-v1.0.1/esp8266-v1.0.1.zip

Download this, unzip it, and the firmware is inside the esp8266/1.0.1/firmwares/nibble folder (which is just the same as the one I mentioned in the first post).

1 Like