2018 Open Hardware Summit badge

Notes from the presentation by Drew Fustini (@pdp7) on the OHS18 badge at the Alternative Computing Club meeting in Chicago

7152801540053994087


What is #BadgeLife?

Screenshot from 2018-11-17 13-56-50

Motherboard article: “A History of Badgelife, Def Con’s Unlikely Obsession with Artistic Circuit Boards”

Badgelife documentary by Hackaday


2018 Open Hardware Summit at MIT

cropped-ohs2017

Here is my brief overview of the badge on stage at the Summit:


Hackaday.io project for the OHS18 badge

Screenshot from 2018-11-17 13-51-07

OSH Park and Screaming Circuits produced an electronic conference badges for the 2018 Open Hardware Summit. Hardware design by Alex Camilo based on concept from ESP trINKet by Mike Rankin. Features for the OHS18 badge: ESP32 microcontroller with built-in WiFi; E-Paper to display the badge wearer’s name; badge wearer can update the displayed text from phone, tablet or laptops. Powered by 2x AA batteries.


This project was developed by a team of wonderful people that came together on Hackaday.io, in particular, this badge could not have happened without Alex Camilo and Michael Welling!


OHS18 Badge documentation website

DsKg8H4WkAAFeB0

OHS18 Badge: MicroPython documentation

screenshot-from-2018-11-17-14-13-10 (2)

OHS18 Badge: Accelerometer demo

4936801540051902972

OHS18 Badge: Magic 8-Ball MicroPython game

Screenshot from 2018-11-17 14-23-23.png

Python REPL using the serial port

DosSfNPWwAE-ldB

To use the interactive Python prompt (REPL), press the menu button on the badge and select Serial REPL from the Available Apps menu.  The terminal emulator connected to the serial port should then display the interactive Python prompt (REPL).  You can type in MicroPython code to experiment.

MicroPython WebREPL

dqxvhfawoaal9hj (1)

he 2018 Open Hardware Summit badge runs MicroPython firmware which allows for an interactive programming experience known as the REPL:

Getting a MicroPython REPL prompt

REPL stands for Read Evaluate Print Loop, and is the name given to the interactive MicroPython prompt that you can access on the ESP8266. Using the REPL is by far the easiest way to test out your code and run commands.

There is an USB-to-serial adapter board which be used to access the REPL on the badge via the serial port.  However, a simpler option is to use the WebREPL:
webrepl-browser

Learn to Solder add-on board

41931822_10217675772634508_6864049649649451008_n (1)

The OHS18 badge also features the DefCon 26 #badgelife add-on header.  Andrew Sowa designed this OSHWA-themed Learn to Solder add-on board to connector the badge add-on header:

#badgelife add-on adapter for Adafruit LED matrix 


Programming jig to flash 300 badges

Alex Camilo created this wonderful programming jig!  Drew was able to use it to program all 300 badges and provision the names of the 150 people that pre-registered in time.  Thanks so much to Artisan’s Asylum makerspace near Boston for giving us a space to work on the badges before the Summit!

Brian Benchoff writes on Hackaday:

The Exquisite Badges Of Open Hardware Summit

The boards were made through OSH Park, and Screaming Circuits took care of the assembly. Anyone who has ever built a badge will tell you it isn’t the assembly that gets you — it’s the programming and provisioning. This is especially true since the Open Hardware Summit badge is distributed with the attendee’s names already preloaded. That’s a few hundred badges, all with unique firmware. This is a nightmare by any definition.

However, there’s always a good solution to a problem, and [Drew] from OSH Park showed me the best programming jig I’ve ever seen during the Summit pre-game at Artisan’s Asylum.

What you’re looking at is a 3D printed box loaded up with a touch-screen display, a Raspberry Pi Zero W, and a few pogo pins. This Raspberry Pi does all the heavy lifting by connecting to the Internet, pulling down the current version of the firmware, and loading that firmware onto the badge. There are a few more options thanks to the touch-screen interface, including provisioning all the badges with the names of the attendees — this can be done by reading a list of attendees and uploading the next one to the badge in the jig. All of this is wrapped up with a nice laser-cut cover that securely holds each badge exactly where it needs to be for the pogo pins to make contact.

This is, without question, the best programming jig I’ve seen. Any badge makers out there should take note: this is how you program a few hundred badges. The badge, itself, is great and just as this post is published there will be hundreds of eager hackers futzing about with this remarkable piece of hardware. If you want to check out the current progress of the badge hacking, check out the updates on Twitter


Lesson Learned:

  1. Badges should have built-in USB port:
    • USB connector makes it easy to multiple volunteers with laptops to flash firmware onto the badges in parallel, versus having just one programming jig
    • USB connector makes it easier for people attending the Summit to experiment with modifying the firmware and developing their own functionality
  2. Pretend that the deadline is 1 month before the event
    • We originally had the goal of being ready on September 1st for the September 27th conference, but we allowed ourselves to push the deadline for final firmware release to the day before the Summit.  That meant staying up all night to flash the updated firmware on to the badges
    • We should have identified the minimum feature set and simplified the functionality sooner in the design revision process
    • We should have planned that we would have 3 hardware revisions and allowed for it in the schedule


Bonus Material:

Video: E-Paper under microscope!

Video: solder paste reflow!

2018 Open Hardware Summit badge

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s