Wednesday, August 7, 2013

A $300 Arduino Programming Platform

In Fall 2013 I will begin teaching a Saturday STEM academy for 8th grade catholic school students in Chicago, as part of a Big Shoulders Foundation program. I'm calling it Hack Shop and I want to keep it cheap. The 20-week course will cover hacking the Chromebook (why not, that's fun), using a Linux shell command line interface, Arduino programming basics, and open source collaboration... maybe on GitHub.

Our budget is limited. We will have something on the order of $100-$150 per student; working in pairs bumps this up to $200-$300 per pair. Unfortunately, programming requires a human-computer interface; keyboards, screens, mice, etc. Surfing the web to file-share and collaborate requires an internet connection and a browser. Its hard to manage that, plus a programmable processor and peripherals for that price.

I considered trying to find used computers. FreeGeek Chicago was a great option for that. They are a local community development organization that works to up-cycle used computer equipment. They are awesome... but if I'm going to work with over 20 students that means over 10 machines. Each machine will have a different hardware build and that will be difficult to administrate, even if they are all running Linux.

I needed consistency. I also needed something easy to manage and transport. Hauling around bulky laptops wasn't going to work out very well for my back (though I could probably use the exercise).

So, to recap: cheap, reliable, easy to admin, small and light.

Enter the Google Chromebook. Right now, you can pick up a $200 Acer Chromebook, with 2GB RAM and a 16GB solid state drive at Best Buy. For another $50-$75 you can upgrade to 4GB RAM, 320GB drive. There's also a great $250 Samsung model which is particularly sleek for the price. They all feature HDMI display connections and some combination of USB 2.0 and 3.0, SD and micro-SD card slots, VGA connection, etc.

I've had some experience with these machines in the past as an educator at the Adler Planetarium. At the museum, we have been using Chromebooks with teens. Not only are they easy to use and popular among the students there, but there's another added benefit.

Chromebooks don't work like traditional PCs, they don't run a typical operating system with software applications, etc. Instead, they run a Chrome browser and web-apps. When students log into the machines, there is little they can do to change the computer. There's no concern about downloading illegal files because there aren't any software applications to run them. Moreover, any changes they make to the look/feel of the account is isolated to their own logins: Google syncs their settings and preferences so that it carries between machines and isn't tied to any specific machine. Having found all manner of junk and crazy wallpapers on student computers in the past, this is refreshing.

Of course, this is also the fundamental problem with Chromebooks... since they don't run software besides the browser, they can't run the Arduino IDE required to program the processor! There is however, an AWESOME web-based Arduino development and collaboration platform called Codebender. Unfortunately, they haven't developed a plugin for Chrome on the Chromebooks yet, so at the moment, that's not a solution.

Fortunately, the good people at Google built the Chromebook browser environment (Chromium) on a Linux kernel. So a whole bunch of people have exploited this to override the operating system. For more details, see my next post.


  1. This blog awesome and i learn a lot about programming from here.The best thing about this blog is that you doing from beginning to experts level.

    Love from

  2. This blog awesome and i learn a lot about programming from here.The best thing about this blog is that you doing from beginning to experts level.

    Love from Pprogramming