In her new book Crash Test Girl: An Unlikely Experiment in Using the Scientific Method to Answer Life’s Toughest Questions, MythBuster Kari Byron presents all facets of her background as science experiments, stepping bravely through her education, relationships, career, and more, analyzing the lessons learned in each part and giving smart advice to readers based on the results. It’s surprisingly honest, highly useful, and totally hilarious all at once.
—Mike Senese, executive editor, Make:
I FEEL LIKE I WAS BORN A “MAKER.”
As an artsy kid, I was always busy constructing something. I even lived in a giant cardboard box rocket ship in my living room for as long as my parents could tolerate it. If you know my origin story (I love that comic book expression) and how I became part of MythBusters, you know I wanted to be a model maker and get into special effects. I sought out an internship at Jamie Hyneman’s M5 Industries so I could continue my love of making. I never realized there were so many out there just like me until MythBusters really caught its stride. That was right around the time I started to hear about “makers”and Make: magazine.
Every now and then I meet a maker that really impresses me, usually with a skill set opposite of mine. Technophile mom Debra Ansell of GeekMomProjects is just that. At a past Maker Faire I coveted her Twitter-enabled LED handbag. Nothing I love more than someone who is brilliant and creative! I started to internet-stalk her so I could ask about her origin story and find out what else she has in her glowing bag of tricks.
Were you like me, a maker even as a kid?
As a child I had a lot of project ideas, but was always very frustrated by the difference in the way I would imagine them versus the way they would actually turn out. I was (still am) clumsy and not very artistic. I think that much of my interest in making things now has been driven by computers and cheap microcontrollers which allow me to execute instructions with precision, as well as the availability of CAD and tools like 3D printers and laser cutters which make it so easy to transform an idea into a concrete object. These days, if a project doesn’t turn out as I expected, I have the ability to keep tweaking the specifications until it does. It’s such a satisfying process.
I hope to copy your headband project and impress my daughter. As a cyber native she will be a natural at a programmable DIY craft like that. How did it come about?
I was looking for a programmable wearable project that could be completed in a few hours by people without any special technical skills (sewing or soldering). Knowing the possibilities of the newest tiny microcontrollers, I kept mulling over ideas. My first idea was a handbag. The headband idea just evolved from that. I was forced to do a very small amount of soldering for the project, and create a super-simple PCB to connect the LEDs to the microcontroller, but other than that it is easily assembled with off-the-shelf parts.
How complicated can the light sequence get?
Because the CircuitPython LED code generator is drag and drop, there is a limit on the complexity of the patterns generated, though I’ve tried to make individual code blocks that represent relatively complex functions, e.g. “twinkling” the lights randomly or scrolling a phrase across the headband in Morse code. From what I’ve read the size of the Circuit Python code file is limited to 30–40KB, or about 250 lines of code. I’ve run into that limitation a couple of times and tried to compensate by reusing as much code as possible. There are also limitations on the amount of RAM available, so my code generator “Brightly” isn’t really good for programming long strings of lights (the headband has 14 LEDs, which is pretty close to the number you can have and still use my code generator to specify interesting patterns). The next generation of chips that will run Circuit Python are supposed to solve this problem with more memory and RAM, so I’m not going to try too hard to work around it at this point — I’ll just wait and let hardware solve the problem. You can still generate code for many different interesting patterns within the current limitations.
Your adaptation sounds like fun to play with.
I’m planning to make “Brightly” generally available — you can currently see it in action here. Drag and drop the code blocks from the menus on the left side of the webpage into the workspace to make the program, and then click the “Download Code” icon to download a CircuitPython file called main.py. I just want to tweak it a bit more, and hopefully add a bit of explanation before officially releasing it.
How’d you learn to program Python?
I took a year of programming in college (LISP and C), but I’m mostly self-taught, and as a result, I have a lot of bad programming habits. I first coded regularly when I was in physics graduate school at Cornell and used FORTRAN to evaluate my data files. That really dates me! I actually was employed as a software engineer for a while after graduate school, but I had no real official training, and cringe internally when I look back at my code from that time period. I tend to learn code on an as-needed basis for my various projects. I taught myself Python when I built a V-plotter because I wanted to create a cross-platform GUI interface, which Python does well. I also chose Python because it has a ton of built-in modules that handle complex image manipulation and large data arrays, which I needed for the plotter. It’s a really interesting language, and ridiculously powerful. I still don’t feel like I know it well, though.
It is hard to find fun tech projects that appeal to my daughter. I hear that sentiment all the time from my other mom friends.
I’m hopeful that the headband project is fun and accessible enough that it will appeal to girls who aren’t as excited by robotics or other tech projects. Programming your own clothing and accessories is a fun and unusual way to learn to code, and I hope it engages a wide audience of curious makers who might not have been motivated by other kinds of project.