For many years, I studied computers without ever understanding how they work. On the inside, a computer is a monstrously complex beast, with layers upon layers of abstraction which ultimately boil down to electrons running through silicon, obeying the fundamental laws of physics. We’ve built up so many layers of abstraction that the vast majority of people using computers – even the vast majority of highly technical programmers – don’t know (and don’t need to know!) how it all works on the inside. But while understanding every single layer of abstraction to its fullest extent is practically impossible, it’s incredibly fascinating how modern computers are built and what physical principles allow them to function.
In this series of blog posts, I’d like to introduce you to many of the layers of abstraction bridging the gap between the laws of physics and assembly language. Given the rather large scope, I’m going to end up leaving out a lot of information about every topic I discuss. Just note that every topic I mention has, essentially, a field and a half solely devoted to it. With that said, let’s begin with circuits.
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.