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.

The first attempt

We held our very first workshop in September 2018, at the Equinor Developer Conference.

Equinor is a Norwegian multinational energy company, partly state owned, with around 20 000 employees. Their annual conference convenes its entire software wing in Stavanger for two days.

Our strategy was to buy microcontrollers and a wide range of components, and have the attendees assemble it together. Most of the hardware was delivered to the conference centre and ready to go when I arrived.

The Equinor staff showed their team-oriented culture by immediately offering to help with soldering pin headers to the 40+ microcontrollers. The hotel temporarily disabled their lobby fire detectors and we let it rip.

The verdict

The attendees were great at helping each other. They even started collaborating on a Wiki page during the workshop, to share code snippets.

However, even though we had two days for the workshop, there was simply too much to learn. Put another way, there were too many things that could (and did) go wrong.

Temperature and humidity apparatus, on a breadboard

Say, for example, that you wanted to connect a temperature sensor to your microcontroller and display the readings, as pictured above.

You connect it all together and run your self-made code, but nothing happens.

Why doesn't it work?

  • You failed to correctly connect either or both components
  • You have an error in your code
  • You have connection issues between laptop and microcontroller
  • You used the wrong device drivers
  • Something is wrong with one or more hardware components

It became obvious that we had to narrow down on the potential failure modes.

For the interested, Micropython code for the setup above is available here.

The lesson

Feedback was very positive and we all had plenty of fun, but it was clear we needed to make it easier for attendees to get to where he/she can interact with the hardware.

So, we decided to make some changes to the agenda for next time:

  • all soldering should be finished before the workshop
  • Micropython should be flashed ("pre-installed") to the microcontroller
  • components should be already fully connected to microcontroller

The two first points are easy to implement. But how do we offer fully connected controllers to our attendees?

..How about upgrading to protoboards? You can solder the connection wires directly on a protoboard. Here's a sneak peak:

Using a protoboard (green) to solder component connections

Success or fail? Stay tuned for next chapter.

The plug

ByteBarista is holding a workshop on June 17-18th as part of NDC Oslo 2019. Link here.