top of page
jrothlander

It's a mistake to use Raspberry PI to teach electronics.

Updated: Feb 10, 2022


The Raspberry PI (RPI) is minicomputer developed as a learning platform for kids to get into computing and introduce them to programming. The idea was to design a small inexpensive computer to inspire the next wave of software developers and engineers. It is a great product and I own several of them. At HSE Labs, we are looking to become an RPI reseller because we believe in the product. However, learning to using one is more about software and hardware than about electronics. This means that using the RPI to teach electronics will start off with an introduction to the hardware, the Linux OS, and Python. That is fine if you want to learn hardware. But it’s not the best approach to learning electronics. Adding all of this to an introduction to electronics course complicates, confuses, and frustrates the student, often overwhelming them when things do not work as expected and they dot not have the experience to resolve an issue.


Teaching electronics should begin with a breadboard and a few components such as resistors, capacitors, LEDs, switches, buttons, a battery, etc. There is no need to complicate the learning process by jumping between electronics, hardware, software, and operating systems. The key with any good intro to electronics course is to start with the basic and build a solid foundation before moving forward. If you spend much of your time working through software and hardware, you have to sacrifice other things. I do not think it is worth the trade-off.


Let me point out a couple of problems with the using the RPI to learn electronics and robotics. (1) it is unnecessary, (2) jumping between hardware, software, operating systems, and electronics is confusing and can be frustrating, (3) is it costly to start compared to other options, (4) it is not designed for battery power, (5) you need to boot it up and power it down, (6) you need additional boards to build even the most basic robot, and most importantly (7) you have to sacrifice one RPI for every project you want to keep. I've probably annoyed every RPI believer. So let's take a more detailed look at what I mean.


It is Unnecessary - You don't need a minicomputer to learn electronics. In fact, no beginning electronics course starts with a minicomputer or microcontroller. They start with a breadboard and a handful of components. There's a reason for that. You need to learn how to use the components before you can do anything else in electronics.


It can be Confusing and Frustrating - It is not hard to see that if you start with an lesson on electricity, voltage, and current for lesson one, then jump to setting up your RPI software for lesson two, then learn resistors for lesson three, then learn some basic Python for lesson four, etc., that is is going to get confusing. This is the typical pattern you see when using the RPI to teach electronics. It is confusing and often frustrating when problems are encountered. Students do not have the resources to resolve a corrupt install of the OS or a cheap SDRAM that is having issues, both are very common problems to encounter with the RPI. If they cannot resolve problems like this, they cannot move forward.


It is Costly - The average RPI will set you back around $45 to $75 according to Amazon. You will need to add a case to protect it, a power supply, SDRAM, maybe a cooling fan, maybe a USB cord. If you are learning electronics, then you will need to add $25 to $50 electronic kit as well. If you want to add a nice robot kit, you’ll be looking at an additional $100. You are looking at around $100 to start on the low end and $200 on average. If you find anything cheaper, it is typically because the kit only includes a few dozen basic parts to complete only a couple of hours and a couple of simple projects. Often these cheap kits use low quality parts.


However, learning electronic using components and a breadboard is REALLY cheap. You can get through most introductory level electronics classes for about $25, often less.


Battery Power – This is one of the main complaints people have with the RPI is the amount of power it uses. They do great when running on AC, but try running them on a battery and you start to run into issues. This makes building a robot pretty hard to do without a battery. The solution is board with a power pack that will run you another $25 or more. Your credit card sized computer just became the size of a can of soda and now costs over $100. What makes this even worse is that most of what is burning through your battery, your not even using.


Bootup – The RPI is a minicomputer. Just like your laptop or desktop, its operating system needs to be booted up. You need that operating system saved on a SD card to boot from. You need to learn how to create the SD boot drive… or pay for one with it already installed. If you are building a robot, you will need to boot up the RPI first, then execute the program to run your robot. Having to boot up your robot is not a big deal, but there are better solutions that make this unnecessary.


Powering down – Since the RPI is a minicomputer and you cannot just turn it off. If you do, you run the risk of damaging the unit or corrupting the SDROM drive. However, if it is the base of a robot and running off a battery, what happens when the battery dies? You will need an extra power monitor board to monitor the battery and execute a power down. Now your $40 minicomputer is the size and weight of a brick and cost over $150.


One RPI per project - For every project you create, you will have to decide if you want to scavenge it for your next project or buy a new RPI. The cheapest and smallest RPI is the Zero, which runs about $25 on Amazon as of today. So your best open with the RPI is to buy an extra $25 Zero for each project you want to keep. Of course, that assumes that the Zero can support your projects needs, as it does not have all of the features of the standard RPI. Again, it's not necessary bad, just that there are better solutions that will only cost about $2.


Are you really being fair? These issues have solutions.

I know that many of these issues can be overcome and there are solutions. The one RPI per project will always be an issue and they are coming out with smaller and cheaper RPIs every year. But implementing these solutions is not something you want to deal with when working through a beginning course in electronics. There are much better options we can use, and options that you really need to learn and be familiar with anyway. So why not start with those?


As an example, lets consider the most common beginners electronic projects, called Blinky, which is just a simple blinking LED. You can create this on a breadboard with a diode, LED, capacitor, and two resistors for about 25-cents. It is used by every beginning electronics course because it's a great introductory lesson for using each of the components and getting your feet wet on your first project. However, the typical approach building Blinky on an RPI is to use a resistor, an LED, and a minicomputer. Do you see the problem? In the end, you will learn less about the components and more about the RPIs hardware and software. Is this really the best approach? Why skip the opportunity to develop your electronic knowledge and trade this for learning hardware and software for the RPI?


Another Blinky design uses a 555 timer, one of the most fundamental ICs in electronics. You must have a fundamental understanding of the 555 timer if you want to learn electronics. But the RPI curriculum I’ve reviewed, not one of them even mentions the 555 timer. Again, that's because it is more about learning the RPI than electronics.


I know, the project is just a learning tool and your end goal is not to build a flashing LED. I get that. But consider that when you are finished with your electronics training… you will not be able to build the most basic of all electronic projects, a blinking LED, without depending on a minicomputer. Is that really the approach you want to take in learning electronics?


If your end goal is to have a good foundation in electronics that will allow you to move into more advanced concepts such as robotics, using a minicomputer is probably not the best approach to begin with.


A Better Approach

A better way to learn fhe fundamentals of electronics using basic components and then move into digital logic and ICs. From there take a look at microcontrollers. Once you get the hang of microcontrollers, then start looking at tools such as Raspberry PI if you have a need for it. You must develop a solid foundation before you move on from the basics. If not, it will be like learning to read before you get the hang of the alphabet. You might be able to figure out a few things along the way, but you will always struggle until you go back and nail down the basics.

After 30+ years as a software develop and an electronics hobbyist, I believe hands-down this is the best way to teach electronics. I don't think I am alone, as all beginning electronics courses start this way. I really do not like mixing electronic fundamentals with hardware, software, and programming. There's a time and place for that, but we don't need try to start running before we learn to walk.


Final Thoughts

If you are just beginning, the most important thing for you to learn at this point is the fundamentals. Without this, you cannot do anything more. Without the fundamentals, all you can really do is copy someone else’s designs without really understanding how or why it works. And more importantly, you will not be able to develop your own designs. From what we've seen, that's a pretty typical result of someone learning electronics with the RPI. So, while the RPI is a great product and you should certainly take the time to learn it. But lets get through some fundamentals first and turn to the RPI later, when it makes most sense.

41 views0 comments

Comments


bottom of page