The Hackaday Superconference typically takes place in Pasadena, California around this time each year — but like so many events in 2020, COVID threw a decisively un-jolly wrench in that plan, forcing the event online under a new moniker: Hackaday Remoticon.
Things kicked off casually on Friday night with the Community Bring A Hack, hosted on the Remo Conference platform. The platform attempts to recreate networking spaces common to in-person conferences, with "tables" and "sofas" where participants can double-click to "sit" — which in this virtual world initiates audio and video communications with other "seated" parties. While the technology itself worked fairly well, it seemed as though many participants were either confused as to how it worked, or unwilling to interact — I successfully engaged in two conversations throughout the event, otherwise happening mostly upon attendees whose audio and video was not enabled. And much like real-life events, the popular folks were unobtainable (in this case due to a six-person table limit), so it was mostly a case of looking out for people you knew, or trying to be brave and make new friends (both of which I was lucky enough to be able to do!).
Punctuating the open networking/hack-sharing sessions were loosely organized presentations of the titular brought hacks, my personal favorite of which was RobotGrrl's Intelligent Buoy from her 2020 Hackaday Prize Dream Team Conservation X Labs. The session was extended twice to give time to more and more presentations, then everyone disbursed to prepare themselves for the very, very long day ahead tomorrow.
Oh, before we dive in, I highly suggest you open the official Remoticon 2020 Mix in another tab and let it play as you read...
Saturday began bright and early for me in Eastern Standard Time — and dark and earlier for those on the West Coast, where it was 6am! The first two sessions ran in parallel, and were Asmita Jha's Introduction to Firmware Reverse Engineering, and Naman Pushp's The Mechanics of FEA.
Jha's session was exactly the sort of stuff I was expecting from Remoticon; I mean, the name of the virtual machine image I installed the night before was
eXplIoT_OS_64BIT_1.ova for starters, and the haxx only got more and |\/|04R 1337 from there! Using our pre-configured h4x0r VMs, Jha walked us through a series of labs, using tools like binwalk to dive inside firmware binaries, then tease out their secrets and exploit their vulnerabilities. I would have been happy to spend many more than the allotted two hours doing labs, and maybe I'll get a chance to, since there's a rumour that Jha may teach a HackadayU course on the topic next year!
I wasn't sure what to expect from Pushp's course. My curiosity was piqued by the simple materials list: tongue depressors, paper, tape, scissors, string — what are we going to make? And why? The answer delighted me, as Pushp walked us through the creation of various logic-defying structures — similar to the "impossible table" pictured below — as well as a detailed analysis of the principles that enabled them.
The 11:15 (Eastern) slot had three workshops to chose from, and since attending two simultaneously was already pretty extreme, I had to sit out Sebastian Oort's Soldering, nothing to be afraid of! — which thankfully is not a phobia I find myself afflicted with.
One topic I did want to learn more about was Anool Mahidharia's KiCad to Blender > Photorealistic PCB renders. I'd attended Mahidharia's KiCad course on HackadayU, and have such high respect for his skills that I'd gladly have attended a session called "Photorealistic paint drying" if he was teaching it! But I'd seen some of Mahidharia's renders already, and was so comprehensively blown away by them that I wanted to learn how he'd made them, plus, like him, I've been putting off learning Blender, and thought this might motivate me to get on with it! While the video for this session is not available yet, Mahidharia has written up a handy cheat sheet, and the accompany GitHub repo is full of glorious renderings that will probably make you want to give it a try too!
The other session I attended at this time was Uri Shaked's Live Breaking into Encrypted 3D Printer Firmware. This session was somewhat similar in topic to Jha's reverse engineering workshop, but was more like a real-time collaborative treasure hunt! Shaked began by explaining some basic concepts, and then shared his motivation for getting into firmware hacking in the first place: dissatisfaction with a 3D printer he'd backed on Kickstarter. We then recreated his experience by all working together in a shared Google Doc and Colab notebook to determine what kind of hardware we were working with and how to break into it. There was even some actual treasure of sorts, as Shaked provided giveaways of his upcoming skull badge to participants who came up with the right solution first!
Next up was the opening keynote "The Politics of Engineering" by Kipp Bradford. His talk was a beautiful, powerful treatise on the impact of engineering decisions on people, and I highly recommend you give it a watch.
Next up, Kelly Heaton, Jiri Praus, and Mohit Bhoite's Circuit Sculpture Workshop was one of the most delightful sessions of the weekend. Participants used brass rod or wire, along with whatever components they could get their hands on, to create electronic creatures (mostly fireflies), complete with glowing LED abdomens!
At 3pm, Alex Whittemore took a deep dive into the Basics of RF Emissions Debugging. As anyone who has ever tried to turn a project into a product knows, or will find out soon, there are strict RF compliance requirements in the US, in order to ensure that your fancy new IoT doo-dad doesn't interfere with people's...rabbit-ear TV, or cordless telephone, or ... some ... thing that people actually use in 2020 perhaps?! Anyway, it's important, and it's the law, and it's expensive, and you have to keep paying for expensive tests until you get it right. Unless you follow Whittmore's prescription for creating your own probe and receiver (I think I spent about $25 for the one piece of hardware that I didn't already have lying around). The video for this one is available, as are the accompanying slides.
5:15pm rolls around, and this time it's a 4-way battle for my attention, which I just couldn't attempt. I'm already extremely familiar with Edge Impulse, so I made the difficult decision to skip Shawn Hymel's Tiny Machine Learning session, although knowing Hymel, I'm sure it was excellent, and you can determine that for yourself since the entire session is available online. The other session which I had to forfeit was Guy Dupont's Prototyping to the Max, which explored techniques for using graphical programming environments like PureData (Pd) and Max.
The first of the two sessions that I did attend in this slot was Introduction to Modular Synthesis using VCV Rack by Jonathan Foote. VCV Rack is a free, open source Eurorack simulator — meaning that you can get started with modular synthesis without spending hundreds — if not thousands — on gear. I'd actually been lucky enough to attend a talk by Andrew Belt, VCV Rack's creator in the past, but had somehow still not managed to get around to installing it, so was excited to give it a go in this workshop. Foote was a delightful tutor, covering not only how to create all manner of sounds with Rack's complicated interface, but also just enough music theory and physics to understand how these sounds were being created.
The second parallel session I attended was Robert Nelson's MachineChat - JEDI One - A Universal Sensor Hub. This session was just the sort of thing I'd expected from Remoticon — wall-to-wall Raspberry Pis, Arduinos, ESP32s, sensors, and soldering. Nelson is an engineer at Digi-Key, which perhaps explains how participants in this workshop were able to receive — free of charge — an ESP32, temperature sensor, power supply, and USB cables — everything you need, except somewhere to run the Arduino IDE. In this case we ran it from Raspberry Pis, which also played host to the Machinechat JEDI One software, allowing the quick creation of a dashboard to display sensor readings. This entire session is already available on YouTube, so stop reading my brief overview and go watch it for yourself!
A glitch with my ticket meant I was a bit late to Charlyn Gonda's Making Glowy Origami, but the portion I did catch was amazing! I've made origami before — but nothing like this! Using a complex series of folds, we made several structures that were perfect for diffusing LEDs — the "low-poly" surfaces created really interesting effects as they caught the emitted light at different angles. Gonda's session also had a wonderfully cozy, chill vibe, which served as a delightful counterpoint to the intensity of the day so far.
Ruben's workshop was another of these "I've seen this cool thing and I'm excited to finally get around to trying it" sessions. I'd seen the tweets of all the cool things people were doing with this technique, but just not found time to investigate it for myself. Ruben is a natural in this format, and lead a really fun, friendly session where we all learned about the technique, the specific details of how to achieve it, and some amazing examples of how she and others are using it, and then attempted it for ourselves and shared our (often rather varied!) results. The STL file and slides from Ruben's workshop are available for download on her web site while we await the availability of the corresponding video.
The Learn How to Hack a Car session with Reddy was again the type of content I'd been expecting for Remoticon — the sort of stuff that makes headlines as people successfully liberate the technology inside the machines that surround them daily. Rather than everyone heading out to their garages, we used ICSim to create virtual vehicles on our Linux machines (sorry, other OSes were not supported for this workshop), and
can-utils to talk to them. I unfortunately experienced an issue with my software setup early on, and fell behind while I rectified it, but the course gave an excellent overview of the underlying technology, as well as how to exploit it, so I'm looking forward to exploring further on my own time in the future.
The level of participation required for the other two workshops unfortunately made it rather difficult to keep up with Schlaepfer's PCB Reverse Engineering session, which I was rather looking forward to. Schlaepfer invited participants to bring a two-layer PCB or follow along with the class, essentially recreating missing BOMs and schematics for boards which lacked them. The good news is that Schlaepfer's session is already available on YouTube, so I'm looking forward to catching up on what I missed there.
In addition to the paid workshops, there were also free demos streamed on Hackaday's "HackadayTwo" Twitch channel. Due to the extremely hectic itinerary detailed above, I wasn't really able to participate in these, although I did make sure to stop by my friend Alfred Gonzalez's presentation Private Edge-Based Voice AI for Everything, which demonstrated the use of Rhasspy on MATRIX Labs' Creator board, to create a cloud-free privacy-focused Alexa-style voice assistant. Because the demos took place on Twitch, all are available to stream again right now.
After close to a dozen hours of workshops (more if you count all of the parallel sessions!) the day wrapped up with a keynote by Alfred Jones, Head of Mechanical Engineering at Lyft’s Level 5 self-driving division, and the 2020 Hackaday Prize Ceremony. Both are available on YouTube, so I won't recap them in detail, but will say that it was nice to end the day sitting back and regarding others' brilliance after an intense 12 hours of hands-on workshops' successes and failures.
After a punishing (yet wonderful) agenda on Saturday, I was overjoyed to see that Sunday's sessions didn't start until 3pm, and only lasted a little over four hours. Not that I wouldn't love to just spend all day every day for the rest of my life ingesting amazing workshop knowledge, but the first day was just so intense that I knew I couldn't make it through another like it back-to-back.
One of the highlights of the weekend was Helen Leigh's Finding Sound and Making Microphones (wsg Robyn Hails!). While it's easy to lament our current inability to have in-person events and liken virtual events to just another Zoom meeting like we all have all day every day now, Leigh and Hails absolutely demolished the fourth wall, making for an incredibly friendly and inclusive event. In the workshop, we took inexpensive piezo microphones, soldered them to 1/4" audio jacks, and then suspended the result in an embroidery hoop, creating a functional microphone from just a few dollars' worth of parts. Leigh and Hails gave wonderful context and demonstrations based on their musical backgrounds — for example, Leigh was able to connect her piezo mic to the effects rack in her studio, adding a wonderful delay effect to her singing, and Hails gave us a quick overview of how to manipulate found sounds in Ableton. The pair were happy to answer any and all questions (I worry that about 90% of those came from me!) as well as assist with any snags anyone ran into, and then invited everyone who was comfortable doing so to share their creations over Zoom at the end. In addition, we were furnished with all kinds of fun ideas for what to try next, for example freezing piezo mics in ice cubes and recording them as they thaw!
Also during this time slot was Josh Conway's Radi-uhoh: What Is This SDR Thing and How Do I Use (sic). The session was comprised primarily of an extremely in-depth look at the principles of radio waves and SDR (Software-Defined Radio), as well as the hardware and software required to use it. Despite Conway's warnings of SDR's propensity toward consuming your wallet, I was able to get started with a $25 RTL-SDR dongle and a Raspberry Pi 3 (update: Pi 4 support now in beta) that I already owned. Conway's entire session is already available on YouTube, and the accompanying slides can be found on GitLab.
In case none of these sessions appealed, two more workshops were available on the Twitch channel during this time: the first on "Designing an Artificial Heart", and the second called "0 to ASIC (Application Specific Integrated Circuit)" — and as with all Twitch-hosted sessions, they are available for re-watching immediately.
I'm sure that as you read this, you're wondering if you can handle much more, as I did heading into the last batch of Sunday sessions. But please try to stick it out like I did, because there's some good ones coming up!
First up was Twilio's Christine Sunu with Crowd-Controlled Robots. This workshop was hosted on the same Remo platform as the Friday night event, and was quite different in format to most of the Zoom/Twitch sessions. In fact, it was actually quite similar to the Bring-A-Hack; Sunu started with an overview of internet-connected robots and techniques for connecting them. I was particularly excited when the topic of Roombas came up, since I actually first got into the hardware scene when I read Tod Kurt's Hacking Roomba, precipitating ordering my first Arduino from SparkFun back in 2007! Participants broke off into groups to create projects together — not really involving Roombas, as much as projects of any kind which improve people's remote experiences and ability to connect in these online-only times. I didn't participate in a group since I knew I wouldn't be able to commit fully while attending other sessions in parallel, but the portions I attended were a lot of fun!
Another pinnacle for me was Matthew Alt's The Hackers Guide to Hardware Debugging. Sure to be considered Remoticon core curriculum, Alt took us through the process of hacking a clone XBox One controller as only he could, with a combination of authoritative confidence in the subject matter and the ability to engage with participants at all technical levels. I had the pleasure of attending Alt's Introduction to Reverse Engineering with Ghidra course during the inaugural semester of HackadayU, and he continually blew me away with his seemingly limitless expertise while making content enjoyable and accessible to students of any level. After some brilliant tuition on SWD and the DAP, we interactively probed the epoxied chip to see what that blob was hiding. I supposed I'd better not reveal any spoilers about what we discovered since the entire two hour session is available now on YouTube! Unfortunately we ran out of time just as we were moving into the JTAG section of Alt's planned curriculum, but the good news is that he has blog posts where he dives into SWD and JTAG on his blog.
The third session during this time slot was Kier Mierle's Give Pigweed a Whirl. Before this session I honestly had no idea what Pigweed was, or why I should give it a whirl, but I was quite impressed with the framework as presented by the leader of its development team. Coming from a software development background, I've often been frustrated or frankly astonished at the state of some aspects of embedded development. Countless custom IDEs based on a version of Eclipse from 10 years ago, a lack of linting, unit testing or CI capabilities, and the inability to iterate rapidly are just a few of the scarring memories I can recall from recent experience — and Pigweed seems to be Google's answer to many of these complaints.
But wait, there's more! In addition to the workshops, more sessions were streaming at the same time over on Twitch; I unfortunately was not able to catch Peter Bosch's IC Reverse Engineering On a Shoestring, but I did manage to spend some time learning How to Create Guides that People Actually Use from Billie Ruben (yes, the same Billie Ruben that was 3D printing on fabric above!). If you've seen any of Ruben's 3D printing posters, then you'll already be familiar with her demonstrated expertise in this area. Ruben provided a framework for structuring your guide ("Why? / What? / How? / What If/Next?"), as well as useful tips and things to keep in mind, such as that "adults learn things in order to do stuff." We also had a good conversation going in the chat, sharing tips and ideas with the likes of seasoned maker @BarbMakesThings, making for a fun, interactive learning experience. In addition to the Twitch video linked to above, Ruben's slides are available on her web site.
And just like that, it was over. No closing keynote, no final hangout and goodbyes on the Remo conference platform, just...clicking the "Leave Meeting" button on Zoom, and then...a slow descent into withdrawal until the next virtual — or maybe, let's hope — in-person event next year!