We love the innovative ways that educators (in both formal and informal learning spaces) introduce learners to the concept of physical computing with Makey Makey and coding languages like: Scratch, Processing, and Python. Each month, we will feature an educator and a unique project they've worked on recently. To read more educator posts, simply sign up for our newsletter and we'll guide you to our best content once a month.
Liam Baum is one of the original Makey Makey Ambassadors! He's been sharing great musical Makey Makey ideas for years! He's a musical educator who loves coding! He makes some really great tutorial videos on coding with P5.js and Sonic Pi. Last month, we featured his new music midi app that is now featured on our Apps for Plug and Play page.
I attended a workshop in the summer of 2016 on types of creative technology used in education. There were a lot of different things covered, one of which was Makey Makey, which was only spoken about for a couple of minutes (I think they might have shown the original Kickstarter video). The instructor had one and at the end of the class, we were given time to play around with stuff, so I asked to check it out.
The first thing I tried was hooking it up to Garageband on my laptop and setting up the keyboard that you can trigger with key presses. I attached a coin to an alligator clip and immediately was intrigued by the possibilities to make musical devices with it.
I ordered one that day. The first thing I made was a makeshift drum kit with some tinfoil wrapped around drumsticks and a flip flop. I programmed it in Scratch (which was my first time using that as well). I kept playing around and a few months later, there was a call for Teacher Ambassadors. So I sent in a submission and got accepted. At that point I was also starting to incorporate it into an enrichment class I was doing about interactive sound projects. I picked up 2 more kits from a limited buy one get one free.
I was mostly using the Soundplant software at that point. Then Tom and Liam reached out to me and asked if I wanted to lead a workshop for a Scratch Day event in NYC.
I said sure, but then realized I needed to really step up my Scratch game. So I spent some time figuring out how to do some music things in Scratch. Tom and Liam sent me 5 boards for the workshop which helped me step up what I was doing in my class. I was also able to get money from the PTA to buy 6 more boards, so I was able to go all in with the MM in my enrichment class!
From there, I started doing a lot more exploring about creative coding for my own enjoyment. I met more people in the creative coding/education space and started giving workshops for other events in the city which is where I first started to learn about p5.js.
I tried to push myself to learn something new each time I made a new project. I also made it a point to be diligent about documenting all the projects I make. I was really genuinely interested in it which I think makes a huge difference in learning new things.
"I had never really had an interest in coding before or ever saw myself doing it but once I realized it could be used for artistic purposes, particularly music, it changed my whole outlook."
I've also always tried to bring my own interests into the content that I teach in class, so I kept looking for opportunities to bring the creative coding into my classroom whenever I had the chance. I was given an extra enrichment class each year where I could basically do whatever I wanted, so that became the place I could start teaching about coding and working with Makey Makey.
For p5.js, The Coding Train Youtube Channel was a huge help for me. It was very easy to follow and Dan Shiffman is a great teacher and made it very accessible. From there, I would try to adapt what I learned to include some type of sound/musical component. I found the best way to learn was to have some type of project in mind that I wanted to build and that would push me to figure out what I needed to make it happen. There were a lot of failed attempts along the way because I would look up some documentation or a github repo and some of the stuff I wanted to do would just be way over my head and I couldn’t find any tutorials to help me out. But I would just move on to something else.
As time goes on, there always seems to be new resources popping up which helps move me forward and eventually I developed a skill set where I was able to look at some documentation and build something without any outside help which felt like a big step for me.
You can even code shapes in p5.js which means you can add math to your music and Science lessons!
For p5.js, it is very easy to write in a key press event, so that is basically all you have to do: write in a key press event, have something happen when you press the key and then attach the Makey Makey. Since p5 is first and foremost a visual programming language, it offers lots of possibilities for the types of physical components you can do with the Makey Makey.
If you haven't seen or heard about Sonic Pi yet, it is a live coding music creation and performance tool that comes pre-loaded on the Raspian OS for Raspberry Pi! It is a free, easy to install software that works on all operating systems (Windows, Mac, Linux.) (More about Getting Started with Sonic Pi.)
However, Sonic Pi doesn’t allow for any type of key press events. It does accept incoming MIDI and OSC (Open Sound Control) messages. There are libraries for both of those that can be used in p5.js, so it then becomes a matter of writing key press events in p5.js that send those types of messages to Sonic Pi and then hooking up the Makey Makey, but there is no way to hook up a MM directly to Sonic Pi although at one point I heard a rumor that something like that could be in the works, but Sonic Pi is a small operation so I’m not expecting to see that anytime soon. Using p5 as a go between works fine for me.
I work in a public Middle school in Queens. It has a big focus on enrichment learning so students have the opportunity to take an enrichment class during the week that fits their interests.
However, during this time is when I have my instrumental ensemble, so the coding stuff I do is actually an additional enrichment period that some students get. I’ve wanted to try and incorporate some creative coding instruments into my ensemble and this year I actually built a two and a half octave xylophone that uses 2 MMs to work. This was also the original project I which inspired me to create this midi player app.
The enrichment classes I have taught are usually just a way to fill schedules. They aren’t electives and are given usually one period a week during school. But these have become some of my favorite teaching periods as I have the freedom to teach topics I would like to share with students like creative and physical computing! We cover coding mostly using p5.js (or in some cases Scratch) and I like to challenge the students to go through a design process to build some type of interactive Makey Makey sound project. (Here are some examples: Harp, Water Xylophone , Push Button Guessing Game, Musical Chessboard)
Weekend project: Me and my 6yo made a drum playing robot w/ @arduino & @makeymakey . Uses #sharedpiano from #chromemusiclab for the sounds (inspired by Johnny Tal who posted a similar project on the Makey Makey FB page) pic.twitter.com/MjlhpJVGP3— Mister Bomb (@mrbombmusic) September 26, 2020