Of course, circuit design is only one of several challenges for students programming a microcontroller. Students who are novice programmers will also struggle to write the actual code. For several years, graphics-based programming tools like Scratch or Tynker have helped students learn programming fundamentals without having to struggle with the tedium of code writing. Arduinos, however, are programmed in a proprietary language that is based on Processing. This can be daunting for students who have never written code before.
Fortunately, a Spanish company called Citilab has developed a Scratch derivative that can be used to program an Arduino. Technically, S4A (Scratch for Arduino) code executes on a connected computer, not directly on the Arduino. It works by reading and writing to Arduino pins every 75ms, so this limits invention to those that can be tethered to a nearby computer. But this may be a great way to introduce beginner programmers to writing code for a microcontroller.
The Arduino bit addition to the littleBits library has effectively put microcontroller programming into the hands of young students regardless of their experience level. By eliminating the tedium of circuit building and breadboarding, the Arduino Bit leverages the power of the sophisticated but simple click-and-build system of littleBit circuit design. By combining this bit with a graphics based programming environment such as Scratch for Arduino, novice makers are will have an outstanding entry point into microcontroller programming.
Ultimately, they can progress to more traditional Arduino boards with circuits they build on breadboards. When this happens, they will be limited only by their imagination.
Trevor Shaw has worked as an ed-tech leader, speaker, writer, consultant, and classroom teacher for more than 20 years. He is currently the director of technology at the Dwight-Englewood School and can be reached at @shawt, +TrevorShaw, and email@example.com.