Things that make me happy

In the beginning

In 2012 two co-workers had been running a CodeClub in Aranui Christchurch for a while.
The community centre on Portsmouth Street was one block over from the worst street in Christchurch in a rough neighbourhood.

In the front room a group were learning to cook meals and in the back room my co-workers were running coding classes.

They were using “pre-baked” content from which covered basic programming and was a good starting point, but some of the students wanted something more.

I was surprised that when the kids learning to code were asked if they would like pizza they said no, a home cooked meal would be nice, so I stuck around.

I had been playing around with some microcontrollers (Arduino & Netduino devices) so I took a few along to see if they appealed.

A couple of the students really took to a mix of electronics, hardware and code.

Maybe this could work

The students were always fiddling with their cellphones so I figured we would have a go at building a basic one. I had a spare set of ear buds and an Arduino 2.5G GPRS/GSM shield left over from an Internet of Things(IoT) project I had been working on.

This student’s mobile phone project had two buttons – one which sent his mother a TxT, the other which made a voice call to her.

It was more Nokia 5110 that iPhone but he was so pleased when he called his mother that I figured we might be onto something.

Scaling Up

Based on our initial success we figured it was time to go big. A couple of local Digital Technology teachers did a mail out the and we had more than sixty people turn up the first night at Orion Health who provided a space and a pizza budget.

There were only three of us so we did a show ‘n’ tell then and as soon as I got home, I ordered a lot more Netduino devices with 2 day delivery from Sparkfun in the USA. We had to split the sessions over two nights a week for the first three terms which was hard work over through winter.

We found we had to get some more helpers for crowd control and keeping the “distractors” engaged. We had university students and staff from Orion Health work with groups of students.

I found that I had to interleave theory & practice (learning the theory without realising it). Simple things like I always tried to illustrate concepts with “real-world” examples e.g. pulse width modulation (PWM) by getting the students to look at the LED on the end of a TV remote with the camera on their mobile while pressing the buttons.

After each class we would hold a retrospective and I found the classes hard work so I started lesson plans and a “warm-up challenge” (based on the previous session) every week. We found there was a surprising amount of competitiveness between boys & girls. We also found that eating together (coding is a team sport) and selling CodeClub to the parents with a show ‘n’ tell at the end of the term was important. Some parents were stunned by what their children had achieved.  I had one parent come up after a class to say her son had got a weekend job so he could buy a laptop because he wanted to keep on going after the classes finished and build an electric long board like mine.

How is this going to work long term

Wynyard funded the initial gear we bought for the Orion sessions.  But we quickly realised we needed more gear – in particular sensors, such as heartbeat detectors and ultra-sonic rangers.  This stuff costs money so we were very fortunate to get sponsorship from the following companies.

Microsoft New Zealand, Seeedstudio, Sparkfun, Netduino, elecrow, Tardis and embeddedcoolness.

Shortly after tweeting this picture I realized it looked more like an Australian Federal Police drugs seizure than microcontrollers and sensors ready to be packed into kits.

Even smaller companies like Tardis (NZ) and embedded coolness (AU) went out of their way to help  

Mate you can’t use that in a classroom

In my big box of sensors I had a current clamp for measuring power consumption. One of the students noticed it and she wanted to measure how much power her hair drier used. She had quite long hair and she said her parents nagged her about how long it took.

After a couple of attempts at the maths/code for calculating how much power I had a working proof of concept which I understood well enough to explain to others.

One lunchtime I went for a walk around the block and popped into Tardis who looked at my prototype and said “Mate you can’t use that in a classroom”. “Come back in a week so we can make it safe” for students!

The answer to the hairdryer question was <5c on the Meridian Power “Day/Night rate”.

It was a bit odd – Numbers dropped off

As a result of normal attrition, numbers dropped off. I did notice that the number of female students dropped off faster and then while walking home one day I happened to listen to this NPR podcast. Which lead me down a rabbit hole…

Grace Hopper – pioneer in modern computing who coined the term “bug” and worked on the first compiler.

Hedy Lamarr – movie starlet and the inventor of spread spectrum which is used by a lot of modern wireless equipment

Dame Steve Shirley – Founded women only IT company (was compelled to hire men by equal rights legislation)

Developing software for the space program

More forgotten pioneers

Why there aren’t many women in IT

Some of the students were coming to code club in the evenings because it wasn’t a subject their parents wanted to them to do at school.

As a result of all this reading, I made a conscious effort to run Girls Only sessions.

Since 2014 I have run weekly sessions for senior girls at St Margaret’s College which an independent girls school. In 2016 I started sessions at St Andrew’s College which is an independent co-educational school. I have observed some interesting differences between the two settings. The girls tend to have more variety in the passion projects they select. Whilst the girls only sessions can still be quite competitive, they tend to co-operate more than the mixed classes.

Both schools have a key staff member whose mandate is to focus on innovation in teaching and learning. At St Andrew’s College this has allowed me to work with students in a variety of subjects, including agriculture – as well as with a wide range of age groups (primary and secondary).  At St Margaret’s College, the supportive environment has allowed several students to gain formal academic credits for their projects.

When can they start?

I took some gear down to my son’s primary school. I found that I had to prepare more of the boilerplate code and keep the classes smaller but the approach still worked.

Cross Curriculum teaching – Physics by stealth

One student’s father is a volunteer fire fighter and she wanted to build something that would be “useful”. Her dual-purpose project is for monitoring the orientation of a structure for first responders after an earthquake to tell them if it has moved. It can also be configured as a wearable to alert others (piezo electric screamer) if the wearer has stopped moving and not responded to prompts (repurposed vibration motor out of a cellphone).

This is her working out how to convert X/Y/Z acceleration G values into roll and pitch, a friendly physics or maths teacher who can co-teach is great.  (The whiteboard desks are great but make a mess of the cuffs of white school shirts)

In one class, she took the accelerometer, device and laptop up to one of the science labs at the school and her physics teacher helped her with the code.

Cross Curriculum teaching -Maths by stealth

One of  this student’s parents was an emergency medical tech and her passion project was building something to monitor a patient’s pulse rate and core temperature.

We started with a sensor which could detect a heartbeat then she wrote the code to count the individual heartbeats and convert that to beats per minute (BPM).

Like a nurse manually taking a patient’s pulse we started with counting the number of heartbeats in 15 seconds then multiplying by 4 to get the BPM.

Then she revised her solution, trying longer and shorter periods, measuring the duration between heartbeats, then different averaging approaches until she got a solution which was quick to get a reading, accurate and responsive.

Maths went from a chore to something with a practical application.

Shit Happens

Last year a classroom where I had the CodeClub class sets stored over a weekend was badly damaged in a fire started by a furniture polish soaked rag stored in a tin.

Many boxes of gear and laptops that I used to run sessions were destroyed. (Seven donated black Toshiba laptops looked like a giant licorice allsort when melted together)

Sometimes you succeed beyond your wildest dreams

Some students built quite advanced projects.

This is an MP3 player with the music stored on a MicroSD, a 16×2 LCD displaying the current track and time. It has a battery powered real-time clock to keep track of the time when the device is not powered and has a five button UI (next/previous track, volume up/down and play/pause).

At the end of the term the student said “I’m so pleased it works but so over U2”. I was so pleased when this student went to Otago University to do a computing degree.

Passion Projects come in all forms

This student’s passion project was monitoring the fitness of her horse by logging its pulse rate to a MicroSD card for analysis and graphing in a spreadsheet.

After some experimentation we found a human heart beat detector works with a horse (just needed to shave part of the ear for maximum accuracy and reliability).

Students building and testing a DIY peak flow meter using a repurposed water flow sensor & some code. Next steps are adding a 16×2 LCD display, enclosure & calibration.

3D Printers & stuffy classrooms

Some of the students commented about the “burnt plastic” smell from the 3d printers and how some classrooms were really stuffy and it was hard to keep focused.

This device is for measuring the temperature, humidity and CO2 PPM in a classroom

This device is for measuring the particulates PM1.0/2.5/10 given off by the 3D printers in a school makerspace.

Environmental Awareness Internet of Things projects

This student’s passion project was a floating water quality sensor for the lake near her family farm.(It’s mid winter so the school pool is a bit green)

It uses an ultrasonic ranger from the bumper of a car to measure the water level and the turbidity sensor out of a Westinghouse industrial dish washer to measure the amount of suspended solids in the water. The sensor data is uploaded over a wireless link to Adafruit IO or Azure IoT Central.

So the students can be up and graphing data quickly, I have built a couple of student project focused Windows 10 IoT Core based field gateways. The data from the sensor nodes the students construct can be uploaded to Adafruit.IO or Azure IoT Central with minimal configuration.

Having a good boss helps

Last school holidays we had an informal bring a “kid to work day” which included my boss giving lock picking lessons.

I work three or four days a week and spend the other day “doing things that make me happy”.

Technical details for all of the projects in my blog with “end to end” samples on The source code, schematics and bills of materials are available on GitHub.