Badge.Team: Badges Get A Platform

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.

The SHA2017 and Hacker Hotel 2019 badges side by side.
The SHA2017 and Hacker Hotel 2019 badges side by side.

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.

The Disobey 2019 badge has completely different display and interface, but shares the badge.team firmware.
The Disobey 2019 badge has completely different display and interface, but shares the badge.team firmware.

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

A demo app running in the SHA badge emulator.
A demo app running in the SHA badge emulator.

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.

20 thoughts on “Badge.Team: Badges Get A Platform

  1. Having never been so lucky as to attend anything that has an electronic badge…
    It would be a great feature to include an alarm clock to let you know when each of the sessions you’ve selected is about to start, and either highlight the location of the session on a map or guide you to it.

    1. Yes, exactly my thought. These badges are fun but by no means sustainable. They will be used for some cool hacks for a few days, but then will ultimately end up as more landfill. It would be a good thing to end with this trend or at least design them in a way to be easy to recycle.

      1. I think that addressing this is one of the aims of this project, to make badges that (1) work, and (2) receive software updates and new apps. Past badges have definitely gone on the pile, because they don’t offer anything beyond the event.

        After SHA for example came BornHack 2017, and immediately there was a BornHack schedule app for people with SHA badges.

      2. Folks _do_ worry about this. But compare the volume of all hacker badges made ever with the daily trash stream, just of cell phones, for a small-to-mid-sized US city.

        You’d be better off making cell phones last one additional week on average than worrying about badges. Maybe even just a few hours of lifetime per phone…

  2. What exactly is a badge or more to the point how is one typically used?

    I’ve never been to an event with badges but I have been reading HaD for a number of years now. I’ve seen a lot of badge articles. They look interesting but have left me a bit confused.

    Does a person at a conference actually use a badge as a badge? Do they wear it displaying their name? The “Still Jenny List Anyway” one above kind of looks that way.

    Or does a typical attendee at a conference immediately overwrite the firmware and make it do something else and show off their hacking skills? If so are they usually making up their own ideas of what it should do? Or are they following along with stuff the group is doing to their badges in tandem with whatever is being discussed in the talks they attend? Or is it a side thing with an official set of problems to solve but separate from the talks?

    What is the intended purpose of a badge and do they normally get used as intended?

    There have been lots of great articles about individual badges. Maybe there needs to be a generic article describing the general concept.

    1. It’s all of those things and more. Most people just use it with the supplied firmware to run camp apps, some write their own apps in the existing framework, and others roll their own. It serves as a memento of the event, and in the case of many badges of which the SHA2017 is one, it is intended to have a life after the event.

  3. Badges!? I need some stinkin’ badges!

    I didn’t see it mentioned, but another great use of these would be for swapping contact info (maybe even with a nifty NFC radio for touching badges together? So cool.)

  4. What I love about badges is that good designers use less common mcu’s in novel ways usually squeezing every last MIPS out of them.

    Sort of the opposite of this.

    It’s still a great project for anything embedded but for me it would be sad to see many different badges all based on the same MCU.

    1. The wonderful thing about our community is that it has a habit of going its own way. So worry not, this won’t become the behemoth of badges. It will however provide a route for events that might not otherwise have a working badge.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.