Electronic conference badges are now an accepted part of the lifeblood of our community, with even the simplest of events now sporting a fully functional computer as an eye-catching PCB on a lanyard. Event schedules and applications are shipped on them, and the more sophisticated ones have app libraries and support development communities of their own.
The trouble is that so often those badges fail to live up to their promise, and one reason behind that stems from the enormity of the task facing a badge team when it comes to firmware for a modern badge. There is some fascinating news from the Netherlands that might reduce some of those firmware woes though, badge.team is a freshly-launched project that provides a ready-made badge firmware with the promise of both stability and long-term support. If you’re making a badge, or even a one-off device using the ESP32, this is a project worth checking out.
An Event Badge Team’s Job Is Not An Easy One
This steady stream of official badges and a burgeoning scene of unofficial ones from the #BadgeLife community has given us amazing diversity, but at the expense of huge duplicated effort and a significant number of promised badge features never quite working on the final item. There are plenty of tales featuring conference badges that have been delivered to event attendees in a non-functional condition and even a few which have never ever seen a working firmware update. Producing a badge and the software which runs upon it is a non-trivial exercise that can be beyond even the most capable teams when the clock is counting down to opening day.
If you could put your finger upon the root of the problem, it might be that there have been so many entirely different badge platforms, with each one using a different architecture and having its own software stack.The possibility for re-using code or hardware designs from other badges is reduced, increasing the workload while removing the possibility of benefiting from the bug fixing work of other teams.
In 2017, the SHA hacker camp in the Netherlands featured a particularly successful badge with an ESP32 module at its heart. It was notable for its e-Ink display and touch buttons, but it also shipped with working firmware and an easy-to-develop-for MicroPython app store it referred to as the Hatchery with apps described as eggs. This proved robust enough to withstand malware attempts from camp attendees, and went on to feature a huge number of eggs for all possible purposes. After the camp many surplus and repaired SHA badges ended up in European hackerspaces where they found homes as display-equipped microcontrollers (Dutch, Google translation) and in other mundane tasks, and for which the firmware received ongoing development.
In 2019, the same team that created the SHA badge had a hand in two more offerings. The Hacker Hotel camp badge from the Netherlands was entirely their work, while the Disobey 2019 badge from Finland was an independently developed badge using their firmware. With these two badges comes the news that the SHA firmware has evolved into a stable badge ecosystem intended to achieve eventual compatibility with all ESP32 platforms rather than just those with a particular type of hardware or peripherals such as the e-ink screen, and that it has become a project in its own right. The badge.team project provides both the firmware and the hatchery ready-made, along with a growing library of ready-to-run eggs, easy MicroPython development, and long-term post-event support. At a stroke, an event badge team can concentrate upon making their badge hardware awesome, and cease to worry about its software.
This is a piece of news that we find exciting here at Hackaday, for several reasons. First of all, it lowers the barrier significantly for events small and large to produce an inexpensive and powerful badge with on-board WiFi, then it opens the prospect of a fully-featured platform for unofficial badge creators. Suddenly a #BadgeLife offering can easily have apps (or eggs!), and that has extremely exciting potential.
A Badge Platform Can Do So Much More Than Just Badges
The most exciting aspect of this news though comes from beyond the world of badges. What they have created is a versatile and easy-to-develop-for platform with a stable user interface that might be used in any application. The minimum hardware platform is a bare ESP32 module that can use the software for mundane microcontroller tasks, but a typical configuration might have a display and a few buttons. It is not too far-fetched to believe that it might form the basis of a community-developed PDA for example, or with a suitable connectivity module, a smartphone. Devices that might previously have needed a much more powerful single-board computer with a full-featured operating system have suddenly become possible using only a dirt-cheap generic module, and that from where we are sitting is a huge story.
Of course, this is not entirely without drawbacks. The ESP32 might not be to everybody’s taste, and the capabilities of the platform are limited to what is possible with its hardware. But of the currently available crop of microcontrollers it offers a worthwhile mix of processing power and low price along with that onboard wireless capability, so it is by no means the worst possible choice.
Then there is the choice of MicroPython for those apps. It makes for easy development, but an interpreted high-level language will never be the fastest kid on the block. The badge.team folks may have some ideas on that front though, in informal discussions with them they mentioned ideas around dynamically linking compiled code libraries from eggs, leading to that sought-after performance.
So far the officially supported ESP32 platforms for badge.team are the SHA and Hacker Hotel badges as well as the Disobey badge and an ESP32 development board. They are however working as fast as they can to include as many other ESP32 boards as possible, with the eventual aim of supporting all ESP32-based devices. Chatting with them at the Hacker Hotel camp they had entertained the possibility of extending it to other architectures, giving it a chance to evolve a life on future chips as the ESP32 eventually is supplanted.
Over To You: Many Ways To Develop Badge.Team Eggs
With thousands of the SHA2017 badges in the wild through both camp attendees taking them home and through the distribution of surplus boards post-camp, this is a platform for which many of you will already have the tools at your disposal to develop. There is also an emulator for Linux distros and MacOS, but not for Windows operating systems. The possibility of support for generic ESP32 modules extends the opportunity for developers to almost any device sporting the processor, indeed casting our minds back to 2017 we’d like to observe that a SHA badge clone using generic modules and running the official firmware has already been done. These multiple options mean that there is no need to wait for an official badge to fall into your hands should you wish to dip your toe into the badge.team development water, you can have a go without too much effort at all.
During the writing of this article we’ve had a look back through our SHA2017 badge coverage, and among it all it was the passage at the end of our write-up for the home-made badge mentioned in the previous paragraph that caught our eye:
The use of an ESP32 with well-designed peripherals and a solid firmware means that this is a design that is likely to form the bedrock upon which some future badges are built. [Artdanion] has proved how straightforward it is to clone, we’d like to be so bold as to make the prediction that we’ll see more developments of this platform at future events.
With the arrival of the Hacker Hotel and Disobey badges followed by the launch of badge.team, it seems that our prediction was accurate, and we are very much looking forward to what direction the platform takes in the future.