Tinkering – Where Hardware Meets Software

Posted by

Teaching the Basic Elements of Engineering and Computer Programming


“Tinkering” is a course in which students learn to construct programmable electronic circuits consisting of varied inputs and outputs.  The purpose of this course is to teach students the relationship of hardware and software, basic electronic components and how to write software. Each circuit is explained to the students stating what each component is and how it is used in the circuit. Each tinkering exercise builds on the previous exercise, by adding new components and software constructs.

Building something that does something always amazes students. When students take basic electronic components, such as LEDs, motors, photoresistors. etc., and learn to control them with software, it not only demonstrates to students the relationship of hardware and software, but also exposes the students to the fundamentals of engineering.

The last several years have seen an explosion of Do It Yourselfers and Makers as exemplified by Myth Busters on television, Maker Faires and the raise of 3D printers. Students yearn for hands on in this test driven education system. Educators are circling back by reinventing STEM curriculums based on the progressive educator John Dewey and the Constructivist Seymour Papert.

Students develop several skills in the course of Tinkering based on developed educational standards.  The exercises draws on the underlying principles of electrical engineering, hardware and software design. Students must grasp these in order to complete the project.

In the programming exercises, students learn computer operations and how hardware and software interact with each other. Students must learn to diagnose problems as hardware or software and then resolve them. Success hinges on their ability to do this.

The Exercises

ProTrinketServoKnobThese exercises have been given to students starting at grade 6 all the way up through high school. The additional document linked below includes all the exercises and a complete parts.

The hardware in based on the open hardware Arduino standard. In these examples, a 10 dollar Adafruit Pro Trinket microcontroller is used. The software used is also open sourced and free from Arduino.cc.


Students learn basic electronics and computer programing by following exercises laid out in a step by step guide. In every instance when this class is taught, there is a “light bulb” that goes off  in the student’s mind when the connection between hardware and software is realized. When students complete the exercises, they are empowered to create their own STEAM based projects.  

Complete Courseware

One comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s