Arduino Intro for kids at FARO

2010 D. Cuartielles, Magic Piano at FARO's Clubhouse
2010 D. Cuartielles, Magic Piano at FARO’s Clubhouse

During the last two days I have been conducting a workshop for kids on the topic of electronics. The idea of this workshop is to warm up for a course to come later in July when we will be playing around with robots. I have the task of designing 2 or 3 different models of robots together with the documentation needed to run the course.

In the past I have been teaching quick prototyping techniques using Arduino to quite a lot of people from design students to engineers at an R+D institute. My work at FARO de Oriente consists in helping create a new way of understanding digital technology, but also in modeling the educational tools for those interested in using this in the future.

The Experiment’s Ecology

The Computer Clubhouse at FARO de Oriente is a space at FARO’s main building with equipment donated by a series of actors: the computers come from Intel, as well as most of the original furniture, network switches, etc. Arduino donated 15 Starter Kits, like the ones provided by SmartProjects (one of the companies manufacturing Arduino boards), with buttons, resistors, transistors, one Arduino Duemilanove, a USB cable, a breadboard, and a box of wires.

The Clubhouse has also a sound studio, a professional video camera, a digital camera, a couple of old printers … The Spanish Centro Cultural de España en Mexico has provided the club with some computer parts, a tower of sound speakers, and the salary for the workshop leader.

The computers are old, and dual-boot Ubuntu and Windows XP. This allows quite a lot of flexibility in terms of using different types of software. We installed Arduino’s IDE (Integrated Development Environment) in all of them, even if it wasn’t our intention getting the kids to touch a line of code in the first place.

The workshop was open to registered kids between 10 and 17 years. However, during the first day we got kids from 6 and up to 26. The average was around 12 years old, though. The total amount of people taking part in that workshop was of 31, therefore I invited them to group up in teams of 3 to 4 people. We got 10 groups. Each group was in front of a computer and had one of the Starter Kits in hand.

2010, The Arduino Fighter
2010, The Arduino Fighter

The second day there were less participants, partly due to a misunderstanding in the workshop’s duration by some of the kids, but also because the older people decided to skip it. Something that is good in my opinion since the level of discourse wasn’t really adjusted to those. Also the younger kids, less than 10 years old, didn’t join this day. In total we got 22 participants that were within the age range divided in 8 teams.

Both days the gender division was pretty good. Unlike other places where mostly boys are interested in technical activities like the one described here, the workshop at FARO counted with a whole lot of girls. The division wouldn’t reach 50%, though. But there were 3 groups of girls only in the first day, while 2 were mixed. The second day registered 2 groups of only girls and 1 mixed.

In total we were a group of 6 adults: the 3 social workers, a volunteer, Alejandro (Clubhouse’s caretaker), and me. The concept of social work in Mexico is a little different from the one in Sweden. Students from high education, either professional schools or universities are requested to take up to 400 hours of social services. The Computer Clubhouse has 3 students in computer maintenance helping out. One of them was operating the video camera used to document the course internally. The idea of documenting the course this was didn’t come from me, it is common practice at this particular location. The second one wasn’t really active, even if he would help doing small things here and there. While the third one would run around helping out the kids getting things done.

Designing the Experience

My role in this process, besides the one I self-assigned myself when it comes to make the research, is the creation of materials for the kids to learn about digital electronics while working in naturally formed groups with the assistance of the different menthors. Putting this differently, my role is to design the teaching/learning experience.

2010, D. Cuartielles, A Breadboard
2010, D. Cuartielles, A Breadboard

I had to make some design decisions based on my experience teaching to other groups, using the tools, and the existing documentation. I decided to introduce the kids to the world of electronics by pursuing a high goal, in this case the creation of robots, which seems to interest most of the kids. As a matter of fact they applied to the course knowing only about its title, but not really about its content.

The Experience – Day 1

During the first day I wanted to introduce the kids to concepts like:

  • computer: any piece of digital technology able of running some kind of program. Microwave ovens, cars, mobile phones, or elevators are as computer as my laptop
  • electroncis: devices that transform electricity, but also that can store information, control processes, etc
  • breadboard, component, cable, circuit board, kit, etc

In order to do this, I had to create a first how-to guide that would be appealing to the kids. I reused some Mexican fighter slides I made for a previous course I had in Arlov -Malmo- and re-made some that didn’t fit because of having a different kind of tool set. Also the time I had to run this class was different. In Arlov I had just 45 minutes, while here I could use up to 3 hours. According to my experience it is really hard to keep the attention of such a group of kids for that long if time is not planned properly, therefore I designed a slideshow that had to be followed step by step. It would require the kids to run back and forth from their computer station to the projection area.

I put together some footage coming from previous experiments and courses, mostly the toys designed at my classes at K3 during the last years. And prepared the software that would run in the boards. The code I wrote would make everything for the kids and would come pre-installed. In this way they wouldn’t need to program anything. The idea of this first experiment was just to mount the puzzle of the breadboard: put the components, plug power to the board and start playing.

The chosen experiment had to be of some significance. In the past, while working with 1scale1, we created a small music instrument that uses the body’s resistance as an input to a sound-generating algorithm. My partners and I used it at a couple of workshops with kids, as well as a part of an interactive installation that was mounted in Copenhagen in 2009. The idea is that the flow of current through the body will be used as a signal to feed a program that will play tones.

I made a series of modifications to the program to make it blink some LEDs, on top of just playing sound. I had been using the original algorithm twice before in similar scenarios in Sweden, what inspired me to create this new variation of the code that would include the mentioned modifications. Thanks to those I was able of having a good flow and increase the session’s duration to 2 hours.

Here you can get the Aduino Body Synth code. And the original  slides cannot be posted here, since the PDF is 36MB … if you want it, just drop me a line at: david.cuartielles [at] mah [DOT] se.

The Experience – Day 2

The main educational goal I set for the second session was introducing the concept of programming a microcontroller. After the first day, where we successfully went through replicating a circuit step by step, I tried to directly give the kids a picture of the board they had to replicate letting them chose the best way to mount things. However, I used the whiteboard to help them. Some of the groups followed my explanation, while others were free to go faster.

2010, D. Cuartielles, Pianito Circuit made by participants
2010, D. Cuartielles, Pianito Circuit made by participants

On my desk I had the finished circuit, with the right software inside. This time I chose making a small piano using 5 pushbuttons, a piezospeaker, and one LED that would fade in and out while they weren’t playing music. On the projection screen I had the same installation, but in a bigger size. I was projecting on the whiteboard. It is a custom I have acquired since a while ago. I use it as a way to quickly add things to the image, sketch small characters, mark what is the next thing to be made, etc.

Once they had finished mounting the circuit. They came to the point when they realized their Arduino boards didn’t have the piano software inside. Unlike the first day, this time they had to go through programming their boards themselves. It wasn’t the aim getting them to learn how to program, just to see there is something written in text that has to be sent to the board for it to work.

However, I didn’t start by taking the fairly  complex piano code, I asked them to open the classic Blink example. It consists in making an LED blink at a certain pace. The whole IDE is written in English, therefore I had to stop a couple of times to get the kids to understand the different terms of the UI. It is in my to-do list for the future compiling a version of Arduino with the whole UI translated to Spanish.

Arduino's IDE showing the Blink example
2010, Arduino Team

We took a look at how to upload the program to the board, also, since the board had a second LED due to the piano design, I got them to change the LED to blink, as well as to change the blinking frequency. At this point, we were ready to try the piano. Then something happened that I didn’t expect:

  • kids asked which were the parameters they could modify in the piano code. Since they saw they could modify the blink example, they concluded they should be able of doing the same with the other one
  • they wanted things to sound much loader … they definitely needed louder sound

The second issue should clearly be fixed, it has to do with the experience. If you make a music instrument, you want it to be loud, it has to respond to your expectations. The first issue is something I wasn’t ready for in any way. The code had been written in a rush, since I designed the second experience as a result of the first one’s outcome and both workshops ran with barely 24 hours of difference.

I need to revise the code so that kids get a much easier way in. I used an array named notes[] to contain the 5 possible notes they could play. So I explained them how to modify that array and they got to experiment with it, creating different types of music keyboards that had different sets of notes. With a properly designed code, they would have had the chance to do much more.

The experience lasted a little less than 2 hours. After that we asked the kids that were itnerested to subscribe to the continuation of the course later in July, when we will spend a little more than a week in making our own robots. Taking out the kids that were sure couldn’t come because of their family vacation (the full fledged workshop will run in July), we got a total of 18 subscribers out of the 22 present. I think this could be considered a success in getting kids interested. The next part is going to require quite a lot of work in terms of designing the experience, but now I know the kids, they know me, we have a mode of operation in the workshop and we have fun.

Here you can get the Pianito Magico code.

The Model for the Future

Designing the experience is a very important part of educating. I think we need to put quite a lot of time in creating content for the teachers to use in adaptive matter. I think the model to use is to adjust content to the class’ needs on the fly. If such a model is about to succeed the knowledge production has to be supported in an entirely different way. Well, this is just an intuition, we’ll how it works.

References creators of the Arduino board creators of the first Body Synth code

FARO de Oriente: hosting the workshop

CCEMX: Centro Cultural de España en Mexico, commissioned the work

K3, Malmo University: created the original Arduino teaching methodology I follow


I cannot show pictures or video footage that includes the kids involved in this project. They have signed a contract with the Computer Clubhouse to share they pictures and projects with other kids within the Computer Clubhouse Village network. However this information is not to be shown publicly without parental permission, which I don’t have. Since I am not focusing in ethnographical data of this sort for my research, I am not going to make the effort of getting that permit. But I will also not reveal any of the private data that can only be accessed through the Computer Clubhouse Village. I might consider getting that permit at a later stage, but I am not sure I will be engaged with this community long enough to even get to know the parents and ask for it.