Arduino and Raspberry Pi: We need them in classrooms across the country

Tendai Marengereke Avatar

Seta school kidIt is great being introduced to science and technology at a young age. Do you remember that moment you used a computer for the very first time, or the first time you played Tetris or Snake? How fascinating was that?

I have fond memories of my earliest encounter with a computer, it was a 386 PC and it ran Windows 3.1. I would spend days on end fiddling with the spreadsheet software and playing Minesweeper, trying to figure out how everything worked. It was those early moments with technology that ignited my love for computing and anything science related.

The world we live in is immensely dependent on technology and that means we require a more technically skilled workforce to produce and maintain the required technology.

Imagine if we could give school children cheap computers to play with, learn how to code, and hack some cool hardware projects. Teach them computer science and technology early on in their academic lives. Well, it is possible with the Raspberry Pi computer and the Aurdino microcontroller.

What is Raspberry Pi?

Raspberry Pi
Raspberry Pi Computer Photo: Raspberry Pi Foundation


The Raspberry Pi is a credit-card sized computer that plugs into your TV/monitor and has 2 usb ports. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video.

The miniature Linux computer comes in two models which retails at US $25 and US $35, and ships with 256MB of on-board of RAM and a 700MHz ARM chip, and boots from an SD card with either the Fedora, Debian or ArchLinux distros installed. A schematic drawing is shown below.

Raspberry Pi Schematic Diagram

It is a simple computer stripped down to the bare minimums, which makes it perfect to be implemented in classrooms and to be used by hobbyists.


What is an Arduino?

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software.

arduino Photo: Arduino Team

Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators. The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software running on a computer.

The Arduino can be used to make fun projects such as flashing LEDs, remote sensing projects, and even a plant that tweets when it needs watering. The possibilities are truly limited only by your imagination.

Arduino, unlike the Raspberry Pi, requires a bit of expertise, but it is fun to use and the possibility of building things that actually do something is amazing. An interesting and compelling example is that of a plant that can send a tweet when it needs water, as shown below.

Plant that can tweet when it needs water

Why should we put them in classrooms?

Our current education curriculum focuses mainly on teaching students ICT skills; basically how to work with word processors and spreadsheets, how to switch a computer on and off, but no other true computing skills beyond that. I am not arguing against the importance of such skills, but we need to teach more computer science skills at an early age so that we equip students with a greater understand of what makes up a computer and eventually they can do their own hardware projects. We should teach students practical skills that they can later build upon in life.

Perhaps we could learn a thing or two from Estonia who recently made programming part of first grade education. With the Raspberry Pi computer it would be easy to overcome problems of cost and uniformity, since students all over the country would have a consistent environment to work on, and teachers would also have a consistent platform to teach against.

Essentially, the point I am making is that we need to include more computer science related content into the primary and secondary education curriculum, and the introduction of Raspberry Pi and Aurdino in the classroom would be a great starting point.


  1. Michael Horne

    *whispers* You spelt Arduino wrong in the title of the post.

    Good article, though!

    1. Tendai Marengereke

      my bad. thanks

  2. Welington Maposa

    Introduce coding, hacking and tinkering to young inquisitive minds in a cheap manner in order to nurture innovation through science and encourage solving problems at such a tender age? DAMN RIGHT I SUPPORT IT! Ministry of Education, make it happen!

  3. nick kare

    I think the introduction of computer related content in our primary education curriculum is a very noble idea but the introduction of programming at that level is putting effort in the wrong place. The Raspberry Pi is a very cheap way to give the children in Zimbabwe computer appreciation but then teaching them programming at primary would be abuse because you cannot expect them to understand such difficult concepts at such an early age which i know most students pursuing computer science at degree level find extremely challenging. Primary education should not be focused on any subject which is not core to a child’s development and i know for a fact that programming is not a core skill but computer appreciation is. This computer related content should be added to Content which has no focus on a single subject area but covers multiple disciplines.

    The Arduino should be introduced at Secondary school in form three where the science, arts and commercial students have been identified and students are now focusing on their main area of interest and the students are now mature enough to understand programming.

    Everything said and done these two devices have been developed for 3rd world countries like ours where the access to computing devices at low cost is difficult. University students can now afford computers and families can now have computers in the home. Whats missing now is to make people aware that these devices are there and available for their use and not wait for the government to make this happen. I am quite sure that all schools in the cities can afford and the government should be there to help rural schools acquire these devices.

    1. Welington Maposa

      I don’t think programming has to be difficult. There are ways to teach it a fun, visual way. Also, it helps them to learn about logic and reasoning which can be applied in other areas and subjects in their lives.

      1. Welington Maposa

        edit ** teach it in a fun, visual way**

    2. david masunda

      I agree that programming shld be introduced at early levels, i for one has been exposed to it early and it has become my second language, bt microcontoller programming at form three?

      1. tinm@n

        …bt microcontoller programming at form three?

        The Pi isnt your conventional microcontroller/embedded system. It has an OS running ontop of it that would simplify the task of programming by that OS abstraction. It is relatively simpler but an excellent introduction to programming at an early stage. Think microprocessor.

        The Arduino is more of a microcontroller as it does not provide the level of general purpose computing given by the Pi. You are responsible for lower-level input processing and it can barely run fully fledged OS as the Pi does. It is more suited for advanced level, university and hardcore electronics hobbyists

        As a side note,the Arduino Due is scheduled to be out soon. 32-bit and certainly more expensive.

        1. Tendai Marengereke

          The Arduino cannot be introduced to kids but could be used as stated by other people at Form 3 in Intergrated science. Initial projects could be building LED timers and progressing further if possible. The Pi could certainly be used in classroom, as it is essentially a cheaper PC.

          1. tinm@n

            Are we not in agreement?

            1. Tendai Marengereke

              I think we are . 😉

              1. tinm@n


    3. Tendai Marengereke

      Kids do not have to be taught tough programming concepts, but the logic behind it, perhaps a program to add 1+1, or something simple as getting an object on screen to move, using forward, backwards etc.

      1. Tapiwa ✔

        The Pi comes with a programming environment called “Scratch” – it’s pretty visual & easy enough for kids to understand, with blocks representing units of logic. You can also install any package of your choice if you choose to install the Ubuntu image.

        I encourage everyone who has the means to order one: they ship worldwide (although the waiting times are a bit long). I got one for my pre-teen nephews, and since it’s not Christmas yet, I’ve been using it in the mean time. (it makes for a fantastic, always-on torrent box. Power-spikes no longer scare me as much – I have little to lose)

        1. Tendai Marengereke

          please do share some pictures.

  4. brian gondo

    It’s a pretty feasible idea. My first computing experience was tinkering with a Sinclair ZX81 which you connected to your TV set, it came with a manual that had all these basic programs for games which you could copy then run. Conceptually it’s a fun and intuitive way to introduce kids to computing. Those who love the it can be encouraged and continue to develop. And since you brought up the Raspberry Pi, just as there is a lot of excitement about open source software I suspect there is a greater opportunity especially for developing countries in open source hardware where the basic building blocks for computing devices are openly accessible. The scope for innovation is infinite….

    1. Tendai Marengereke

      Yes that is exactly my line of thought, perhaps the persons in charge will take heed and make strides to get them implemented in classrooms.

  5. Owen Kudakwashe Tendenguwo

    apa ndopakaperera sarungano

  6. Sadombo

    this is pretty cool, lets introduce these cheap technologies in our schools, they will make a difference

  7. Mandla Ndlovu

    While I agree with your proposition, I think we have an even bigger problem of failing to utilise the tools we already have. I am thinking particularly of open source and Linux. It baffles me that university students in IT and computer science can barely pronounce “Linux” let alone set up a LAMP server. I have had the opportunity to work with many NUST students and students from other universities around the country. Most of these students have been very sharp and quick learners, but the fact they come with little to no skill in Linux is proof of how the universities are not serving them well.

    1. tinm@n

      It baffles me that university students in IT and computer science can barely pronounce “Linux” let alone set up a LAMP server.


      Whilst it is desirable for people to obtain knowledge of actual operating systems and platforms(like LAMP) at that level, that’s not what a Computer Science degree is about.

      And pronouncing Linux well really means diddly.

      1. Mandla Ndlovu

        I’m afraid I must disagree with you, @tinmann:disqus. I think the article you link to is helpful in buttressing my point, “Computer science or computing science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. A computer scientist specialises in the theory of computation and the design of computers or computational systems.”

        The fact of the matter is that someone with a Computer Science degree or an IT degree should have a good *working* knowledge of all major operating systems. Now some may contend this point on the basis that Linux is not a “major” operating system. While Linux is not major on the desktop (an ageing paradigm to be sure) it is indeed a major operating system as far as the Internet is concerned and as far as mobile devices are concerned. This point can hardly be contended (at least not intelligently) since LAMP servers comprise about 60% of the Internet, 87.8% of the top 500 supercomputers run Linux, and above 60% of smartphones run Linux (aka Android). Zimbabwe is ripe for Internet development and very few graduates from Zimbabwean universities are in a good position to break into this market.

        If Zimbabwe is to compete and if graduates are to be relevant we must be preparing them for the present *and* the future. And this is where universities, and even secondary education, is falling short. We are trying to teach students in technology and methods that are either already obsolete or which are about to be.

        Indeed, let’s bring in technologies such as the Arduino (incidentally I have one running my borehole!) and Raspberry Pi. But let’s begin to get Linux into the schools and stop mucking around with ICDL. This is woefully inadequate. Linux based technologies also provide us with more of an opportunity to keep money moving around within Zimbabwe rather than going to foreign firms, but this is a post for another day.

        ad libertas

        1. tinm@n

          Still wrong Computer Science is foundational. For operating systems…it teaches you the concepts of operating systems NOT specific operating systems.

          Anyone can learn Linux if they chose to. That is not the goal of computer science. The computer scientist would be taught what an operating system is(in relation to hardware), what constitutes one(kernel, file system, resource usage & management…etc)… Essentially, how it works, how to build one, what to consider when building related systems software.

          Linux would be the tool, not the subject. Focusing on it in the context of Computer Science would be narrow and superficial.

          1. Mandla Ndlovu

            Firstly, I think you are missing the point with the reference to pronunciation. This comment was merely meant as a circumlocution the the following argument.

            That aside, we are not suggesting that a student with a *degree* in computer science should spend his whole programme studying an operating system. Rather, we are suggesting that a *degree* in computer science, while providing some foundational material at the outset, does not terminate there. Remember, we are talking about tertiary level studies in computer science. Simply arguing that something has not been this or that in the past is the surest way to extinction. This is a refusal to adapt. If a computer science *degree* is to be worth its salt in this day and age it needs to provide students with the necessary tools to be successful in a non-theoretical environment.

            I do agree with one statement, though. Linux is the tool, but it would be fallacious to suggest that a tool cannot be a subject. In fact, most BS programmes in Computer Science would have whole courses on the use of particular tools, such as specific programming languages. The fact that in Zimbabwean Universities we are failing to teach the *right* tools is the very definition of superficiality and absence of appropriate depth. Besides, shouldn’t graduates have some practical knowledge and actually *do* something with their degree? Surely someone with a computer science degree should be able to do more than tell me what an operating system is.

            Perhaps where you are missing it here is that we are not talking about a single introductory course on Computer Science, but rather a whole programme. And any university sending off students that are unable to do anything practical with their degree is doing them a disservice. Simply look at a computer science programme at any of the world’s renowned universities, like MIT.

            1. tinm@n

              Still you misunderstand what Computer Science is, and have misplaced expectations. Computer Science is already defined. And it is not learning Linux, Windows or *nix. You want to define it to be a field that focuses on knowing something like Linux. Linux is like a pencil. A tool. An environment, a case to study. A Computer Science degree from whichever university would be perfectly valid without having to learn Linux BUT lacking if it does not teach OPERATING SYSTEMS CONCEPTS. One can be a Linux guru and yet totally clueless about Computer Science.

              Good of you to mention renowned universities. You might want to have a look at the courses of those universities. You mentioned MIT. Also have a look at Stanford

              Using Pastel doesnt make you an accountant. But a totally complete accountant can exist without having to know Pastel.

              1. Mandla Ndlovu

                I think you may need to go back to my original post. I am not suggesting that Linux should be the crux of a CS programme. Rather I am criticising the Zimbabwean Universities on the basis of outcomes. The point being, how can a student even emerge from university with said degree and not have such foundational knowledge? Something is wrong here, either in the way candidates are vetted (if your analogy of the pencil is applied) or in the way the programme integrates theory and praxis.

                Am I saying a CS degree must teach linux? No, not necessarily. But I am saying a graduate from a CS should know how to use it, just like they should know how to use a pencil.

              2. tinm@n

                But I am saying a graduate from a CS should know how to use it, just like they should know how to use a pencil.

                No, they shouldnt. Was agreeing with all else until I came across that statement. Point is, CS degrees are absolutely complete without knowledge of how to use Linux. CS degrees cover the foundations of computer science. And knowing how to use Linux brings zero validity to the degrees.

          2. Welington Maposa

            @tinmann:disqus @8835e1f7045940ea0f13419fe44b3de3:disqus ^^EXACTLY THIS^^ *nix operating systems are only studied only as examples of particular concepts in CS. If one wants to be proficient in one particular OS, there are certification programmes for that.

        2. Tendai Marengereke

          Most CS do not have skills in Linux because they are not required to learn it and its not what Cs is about.

          What does pronunciation have to do with anything. Most people i know (myself included) know its pronounced Lee-nux but still say Lie-nux, mainly because thats how we want to pronounce it.

          That said, I agree with you though that institutions of higher learning are teaching students “some” things which are obsolete. If one calls himself a computer scientist and they cannot understand Linux then they are in the wrong field

  8. Poosvu

    Chii chaakabata mupfanha uyo? Chinenge zizi icho?

  9. Spencer Chigananda

    I have been looking at it for a long time. I will also like to add input. I suggest the Beagle Bone from Beagle Boards would be good to introduce electronics and programming to high school kids. Its high time people take this initiative seriously.

  10. Kevin

    Please pay attention to Banana Pi, maybe it will give you suprise.

  11. Are we really this much out of touch

    […] have been signs of hope and inspiration locally though. Cases of children experimenting with Arduino and Raspberry Pi technology and endeavours by guys like Test Labs and the ICT Generation to introduce basics in robotics and […]