The ByteBarista team is holding an IoT workshop at NDC Oslo this coming June. We want to design a programmable gamepad so that attendees can focus on software.

This multi-part blog series describes our journey in trying to craft the coolest workshop gamepad we could possibly make. Mistakes were made. Lessons were learned.


Following the massive success of our first workshop, we soon decided that we wanted to do another one. When we got an invitation to hold a workshop at GDG (Google Developer Group) Devfest Trondheim, we immediately jumped at the opportunity.

Only problem was, this time we had two hours, not two days.

From our last workshop, we observed that the vast majority of the time was spent connecting together the hardware, and then getting it to actually work. While this might be a good learning experience for some, trial by fire arguably isn't the most efficient way to learn.

Glorious revision 2!

We wanted the attendees to learn as much as possible in such a short amount of time. Giving them a piece of hardware that they know works would enable them to focus their efforts on one thing, namely making the hardware actually do something.

So how did this all work out? Surprisingly well!

Some examples of what we saw people do was a simple musical instrument (very 8bit!), and driving a remote controlled car over MQTT.

The downside

Pictured: The downside

Although this way of doing things worked really well, it ended up being a lot of work for us. Since we started preparing a little too late (as always), making a custom PCB was out of the question for this round.

We had to manually solder a breadboard, 3d-print the button mounts, laser-cut the box and finally assemble it all at the end. This ended up taking us several hours per box, clearly unscalable and unsustainable in the long run.

Next episode

Here's a peek at our current progress. This is a PCB (Printed Circuit Board) ordered from jlcpcb.com. Stay tuned!

The Pad prototype - V0.1