SwagBadge2021 Status, blog and timeline
- 1 Status: Week of 2021-01-18. ONE WEEK TO GO. DO NOT PANIC. OK, PANIC.
- 2 Status: Week of 2021-01-04
- 3 Status: Week of 2020-12-07
- 4 Status: Week of 2020-11-30
- 5 Status: Week of 2020-11-15
- 6 Status: Week of 2020-11-01
- 7 Status: Week of 2020-10-25
- 8 Status: 2020-10-18
- 9 Status: 2020-10-11
- 10 Status: 2020-10-04
- 11 Recommendations for those who can't wait to get started
- 12 Origin Story Timeline
Status: Week of 2021-01-18. ONE WEEK TO GO. DO NOT PANIC. OK, PANIC.
We are one week out! The team is a carefully controlled frenzy of last minute preparation.
- Jon has sent out more badges to participants. Hopefully they'll arrive before the conference, but if not, attendees will be well educated after the conf to make use of them.
- We hung out on MishManner's livestream unboxing the Swagbadge. She's MCing LCA, so it was delightful to see her reaction to the badge. Missed it? Catch the replay!
- Andy has been feverishly updating Aiko to add the remaining hardware support, test the upgrade process further, get communications library sorted and more.
- Working out who was presenting on which topics and write our presentations (nothing says prepared like a last minute slide deck, right?)
- Completing our tech checks with the A/V team to make sure our stream quality will be gold star standard (fortunately Jon is already a pro with his SuperhouseTV channel)
- Write more docs. You can't ever have enough docs.
- Hang out with people on the Spectrum chat forums, providing support and enthusiasm.
- Paring down our hopes and dreams to things we can feasibly do before Friday.
Status: Week of 2021-01-04
Welcome to 2021. We are officially in the future! Thank you to everyone who submitted proposals for the open hardware miniconf. Acceptances are going out shortly!
The team had some much needed downtime over the festive period and are now spinning up again as we are just 3 weeks away from LCA. Mind you, down time just means we go slower, not stopped. Since our last update you'll notice we now have:
- a way to contact us easily, and share knowledge with the wider badge community via the Spectrum boards on github.
- lots more documentation flowing into the wiki to make those first steps smoother (we now have info on how to swap applications, and the start of the software development guide)
- hundreds of badges shipped out to participants
- 10% more hype
Let's take a look at the team behind the Swagbadge:
- Jon Oxer
- winner of the Rusty Wrench award in 2020 for services to the community, chief protagonist of OHMC since the dawn of time, master of the pick 'n place machine. He personally soldered many of the OLEDS and microcontrollers. He built a testing rig so we could verify each badge... and then tested every single one. He's also been our central logistics point, assembling everyone's package with badge and SAO sets and lanyards and stickers oh my, printing out addressing labels, working with his local post office to get every package registered and processed. The open hardware wiki is hosted on his servers.
- Andy Gelme
- rabble rouser, team stirrer and loyal minion to Astra 🐩 (everyone's favourite OHMC mascot). Full of ideas and visions for the future, Andy is the software maven, coming up with the architecture and producing the firmware so we're not all trying to build on base metal. He's driven parts around Melbourne to help split up the work of flashing microcontrollers and soldering headers. He's hosting the MQTT server the badges use. If you're after advice, you'll find him very active on Spectrum, enthusiastically sharing his wisdom. He's putting in all the hours to help us deliver a good experience to you out of the box and for years to come.
- Nicola Nye
- responsible for wild and unceasing flailing enthusiasm, comms, docs and our primary crash test dummy. She's a one-woman cheer army, sharing memes on twitter, using her experience as a newcomer to ensure that the documentation is friendly and not intimidating. She provides feedback to the rest of the team on the kind of problems that people might face when working with the hardware, particularly since we can't do face to face workshops this year. You'll find some of her code demonstrating some ideas on using the badge to help people get started.
- John Spencer
- electricity at his fingertips, the wiring embedded into the badge is his design, ensuring that all the parts are connected how they should be, mastering the constraints of placement both for components and for other limitations like having space for a lanyard hole! He soldered and snipped a bunch of oleds and microcontrollers and headers.
- Andrew Nielsen
- the king of beautimous design. He's the reason we have the delightful tux SAO, the swagman with his swagbadge on the back of the badge board and the capacitive touch sliders.
- and a cast of many more
- each year's OHMC stands on the shoulders of the ones in the past, with many OHMC alumni directly or indirectly adding their experience to the current year.
We wouldn't be here without every single one of their experience, passion, time and commitment.
Status: Week of 2020-12-07
If you'd like to present at the LCA2021 Open Hardware MiniConference, please make a submission. We welcome a range of topics and skill levels (newcomer to advanced). Submissions close on 2020-12-18.
- Helps you configure your badge for your local wifi when it first arrives
- Knows how to auto-upgrade itself by querying an MQTT server for information on the latest version and how to get from its version to the latest.
- Can do the essentials.
Jon built a testing rig where he's using one badge to test another badge. Testing all the pins on all the badges by hand would be an epic task, so the testing rig has saved hours of pain and suffering. Check out his SuperhouseTV video on all about testing the badge!
Nicola has been putting together some example code so anyone who likes extending the hardware with software can learn how to talk to the components onboard.
We sent an early access kit to Steph Piper of Elkei Education to play with and it wasn't long before she was up and running and Nicola had sent her messages of joy and boop boopiness to her badge over MQTT.
We'll be posting the first batch out next week to ensure they arrive in time for LCA 2021 at the end of January, given general posting delays with Covid restrictions, plus Christmas slowdowns. If you haven't signed up for LCA, now's the time to do it!
Status: Week of 2020-11-30
If you'd like to present at the LCA2021 Open Hardware MiniConference, please make a submission. We're aiming to address a range of topics and skill levels (newcomer to advanced). Submissions close on 2020-12-18.our article included in the December 2020 issue of Diyode Magazine. Australia's magazine for makers, hardware hackers and electronic enthusiasts, we're delighted to see Swagbadge in there alongside other incredible projects (see page 51). We're hoping it'll bring more people to LCA, to the OHMC and get them excited about open hardware in general. Maybe it'll help increase memberships at your local HackerSpace too ! The article provides a reasonable overview of the project with some background and some technical details we haven't covered here yet ... so, worth a read.
There was even more excitement with the announcement of Limor Fried as an LCA2021 keynote speaker !
On the badge front, the hardware is nearly all ready. Screens, switches and microcontrollers have been attached to 300 boards, and the excess headers trimmed off. We'll be gathering them together in one place soon, so we can flash the latest firmware and test that all the hardware works as expected by hooking each and every one up to a test rig.
This week sees us push the firmware to be a Minimum Viable Release, so that everyone's initial Out Of The Box experience is good. So this means we need to:
- Make it easy for everyone to connect their SwagBadge to their Wi-Fi router
- Getting the badges capable of self-updating to the latest firmware
- Prepare individual encryption keys so the badges can communicate securely
- Providing a couple of applications to run initially so the capabilities can be displayed
We'll also be writing up documentation so everyone can get a feel for the care and feeding of their badge and how they can extend it for themselves.
Status: Week of 2020-11-15
The amended PCBs arrive and they're all in top working order. So we split up all the components among the team to pre-assemble and test them so you don't have to:
- Erase and flash the Lolin32s with MicroPython
- Solder the headers on the Lolin32s, and solder these to the PCBs
- Snip off the excess headers
- Solder the OLEDs and switches to the PCBs
It takes around 10 minutes to assemble and test each of the 300 Swagbadges.
Check out our twitter @swagbadge2021 for a preview peek at a special SAO that will come with your badge too!
On the firmware, we had to deal with an unexpected Wi-Fi networking issue. It appears that our event loop code was consuming the processor and not allowing sufficient time for handling Wi-Fi, which in turn caused networking unreliability ... sometimes ! Fortunately, that issue has been fixed and at the same time a fairly extensive rewrite of the underlying Wi-Fi / MQTT connection, failure handling and re-connection threads occurred. Now we can get back to completing the out-of-the-box Wi-Fi client configuration functionality.
Our Open Hardware MiniConference was accepted, so you can expect more great sessions during LCA2021 too. We'll definitely be making time for discussion and exploration of the Swagbadge, as well as talks proposed BY YOU for the Open Hardware MiniConference, and a community-building session so we can make OHMC even better than ever!
We have some other exciting news, but you'll just have to wait til December for that. Soon, SOON!
Status: Week of 2020-11-01
The PCBs arrived on Sunday. What a lovely surprise! Yay! ... Except they have some bad wiring which was missed despite a bunch of review. Boo!
What happened? On the OLEDs, VCC and Ground pins were swapped. When OLEDs are soldered in this causes a direct short from Lolin32-Lite VCC and Ground which heats up the Lolin32-Lite regulator and then nothing much works. @jon tried patching (swapping) the OLED pin pads and this appears to work, so we can rescue this set of boards if we have to, but doing so to every single board doubles our build time and introduces another round of handling and potential error.
Fortunately! Our past selves knew that hardware is hard to get perfectly right first time and we allowed enough time - and budget - to do another round of PCB ordering with whatever fixes we need to squeeze in.
The SwagBadges are all owned by Linux Australia, and we are talking with them about the best way to reuse them and potentially recover some costs.
Our set of documentation is steadily being built out. We know we need:
- A quickstart set of instructions for every SwagBadge recipient, for getting going once they get their package in the post
- How to extend a SwagBadge, via software and hardware
- Where to get help (from us, and the wider maker community)
- List of materials and build instructions for the Dagbadge
- Newcomers' guide to electronics
Status: Week of 2020-10-25
Now that we have all the Lolin32 microprocessors, we need to put a fresh copy of micropython on there (this means we know what version is on every badge, and that there's no malware on board). We also need to put our software on there (the Aiko framework and the Swagbadge code). It would be more efficient to do everything at once, but Jon and Andy agreed it would be sensible to pay a bit more time up front double-handling the ESP32s and flash micropython (MP) now, and then handle them all again later when the rest of the software is ready.
- This lets us test if the Lolins are functional, nice and early, when we have time to do something about it.
- It'll save us some time later on when we'll be hitting the deadline prior to shipping.
We need 300 badges. Jon allowed for a 10% failure rate. So we have 330. They take about 5 minutes each to flash. It's a big job!
So far Jon has flashed MP to 35 Lolins successfully, plus one failure. This is about 10% of the total number with only a single failure, so already it's paid dividends in giving us some confidence that the hardware is (mostly) good. But the failure is also really interesting!
The bad one has been reworked at the factory, but unsuccessfully. You can see two solder bridges on the bottom pads. A solder bridge is where two components or circuits are joined together by solder, where they shouldn't be. A pad is the bit on the component used to connect the component to the board, via solder.
This is very interesting because it shows two things. First, they obviously do some form of quality control at the factory, otherwise they wouldn't have detected that this board needed rework in the first place. That's reassuring! Second, after the rework was done, it went in the "good" pile and was shipped to a customer, even though it still didn't work. That's bad! After taking the photo, Jon touched the bridges with a soldering iron (which removed the excess solder and "de-bridged" the circuit) and now the Lolin works fine. (They were so close to fixing it, but didn't quite get there. Strange.) Odd ones like these get set aside and kept as spares. They won't go into the general pool to go on a SwagBadge.
The PCBs have left Shenzhen and are finally enroute. We've nearly DDOS'd the DHL tracking page by obsessively clicking refresh, but they're meant to arrive in our hands (and hearts) by the end of next week. Then begins the long labour of love:
- Testing the boards
- Soldering on all the components (switches, screens, microcontroller)
- Retesting once they're assembled
SAO thoughts continue to evolve, with ideas ranging from madcap to enlightened genius turning up.
- Game controller
- Googly eye jiggler
Andrew has been turning his keen eyed skills into developing some of his ideas and you can get a sense of his works-in-progress on his PancakeLegend SAO git.
On the software side, Andy has been driving most of the work on the framework, exploring a lot of ways forwards so that the badges have the greatest utility to the most people... within the constraints of the footprint of an embedded style of device. Our set of tasks in the coming months encompasses:
- Stand up a wireless AP for wifi config if the device can't find anything to connect to on boot
- Give the devices the capacity to upgrade their framework upon request (this lets us continue to work on the framework in the years to come, without everyone having to learn how to manually do it themselves)
- A services framework in Aiko to allow devices to discover each other, and do so securely without exposing network traffic to the casual or malicious onlooker, or even to expose enough metadata about the traffic that who/when are communication could be inferred.
- A discussion around key signing: let people set up their own keys or revoke and update keys, or exchange keys to people who have made their own dagbadge.
- Code to support adding SAOs to any of the spots on the board without having to reconfigure a whole bunch of pin assignments.
- A variety of example applications and documentation to let people copy and embellish to bring their own magnificent ideas to life.
Our ideas for the community continue to grow and we hope to be able to invite you all to join us in early November:
- We're planning on setting up a gitter (or equivalent) attached to a consolidated git repo that contains all the hardware schematics, the framework and sample applications.
- Get y'all involved!
- Have an idea to build an SAO but don't know how? We'll hook you up with people who know how to build a SAO and are enthusiastic about seeing your idea become a reality.
- Know how to build SAOs but aren't sure what would be good? We'll find you some people who have ideas.
- Want to write neat software to make the badge do something?
- Built a badge/have a badge from another event and looking for a community to help you understand and extend it?
- Let's all stay connected, help each other out, and grow our expertise! It is, after all, the very essence of open hardware!
... We do have dreams of carrying these extensible badges forward to the years to come. They have so much potential as gaming devices, as communication devices, as environment sensors, as lolly rockets, and as carriers for heaps of shiny blinking leds!
2048 grams of OLEDs arrived. The PCBs are being fabricated, their soldermask is going on and we expect they'll be finished construction by the time this post goes to air, and will hopefully be sent to shipping early next week.
Since we sent the PCBs to the factory to be made, we've learned more about capacitive touch components and realise that we could have done a better job with what's on the board. It turns out it takes more than a week to learn everything there is to know about a new kind of component! Nonetheless, what we have provided will still work just great for plenty of purposes.
Because technology doesn't operate in a culture-free vacuum, we had a chat amongst the team about where we chose to have the PCBs fabricated. The factory of choice this time was JLC which we've used before. Here's a tour of their factory! Jon and Andy have visited it and others like it in person a few years ago, lucky enough to have attended a maker's tour of factories in Shenzhen. There's a series of videos on the tour to get a taste of what they saw.
Think building your own PCB is too hard? Think again! If you plan on building a custom SAO you'll want to learn how. The internet provides once again, with a video on how to build your own, but we plan to gather up some good resources as part of building out the Swagbadge so you can refer back to it in the future.
On the software front, we've been fixing bugs in the framework, discussing security around how people can get two or more badges communicating (or just an MQTT client talking to a badge), and our hopes and dreams for getting software and hardware interoperating in a modular way, thereby reducing the barriers that would otherwise stop people having fun with it.
Phew! The OLED screens are enroute as are the Lolin ESP32 microprocessors. The Chinese national holiday added a delay that had us all nervously refreshing the shipment tracking page. The PCB design is being finalised today and we expect to send that order off tomorrow. We hope this will give us a narrow window for a second run if they come back faulty in some way and still meet our overall shipping deadline.
This week has mostly been about making sure we had the design and components and layout on the PCB solid to meet our goals of something that would
- be useful right at the start without any additional components
- be elegant to look at
- function as a badge
- have the SAO extension points are in useful locations and pointing in useful directions.
- have space to include the important logos for the conference!
If you'd like to hear more about the PCB design, one of our team, the delightful Jon Oxer, runs a livestream most Sunday mornings. His latest episode talks about the swagbadge from about 34 minutes in.
On the software front, we're starting to think about what we want the badge to support from the moment you switch it on. (Including how you'll be able to configure it for your network). In coming weeks we'll talk about how you, our community, can get involved in the software side as well as the hardware side.
Project approved and announced ... #swagbadge hardware design underway ... #swagbadge major parts ordered ... #dagbadge BoM not yet finalized ... Core team (mostly) assembled and ready to start building the community ... SAO hardware community development not yet commenced (but ideas are brewing) ... #swagbadge firmware development is still flying under-the-radar !
Note: Whilst the #swagbadge major parts have been ordered (330x ESP32 microcontrollers and 660x OLED screens), we are already sweating on shipping delays !
Recommendations for those who can't wait to get started
- Play with microPython on-line: Select peripheral "I2C LCD", choose demo "I2C LCD" and press "Run script"
- Play with microPython on Unix: See section "The Unix version"
- Read up on SAO hardware add-ons: How to extend the #swagbadge using a 6 pin (2x3) connector with power, I2C bus and 2x GPIO pins
Origin Story Timeline
- 2020-10-04: #swagbadge project public announcement
- 2020-09-24: Preparing for initial public announcement
- 2020-09-17: GitHub repository: #swagbadge hardware created
- 2020-09-11: Assembling core OHMC team ... getting the band back together
- 2020-09-10: #swagbadge project green light ... we're good to go ! Trying not to spill the beans ?
- 2020-09-07: #swagbadge project proposal (goals, timeline and costs) sent to LCA2021
- 2020-08-26: #swagbadge project conception
- 2020-05-06: LCA2021 in Canberra "postponed" to 2022 and rebooted as on-line and world-wide for 2021 ... finally made it to Antarctica !
- 2018-01-22: LCA2021 GitHub repository: Aiko Engine for microPython incept date