BurnTag: ESP32 imaging and printer tag software with MAC extraction and custom configurations

I build a number of small scale commercial products with very limited production runs and always wanted to be able to print nice professional labels for them with specific device configurations. I could find anything so I created BurnTag.

This software can auto flash ESP32 devices when connected, and extract the MAC address to print on the label, as well as send custom per device configurations to the device with verification after imaging.
Example. I use these wireless nodes, and I’m able to print the nodeIDs on the labels, and have it auto increment the number after each success, and auto print a label. I also print the FCC ids, and other information.

You can also include a QR code, and if you want include the custom information into the qr code thats generated for each print.

The labels are customizable in an editor. I could only post one image as a new user so see the imaging screen below, and download to see the label customization screen.

Currently this supports the cheap Niimbot thermal printers that are cheap and work great. I have specifically tested the B21 pro.

I built it with the idea of eventually extending it to support STM32 controllers and other printers as I found a need for it.

I looked around and never found something like this, and was always frusterated trying to do batch runs where I would write the nodeids down and it never felt professional.

Below is the programming screen which auto recognizes and programs esp32 as they are plugged in (or manually with auto turned off). To use the after imaging config you can use either a JSON config, or write direct to NVS partition. JSON is what I use, where the device accepts an {“config”:”enterConfig”} which responds with {“status”:”ok”} then accepts other configs like {“config”:”nodeId”:5}
Its very customizable. You can set custom response verification as well. You can use custom serial numbering as well.
I may add a webhook as well (let me know if you need this) to automatically register devices to a service.

Hope someone else finds this helpful.

I’ll note there are a few small bugs. Sometimes misses the first print after startup. Create issues and contribute if you like on github.

I dont know the best way to get this out there, but I thought about this being a missing piece of the puzzle for myself for a long time, so I really hope it helps others out.

1 Like

I should mention, even if you aren’t using labels, the auto flash on plugin could be helpful for some to streamline small production runs