Learning to Program and Interact with Hardware – and Perhaps Building That Minimally Viable Product
Want to learn to program? Combine that with learning electronics? Perhaps your goal is to get hired or get promoted. Maybe so you can build an MVP (Minimally Viable Product) with which to get funding or attract a startup team? Let me tell you about an inexpensive circuit board that would make Angus (MacGyver) drool. All are inexpensive items, all are accessible and there is a (something) of information and tutorials out there.
Technology builds on itself. The different components can be combined to build other tech, and build it even faster. Programming is a big part of that. As is electronics. Combining them really is where the power is. Whether you just want to learn or have an idea to start building, read on to learn about an inexpensive MacGyver board to use.
If you’re connected to me you’ve probably seen at least one article from me about the Raspberry Pi. Read on for some details on the things you can do with it!
The Raspberry Pi is an Open Source Single Board Computer (SBC). Single Board, how is that relevant? If you’ve ever looked inside a home computer, odds are you saw a large circuit board (the “motherboard”) that had other cards and components plugged into it. Those include things like a display (video) card (a “daughter card”) as well as discrete components like memory or a CPU. These can all be swapped out. Those connections add complexity, costs, and increase the risk of failure.
With an SBC – the entire computer is on a single board. Memory, CPU, display (video) functionality. They are built small and lower powered for several reasons. One is to keep the price down. The other is to reduce power consumption. The original goal was to lower the tech barrier in emerging countries. To put it in perspective, a modern PC uses 30 to 70 watts of power. A Raspberry Pi consumes around 5. Think solar panels, not high-tension wires.
The Raspberry Pi comes with USB ports. This means the keyboard and mouse are commodity products. It also means you can combine devices like other network ports, cameras or whatever the operating system will support. Speaking of OS . . .
The Raspberry Pi can run several different versions of Linux, including the Graphical User Interface (GUI). If you are comfortable with Windows or MacOS, you should be able to boot up Linux and start learning. It is possible to buy SD cards that already have Linux on them, but if you have access to a PC or Mac that has either a MicroSD port or a USB port (where you then use an adapter) it is easy to try out different operating systems.
No Disk Drive
Disk drives were first sold in 1956 and had spinning platters. These are components that are fragile, fail, and can be expensive. You are likely familiar with Solid State Drives. They are less fragile, and exponentially faster. But they also can be very expensive. The Raspberry Pi uses a MicroSD card. Just like your phone or digital camera might use. This is another commodity component. One that is inexpensive. And when the system is off, you can quickly swap in a whole different operating system. This allows you to tinker with different code, projects, or applications. It makes reproducing systems super simple. Not to mention revision control – that is to say keeping track (and perhaps testing) different versions. You can easily have a handful of different sandbox systems to play and tinker in for different projects.
Headers and Connections
The Raspberry Pi comes with a way to easily connect other electronics. This is done with what is called a header. You can use the header with what is called a breadboard. From there you can connect components with movable jumper wires. No hot solder gun! This makes learning, development, and prototyping very fast.
Programming and Hardware
You can combine the Raspberry Pi with a breadboard and be able to interact with external sensors and LEDs using a high-level programming language like Python.
If you want to learn to combine programming and electronics, take a look at the Raspberry Pi!