This page is a collection of resources for my electronics hobby. I first became interested in electronics after watching Justine Haupt build a rotary cell phone. Initially, I was curious about the phone, but what really excited me was the notion that you could make your own electronic devices.
My Starting Place
I knew almost nothing about electronics and my programming knowledge was near zero.
My Current and Pending Projects
My first independent coding project is the Insta-Swear, a gadget that serves up a colorful swear word only when an authorized RFID card is swiped. I am currently learning how to program the Insta-Swear.
Later this summer, I’ll be working on two kit-based electronics projects. I’ll be assembling my own rotary cell phone, and I’ll be programming an e-ink watch using the Watchy kit. I’m looking forward to both!
I started out with the “Most Complete Starter Kit Mega 2560 Project” from Elegoo.
I also purchased a Circuit Playground from Adafruit, and while it’s cute and fun, I think I’ll get better mileage out of my Elegoo “box of parts,” as it will allow me to assemble a variety of things.
I’ve borrowed a multimeter, needlenose pliers, and a wire cutter from my husband’s toolbox.
Reflections on being a Beginner
Learning about Electronics is both easy and hard. It’s easy because you can buy a kit and follow the step-by-step instructions to make an LED light up or build a simple circuit. But if you want to do more than “cut and paste” other people’s code, if you want to understand that code and even write your own to make your own gadgets, you’ll need to educate yourself about computer hardware and computer software. And as a non-STEM person, it’s a lot to take in!
When I began using online tutorials, I quickly became frustrated. Most of the instructions came down to “paste in this code” but it was nigh impossible to grasp what that code was doing. Also, there were too many program languages involved. Should I learn Arduino programming? CircuitPython? MakeCode? Tutorials jumped around between these languages and I found them all confusing.
Choosing a Programming Language
Eventually, I had my “fuck it” moment, and I decided to focus on one programming language. MakeCode was too cartoony and Python made me want to murder people with my bare hands. So I decided to go with straight-up Arduino programming. So I researched what the Arduino IDE uses (C and C++), and then I told my husband one night, “So… I’m going to learn how to program in C.”
P is a software engineer by trade, and he thought it was funny that I picked C! Apparently C isn’t the most user-friendly language for beginners. But it’s a good foundation for a lot of other languages, and I instinctively hated Python. I needed to start somewhere.
It’s early days, but I think I’ll like programming in Arduino/C. You start out by shouting HERE ARE MY VARIABLES AND PINS! and then you USE those variables and pins. It’s all very orderly, like a queue in a Japanese train station. Personally, I find it soothing.
Side note: If Voldemort wrote code, he probably used Python.
If you are learning about electronics and you want to do less flailing around than I have, I recommend these resources:
Read Basic Electronics Theory by Delton Horn. This book has been great for understanding basic electronics concepts like: How does electricity work?, Which way does current flow?, and Why does it matter if components are arranged in parallel or serial? This is hardware 101. (h/t to Justine Haupt for the recommendation)
Watch the Crash Course Computer Science series to get a good overview of how computer science works. The historical details are fun, but it’s the discussions of how hardware and software interface that you’ll want to know for an electronics hobby. What happens inside an integrated circuit? How does memory function? This is all important info for visualizing what you’re doing.
Get yourself a paper copy of Beginning C for Microcontrollers and begin working through it. This book is geared toward electronics, and it’s also written for total beginners. This assumes you want to focus on the Arduino IDE, like I do.
My Next Steps
I’m learning how to write C, and when I have enough to go on, I’ll program my first custom gadget: The Insta-Swear.
Last updated: 3/07/2021