Microcontroller programming is useful but complicated for makers. New tools can make it accessible to all

microcontroller-programmingWhen I designed the curriculum for my middle school Physical Computing course, I envisioned microcontroller programming as the pinnacle of student progress in the course. A microcontroller is essentially a tiny computer on a circuit board. They usually retail for under $50, and they allow students to connect sensors, motors, LEDs, and other electronics connected to IO pins by writing code and uploading their code to the board. Arduinos, Humming Birds, and Raspberry Pis are examples of popular microcontrollers.

I felt that if I could get my students to the point where they could read sensor input from the physical world, process that data on an Arduino board, and execute instructions based on it, they would have developed a great understanding of the fundamentals of the course. I felt that these skills would transfer to nearly any electronics task, and with additional research, my students would be able to invent and build nearly anything they wanted to.

The problem is that microcontroller programming is complicated in several ways. Also, unlike the video game controllers or battery powered cars that students were building earlier in the course, the concept of what an Arduino board is, what it does, and why they should care, is completely foreign to most students.

In order to get students to succeed at this daunting task, I needed to give them an experience where they could see an authentic need for a microcontroller. I then needed to scaffold things like circuit construction and programming for them, so they could develop those skills in a way that was engaging and not frustrating.

Next page: Microcontrollers have big possibility for makers