Close

Hack Chat Transcript, Page 1

A event log for Superconference Badge Hack Chat

How fast can you make 500 of something that doesn't exist?

tom-nardiTom Nardi 12/21/2023 at 03:150 Comments
Andy Geppert  2:39 PM
Questions for the queue: What dev environ did you guys use (Linux… tools)? What magic automation was being used when Elliot walked around with the [vintage] laptop and micro USB connection to make “keyless updates” happen on the powered and unpowered badges?
Elliot Williams  2:46 PM
Hey Andy! (Fires up laptop to see if he still has that script on it.)
Andy Geppert  2:54 PM
Elliot, not sure if you caught the expression on my face when you upgraded my badge Friday night, but it was along the lines of a Keanu Reeves “Woah.”
Voja Antonic  2:59 PM
Hi everyone!
Elliot Williams  2:59 PM
That was super fun to walk around like the badge fairy waving my magic wand. (Ignoring that the initial bug was of my own making...)
Dan Maloney  3:00 PM
Hi everyone, welcome to the final Hack Chat of 2023. I'm Dan, I'll be modding today along with Dusan as we welcome Elliot Williams and Voja Antonic to talk all about the 2023 Supercon badge.
SimonAllen  3:01 PM
Looks like it is time
Dan Maloney  3:01 PM
And my apologies in advance if my fingers throw a y into Voja's name -- they have a mind of their own
Voja Antonic  3:02 PM
It's OK, I had to change it to Voya on the Uber account, now it's properly pronounced!
Dan  3:02 PM
How do i join the chat or see the video?
Dan Maloney  3:02 PM
We usually do a tell us about yourself bit here, but I don't think either Elliot or Voja need my introduction
Boian Mitov  3:02 PM
Hello everyone :-)
fid  3:03 PM
Greetings everybody.
Voja Antonic  3:03 PM
I didn't contribute much, just a visual design and PCB project...
Dan Maloney  3:03 PM
Hi Voja, welcome aboard! Elliot, are you out there too?
Voja Antonic  3:04 PM
well, a few PCB bugs too... :))
Dusan Petrovic  3:05 PM
Hi Voja!
Dusan Petrovic  3:05 PM
Long time...
SimonAllen  3:06 PM
@Dan, unless I am mistaken, I think this session is Text only. I'm sure others will jump in if I am wrong.
Dan Maloney  3:06 PM
Bugs are important too -- they keep us humble ;-)
Elliot Williams  3:07 PM
Alright! Voja's probably on his way over. I'll start up with Andy's question, b/c it was fun, and b/c there's some good last-minute hacks. :)
Tom Nardi  3:07 PM
@Andy Geppert The updates were done with mpremote -- basically the script just waited for a new device node to pop up, waited a second for it to settle down, and then pushed out the fixed file. The badge automatically would reboot after the copy operation completed, so it made it easy to tell when it was done.
Voja Antonic  3:07 PM
Yes, I'm in digital hardware and firmware for a long time, and I can say that a few decades ago there were much less bugs
Voja Antonic  3:08 PM
but today they are a normal thing
Thomas Shaddack  3:08 PM
Then we die and the bugs eat us. Circle of life.
Dan Maloney  3:08 PM
What do you think is behind that? Maybe the ease and low cost of producing a board make it more likely to ship off a design that's not ready?
Andy Geppert  3:08 PM
You’ll be remembered for the features, not the bugs!
Elliot Williams  3:08 PM
So the short version is: between Al's operating system and my demo code, there was a race condition. Both were calling the garbage collector, which pauses everything until it's sure which bits of memory aren't being used and cleans them out. This includes disabling all interrupts.
Dan Maloney  3:09 PM
IOW, it's all PCBWay's fault...
Elliot Williams  3:09 PM
But when my code _and_ Al's OS ran the GC at the same time, which happened every so often, but totally randomly, it would never wake up.
Voja Antonic  3:09 PM
Could be, but I think that it could be matter of motivation to work on a project.
Elliot Williams  3:09 PM
The fix was a simple stop garbage collection in the OS command, which I think Al even wrote a nice function for. I just needed to call it. :)
Dan Maloney  3:10 PM
What kind of bugs did you have to deal with on the badge PCB?
Voja Antonic  3:10 PM
At that time you were a real lover of your project and you had a lot of time to make it right, you were not pushed to finish it before a deadline
Elliot Williams  3:10 PM
And the beauty of MicroPython on the badge -- it's just another file. So all I had to do was copy the supercon_menu.py file over.
Elliot Williams  3:11 PM
And the magic: using mpremote, which lets you copy files across the serial line.
Elliot Williams  3:12 PM
So what I did was write a quick one-liner, which is _still_ in the long history scrollback on my laptop, which looped forever, looked for a new serial connection on the laptop, copied that file over, and then waited for a new serial device.
Voja Antonic  3:12 PM
The main and really frustrating one was when I switched Drain and Source terminals of the power switching MOSFET
Elliot Williams  3:12 PM
`while true ; do if [ -f /dev/ttyACM0 ] ; then mpremote cp supercon_menu.py : ; fi ; done`
Voja Antonic  3:13 PM
It didn't show up if you didn't have both batteries and USB power ON
Dan Maloney  3:13 PM
BTW, looks like Elliot is on the wrong channel. I'm trying to get his attention to move over here
Elliot Williams  3:14 PM
The real magic was Tom's flashing setup, though, which did basically the same thing and let us flash all 500 badges in about three hours. Same basic loop: look for a new USB thumb drive, copy the image over ; repeat. So we just held down the boot button, plugged them in, and waited 20 secs.
Elliot Williams  3:15 PM
(Which is all to say, bunch of Linux on our side.)
Andy Geppert  3:21 PM
Thanks for the details and script info. That is an area I want to grow in, automation of that sort.
Elliot Williams  3:21 PM
Hello!
Elliot Williams  3:22 PM
Can anyone hear me?
Dan Maloney  3:22 PM
Hey all, I'm detecting some weirdness with the chat. I have to reload the page manually to get messages updated. Might be the same for everyone, @Tom Nardi reports the same thing. Sorry if this becomes a problem, I'll see if I can get some help
Andy Geppert  3:23 PM
Same here - I’m getting out of sync and not realizing it.
Elliot Williams  3:23 PM
(Yeah, I'm having to hit refresh too.)
Dusan Petrovic  3:23 PM
Same here
fid  3:24 PM
Hello Elliot.nmy screen for the chat is not refreshing so I have to manually refresh. I also tried it on my phone with the same result. It is only a click, once in a while.
Dan Maloney  3:26 PM
I pinged @Richard Hogben, hopefully he's around
Elliot Williams  3:26 PM
I'm just hitting refresh continually and it seems to keep me up to date. Workaround!
Voja Antonic  3:27 PM
Same with me. I was waiting too long until I refreshed it, just to see a million messages
Richard Hogben  3:27 PM
hmmmm
Jose Rodriguez  3:28 PM
Inquiring minds want to know: will more badges be produced?
Dan Maloney  3:28 PM
And here I was thinking everyone had settled down for a long winter's nap already...
Voja Antonic  3:29 PM
Imagine having a conversation with someone and you have to kick him to make him all his sentences from the FIFO
Elliot Williams  3:29 PM
Anyway, I saw that question about the bugs, and let the record show that Voja's solution to the MOSFET pins was awesome -- you can desolder the SOP-23 or whatever, flip it over, and glob enough solder on that it works upside-down and mirror-imaged. But needless to say, that doesn't scale to 500 badges all that well.
Elliot Williams  3:30 PM
So in the end, we found a diode array that did essentially the same thing, had the same footprint, and the only cost is the (shottky) diode drop in the voltage. No worries.
Dan Maloney  3:31 PM
The bigger the gob, the better the job...
Elliot Williams  3:31 PM
Funny story: I went googling for MOSFETS with the pin-order reversed, and found three different forum posts with people asking the same question b/c they'd switched drain and source too. (And sadly such a MOSFET pinout doesn't exist. Market niche?n)
Ha I just assumed the having to refresh thing was how hackaday.io's chat was supposed to work. It's kinda been like that for a while.
Voja Antonic  3:32 PM
@Jose, it's a frequent question about producing more badges for non-attenders
Elliot Williams  3:33 PM
@Jose Rodriguez More badges? Yes, actually for an upcoming Hackaday Europe. They'll be basically the same thing, but re-skinned.
fid  3:34 PM
Also in the end, the Supercon attendees had a blast with the badge even after the Con.
Voja Antonic  3:34 PM
maybe needs to be discussed. We never produce more badges for market, but the project is open and everybody can make it
Elliot Williams  3:35 PM
I just saw [Instant Arcade] wrote a circular pacman for it. Can't wait to try that out!
Thomas Shaddack  3:37 PM
Thought. A circuitboard shim, half-millimeter thick, that swaps the pins.
Elliot Williams  3:37 PM
@fid I hope so! (BTW: was nice to meet you there!)
Andy Geppert  3:38 PM
One went on eBay for >USD160 last night!
Dan Maloney  3:38 PM
With castellated edges to solder to the original pads. I like it.
Elliot Williams  3:40 PM
I saw Voja above saying he just did the PCB -- but a lot of the coolest touches on the badge are his. That bike chain link to connect the expansion board? (Hell, the entire expansion board.) The multiplexing that let us use so many LEDs and buttons? The whole visual design? That's all Voja's good work.
Elliot Williams  3:40 PM
@Thomas Shaddack That would work!
Andy Geppert  3:42 PM
Did you (or the fab house) build a test fixture to test the assembled boards?
fid  3:44 PM
@Elliot Williams was glad to see you again.
Elliot Williams  3:44 PM
@Andy Geppert Ooh.
Voja Antonic  3:44 PM
Bruce, Giovanni and Kino did it in the Design Lab
Elliot Williams  3:45 PM
The Design Lab folks did all of the testing on them. I don't know what they had for a fixture. I wrote some quick demo code that make the screen / buttons / LED light up, and I think they ran that.
Elliot Williams  3:45 PM
@Voja Antonic do you know anything more about that?
fid  3:46 PM
laptop shut down with 40% battery. Had to switch to phone.
Voja Antonic  3:48 PM
@Elliot Williams I don't know much, just saw it there. But there was so much job to do that I didn't have time to discuss
Voja Antonic  3:48 PM
The most famous bug in the badge history was on the SDR radio on the DEFCON. I read that they had to bore a precise hole from the bottom to cut a track under the BGA chip on the top layer. The same on 15,000 badges!
Elliot Williams  3:48 PM
:) I know they had a ton of volunteers from the local hackerspaces and the Design Lab community. They could have done it all by hand!
Voja Antonic  3:50 PM
@Elliot Williams Missed post again. Now after refresh i see that I answered the wrong question.
Elliot Williams  3:51 PM
@Voja Antonic All good. I think we're in sync now. :)
Dan Maloney  3:51 PM
Sorry about all the fuss. One last reload should fix it though.
Tom Nardi  3:51 PM
Yeah, timeline seems to be restoring itself to normality
fid  3:52 PM
I'll set it sit and see if I'll need to restart the browser. Not seeing refreshes, yet.
Thomas Shaddack  3:53 PM
never stopped seeing them here. maybe there was a self-healed delay though.
Elliot Williams  3:53 PM
I will say, with this badge, we really could have used another week or so to spend on the software. The hardware was really only half the battle, and we underestimated the time it would take for the software.
Elliot Williams  3:54 PM
We could have _really_ used a week to just sit around, play with the software, and write up good docs to help all y'all get started easier.
Elliot Williams  3:55 PM
Last time, Voja's computer badge, we had the advantage that it was designed during COVID. And Voja already had a full-fledged instruction manual written for it.
Voja Antonic  3:55 PM
So should we expect the manual for this one?
Tom Nardi  3:56 PM
Was nothing quite like seeing people show up with printed and bound copies of the badge documentation that year...
Thomas Shaddack  3:56 PM
stupid question from an indoor-dwelling housecat. what's the cultural significance of this kind of badges? i see them talked about year after year...
Elliot Williams  3:56 PM
This time out, we were still writing some of what would become the main firmware demos at 10:00 AM on Thursday. :)
fid  3:57 PM
A full manual for this badge could be community driven with all of the expertise in the Alley badge hacking and sharing.
Elliot Williams  3:57 PM
@Voja Antonic I'll definitely put some time in on better docs before we re-run the badge in Europe.
Voja Antonic  3:58 PM
@Elliot Williams That's good! I'd be happy to help.
Elliot Williams  3:58 PM
@Thomas Shaddack Oh man. Badges. For this crowd, it's basically "we put together some fun toy for everyone to hack on".
Elliot Williams  3:58 PM
@Thomas Shaddack Other conferences, they're more like puzzles or challenges.
Tom Nardi  3:59 PM
@Thomas Shaddack If you go back long enough, the intent was to use them as a form of authentication at large cons -- basically a ticket for couldn't forge. But for Supercon, I'd argue it has become a central theme of the event itself. I think plenty of people come just to hack on the badge with like-minded folks in the alley.
Voja Antonic  3:59 PM
A long ago, DEFCON had radioactive stone as a badge...
Elliot Williams  3:59 PM
@Thomas Shaddack For the Hackaday folks, we try to make them a canvas for people to play with. The trick is making something that the hardware folks and the software folks can all enjoy equally.
Dan Maloney  4:02 PM
Well, it's top of the hour, but I don't want to shortchange anyone given the tech problems we had. So let's keep things going as long as Elliot and Voja want

Discussions