Maker classrooms: Is there an app for that?

Since publishing Invent To Learn: Making, Tinkering, and Engineering in the Classroom, Gary and I have done many sessions, workshops, and webinars introducing teachers, students, and parents to the fabulous tools and technology of the Maker Movement and the powerful ideas about learning it embodies.

One question we get asked is, “What iPad/iPhone apps can I use for Maker classroom activities?” While there are certainly many apps that provide creativity options (with more being added every day), what people are asking for are apps that go deeper in supporting 3D printing, computational technology, physical computing, robotics, wearable computing, and programming.

Sad to say, the answer is, “not much”. For things like programming and interfacing with microcontrollers like Arduino, the best use for an iOS device is as a reference resource – playing videos and reading online manuals on how things work, while you work on the real thing in front of you. Or secondly, taking photos and videos to document the process. And I really don’t count apps that work as front ends for design or product databases, those to me are also just other forms of reference material.

Now, that’s not a slap at using the devices that way. It’s a huge advantage to have fast access to reference material and an easy-to-use device to document your progress! My iPad is an essential part of my personal maker-space to constantly look things up or watch videos while I’m working. But I’m pretty sure that’s not what people mean.

The lack of maker apps for iOS* is mostly because:

1. There is no USB connection on iOS devices, which is the typical way programs are downloaded to microcomputers (like Arduino or the Lilypad.)

2. Apple restricts iPad apps that have any kind of real programming capability. There are some apps that simulate programming, but nothing is allowed that is a real programming language, even ones as nice and wonderful as Turtle Art or Scratch, or even simple compilers like the Arduino Development Environment. (Scratch 2.0, which runs in the browser, still won’t run on iOS because iOS does not support Flash.)

That said, there are some companion apps that might be useful in some maker classrooms:

  • 3D scanning/design apps – these use iPhones/iPads to scan 3D objects so that the objects can be recreated in CAD programs and potentially 3D printed or used in games such as Minecraft. There are also simple design apps that allow for 3D design. In both cases the objects need to be uploaded to a web database and then downloaded to your print control software on your computer. AutoDesk is one source. (It’s highly likely that this will change in the near future and there will be iOS apps that can do the design and then beam the design file directly to the printer. But not many school-accessible printers these days can do this.)
  • Circuit CAD programs – there are circuit design apps available. In many cases, these will be too complex for all but the most dedicated HS students.
  • Electronic circuit “helper” apps – For example, there are apps that read resistors and translates the color coded bands on them to resistance values. There are also Ohm’s Law calculator apps, reference apps for pinouts or other specifications of parts and circuitry, etc.

More complex:

  • You could get an Ethernet or other wireless shield for the Arduino to extend its capabilities. Then there are apps designed to control the Arduino using the iPhone/iPad like a wireless remote. However, you still have to program the Arduino with a real computer.
  • Other apps can collect data from the Arduino and create data logs and graphs (Again you would need an additional shield on top of your Arduino to transmit data.)
  • O’Reilly publishes a book on using iOS sensor apps with Arduino

*Note: I realize that “apps” also run on Android and Chromebooks, but that’s a whole different post! Very briefly, Chromebooks do have a USB port, but still only run programs through the browser. This would allow for Scratch 2.0, but not using Scratch to control physical computing devices. There is some discussion in the Arduino forum about programming Arduinos with Chromebooks, but the discussion is pretty technical, and honestly, if you can follow the discussion, you don’t need me to help answer this question! Also, yes, some Android phones have sort-of USB ports. But every project I read, even the “easy” ones, came with warnings about frying your phone. Not really something I can recommend!