Learning how to gosh-darn hardware

Projects Leave a Comment

Before this weekend’s Anvil Hack, the most experience with circuitry I’d had was minor dabbling during high school physics lessons (and learning how to build a computer from components too). I knew how to wire a bulb up to a switch and battery, and maybe a motor too. Programming wise, a very sudden love that blossomed after taking a Computing AS Level at a whim has turned into me pursuing a career in games programming, and general love of programming. I’d recently started to experience more and more hardware-focused hackers, programmers and general geeks, and was very interested in giving it a go myself, so at Easter I bought myself an Arduino Starter Kit, which I promptly didn’t touch until May.

No time like the present I guess? I was torn between doing Arduino work or Android development work (I have a few app ideas I’d like to build and use, even if no-one else does), but in the end a random number generator pushed me towards opening up the Arduino and seeing what it was like.

Personally, I found it very easy to pick up! I read through the Projects Book the kit came with, and worked my way through a big bunch of the projects, building up my understanding and knowledge of what made the Arduino tick. There’s something incredibly satisfying about programming, reasoning out the solution to a problem, writing it out, ironing out the bugs and seeing the final result chew through the seemingly impossible task you started with. And doing circuitry and hardware programming with the Arduino provides a very similar feeling, both when building a circuit, and the code that runs alongside it that powers the brains of the circuitry. It is however also just as infuriating to find that your struggles getting an LED to light correctly is simply down to attaching the LEDs one row higher on the breadboard than your wires were actually attached to as it is to find the mistyped little speck of code causing your whole program to fail horribly.

And then, I stopped making videos for Twitter, and livetweeting my experience getting used to the new platform. I found myself in the zone, able to (mostly) filter out distractions and focus on the task, working through projects deep into the evening. By the end of the day, I’d gotten half way through the project book, having built everything from a basic thermometer to a faux-thermin. By the evening my attention had started to drift to activities such as Werewolf and losing myself in the world of the HTC Vive for the first time, but I was very happy with my progress.

I’d even been inspired by a workshop I’d sat in at during one of my breaks that day, all about using the Spotify API, as to project I might be able to cobble together with my new found knowledge. I wanted to make a little controller board, that could be used to control a webpage pulling and playing tracks from Spotify, with dials to control things like the intensity of the music being picked, and having quick buttons to play and pause, skip tracks, and save tracks to a user’s playlist. I was intending to fork and build off of the demo page used in the talk, and import and implement the libraries needed to allow the Arduino to talk to the webpage through Serial port communication. I drew up a circuit diagram of the circuit I’d need in order to perform all the controls I wanted!

However, after I had built the circuit, I came to having my hand at tweaking and changing the website side of the project to try and get that working. Which turned out to be a much more complex task than I realised it would be. Unfortunately, despite trying everything I could to fix it, I couldn’t get serial communications through to the website, meaning I was stuck with a (relatively given limited resources) elegantly built circuit board controller, with nothing to control with it.

And some code to test that the circuitry does indeed work.

So I’ve not a huge amount to show for my time, but I have managed to take a big step into a new area of programming I’m very excited to continue exploring, and more importantly, I think it’s helped me out of a motivational/creative slump I’ve been stuck in for quite a while. It’s bittersweet that I don’t have much in the end to show for my time here, but I enjoyed all the talks, activities, VRing, and general fun times had here, and am excited for the next Anvil Hack. I should probably go spend this new-found motivational studying for exams and the other stuff I neglected whilst here 😛

Share this Post

Leave a Reply