Education Today Logo

What I did on my summer vacation

Being a quick exploration of a beginning Arduino project with excellent prospects for the STEAM classroom, Damian Perry

Have you ever gone onto eBay and just randomly bought a heap of electronics components because they might one day be useful? And have you then had the conversation with your (non-teacher) spouse that goes:

“You really don’t need this. It doesn’t spark joy.” (Marie Kondo has a lot to answer for)

“Oh no, I am absolutely going to use this!”


“Ah, er … Now?”

Which is why I’m in my non-air conditioned office on a 35 degree day instead of down the beach. My wife and daughter are shooting each other with Nerf guns. This is my life.

Here’s the deal: I want programming, problem solving, and a practical way to explore the transmission of data in a practical way. I want the boys at St James College to engage with more hands-on projects. And I want them to do most of it themselves.

So I bought this: 30 Arduino Projects for the Evil Genius*. Anything with the word Evil Genius in it works for me.  More importantly, with projects such as a Keypad Security Code, Pulse-Rate Monitor and Hypnotiser, it should work for the students as well.

*NB: There are plenty of free resources and projects on the Internet, but for the beginner, the structure of a book is fantastic

This article aims to show you that a teacher with no experience in programming these little beauties can get to a level where they can teach a class. I will run you through the steps to create a simple project that teaches simple algorithms, loops and functions. It also can be used to illustrate how binary is transmitted across networks.

So let’s get into it. A simple project to get started: a Morse Code flasher. Victorian/Australian standards are listed at the end of the article, as well as a reference list.


*NB: the book works with an Arduino Uno, which is about $30 for a clone. I also tried this with an Arduino Nano, which is only $10. Definitely worth spending the extra money.

If doing it in class

Start off by discussing the ways that we communicate with each other. Look at modern forms such as social media and texting and then move backwards to email (yeah, that’s historical now), snail mail, telegrams and Morse Code.

Draw the parallel between Morse Code and Binary transmission. Dots and Dashes, zeroes and ones. High voltage or Low voltage.

And then let’s look at a practical demonstration of the concept.

Setting up the experiment
I bought everything from eBay, and Jaycar Electronics.

  • The Arduino Uno: $39 from Jaycar. The Arduino Nano (harder to use): $8 from eBay.
  • 10 LED lights: $3 (eBay)
  • 50 jumper wires: $5 (Wish)
  • 25 resistors: $2.75 (eBay)
  • Breadboard: $9 (eBay). Mini breadboards: $1 each (Wish).

I have my bits and pieces. An Arduino. A tiny breadboard. Hundreds of LED lights, of which I will use exactly one. A USB connection. Some jumper wires. A resistor. And a squishy shark for luck.

I have a circuit diagram to follow. A wire from the output on the Arduino that connects to the light. A resistor connected to the LED and then a wire going to the ground.

This is also a good introduction to circuit diagrams.

The set up of the Arduino UNO, LED, resistor and jumper wires took two minutes, most of that time being me zooming in with my camera phone to read the labels on the pins.

I plugged it into the computer. Things lit up. Right, now it’s time to follow some instructions to program the thing.

Using the Arduino IDE app on my computer, I opened Project_01_blinking_led.ino from the downloaded files. I changed the serial port in the software to look at the Arduino plugged into my computer. I changed the pin the program looked at from 13 to 12 (the onboard light to my spanking new LED) and I uploaded the file.

Now I have a flashing LED on my breadboard. I feel like the head exhaustion has been worth it.

Looking at the program, it’s easy enough to understand. We set up a variable to start with, telling the program which pin the LED is connected to. The beginning of the program initialises the board and tells it to output voltage to our LED pin. Then we run a loop forever, changing the voltage from HIGH to LOW with a pause. The light blinks on and off. I changed the pause variables. The light blinks slower or faster.

The book goes onto explain simple functions and loops, including a FOR loop for when you want to repeat the program a large number of times, and a way to flash the LED using a function (object oriented programming). My program is now much more efficient.

I will say that this is a good starting point. You’ve made the point you wanted to make. You’ve shown the kids some basic programming. It does something. You could stop here. You could manually have them program a message using a Morse Code alphabet. And then, hooked on hacking tiny computers, you could move onto something else.

But I have my sights set on trickier goals. I want that Morse Code generator. I actually want an English-Morse Code converter. That requires a bit more programming.

Or for me to download the next project in the folder.

The Morse Code Translator project adds to our cache of programming elements as well as giving us the opportunity to discuss the concept of the serial port in a computer and serial transmission of data.

The program in Project 3 worked without modification. If I was doing it with my students I would give them the concepts and have them “fill in the gaps”. I typed in some words and the shark was pleased.

As an extension, get the students to do a similar array of numbers and letters, but with binary. If you really want to get tricky, the next step would be to create a machine that reads Morse code, using a light sensor.

Either way, it was the work of about an hour in the heat. With the programming added in, you could make it into an introductory series of lessons. I will add in the standards I think it addresses nicely below.

Good luck with your computer hacking!

Victorian Curriculum Standards (Year 8)

  • Investigate how data is transmitted and secured in wired, wireless and mobile networks (VCDTDS035)
  • Investigate how digital systems represent text, image and sound data in binary (VCDTDI036)

Australian Curriculum Standards (Year 8)

  • Investigate how data is transmitted and secured in wired, wireless and mobile networks, and how the specifications affect performance (ACTDIK023)
  • Investigate how digital systems represent text, image and audio data in binary (ACTDIK024)

Monk, Simon (2013) “30 Arduino Projects for the Evil Genius”, 2nd Ed. McGraw-Hill Education, US.


26 Nov 2019 | Adelaide
New Venture Institute ranked best in Asia Pacific, second year running News Image

Flinders University’s New Venture Institute (NVI) has been tapped as one of the leading university business accelerators in the latest UBI World Benchmark study. Read More

26 Nov 2019 | National
A federal jobs guarantee demanded to prevent robots destroying jobs News Image

Australians are feeling insecure about how robots will effect their livelihoods, for good reason, any number of jobs from stock trading to manufacturing have been heavily impacted by automation. Read More

26 Nov 2019 | National
Code Camp free activity for Hour of Code News Image

Hour of Code, the global movement introducing computer science to over 100 million children worldwide, is running from 9–15 December 2019 during Computer Science Education Week. Read More

26 Nov 2019 | national
Creativity and 'feeling' needed to solve novel maths problems News Image

We used to believe that you’re either creative or you’re good at maths, as it turns out to be really good at maths you have to be very creative too as intuitive non-cognitive thought processes are vital. Read More

26 Nov 2019 | International
Github helps build new generation of coders News Image

Github is the go to resource for code and students in Australia are among the biggest users of the service and that number is growing.
Read More