ProtoSnap Contributors Guide

From OLPC
Revision as of 21:59, 17 September 2013 by Holt (talk | contribs)
Jump to navigation Jump to search

This ProtoSnap Contributors Guide connects your XO to the real world of electronics, sensors and activators -- using SparkFun's $29.95 ProtoSnap - Pro Mini. We use the Logo-like Turtle Art (AKA Turtle Blocks) visual programming environment initially, but later Scratch & Etoys are expected too. Please ask questions on the unleashkids@googlegroups.com mailing list! You can join right here: http://groups.google.com/group/unleashkids

These instructions have been tested on the XO-1 and XO-4 Touch laptop using the latest 13.2.0.

Some deployments are using older releases such as 11.3.1 in Haiti 2013. This release has not yet been tested.

Loosely speaking, this 5-phase install will proceed as follows:

  1. install requirements
  2. setup build environment
  3. build it
  4. upload it (to the ProtoSnap board)
  5. install the TurtleBlocks plugin

Once the ProtoSnap has been programmed with the StandardFirmata, only the last step is needed on each subsequent laptop.

Recipe

  • Install 13.2.0 onto your XO laptop
  • Connect your XO to Wifi Internet (Neighborhood View = F1 key)
  • Open the Terminal Activity (within Sugar's "List View" in the top-right of the Home View = F3 key)
  • On an XO-1 the 1 GB of flash is not enough to do the following installs (an extra 133 MB is needed). So you will need to make space first. One tested method is to delete the Library (72 MB) and several Sugar activities such as Scratch (59 MB), Speak (19 MB) and TamTam (20 MB), which you can reinstall later if necessary, or reflash,
 rm -rf Library Activities/{Scratch*,TamTam*,Speak*,Help*,Memo*}
  • Install 3 packages, each of which take a couple minutes to install. Run:
 sudo yum install -y ino git make
  • Run the following 4 commands to create a project directory:
 mkdir firmata
 cd firmata
 ino init
 mkdir lib
  • Correct a packaging error in "ino", running these 2 commands:
 sudo mkdir /usr/share/arduino/hardware/tools
 sudo cp /etc/avrdude/avrdude.conf /usr/share/arduino/hardware/tools
  • Copy the StandardFirmata source into the project directory and build it:
 cp /usr/share/arduino/libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino ./src/sketch.ino
 ino build
  • Plug in a "USB-A to mini-USB" cable, connecting your XO to the ProtoSnap (Ian can provide these, or 80 cents @ monoprice.com). Then run:
 ino upload
  • ProtoSnap's bright white light will turn on! Finally, run:
 git clone https://github.com/itdaniher/turtleblocks-arduino.git ~/Activities/TurtleBlocks.activity/plugins/arduino
  • Return to Sugar's Activity wheel (Home View) and launch the TurtleBlocks Activity. Load the sample TurtleBlocks project here:
 http://wiki.laptop.org/go/File:TurtleBlocks_Activity.ta

Screenshots

Screenshot of TurtleBlocks Activity 3.png Itdaniher--photo.JPG

FAQ

why is this not easier?

  • nobody has stepped up to package this into a Sugar activity, and it is only needed once for each ProtoSnap, not once for each laptop.

programmer is not responding

  • The Arduino Pro Mini supplied on the ProtoSnap is different to the Arduino Pro Mini sold alone, in that it has the Arduino Uno bootloader. Since ino defaults to uno, this is normally harmless. If using an Arduino Pro Mini sold alone, create a default .inorc file:
 echo board-model = pro5v328 >> ~/.inorc
  • "Sometimes the proMini gets stuck and needs a manual reset to reprogram. Try programming it again, and hit the RESET button just before the code is downloaded to the board. This often fixes the board. Afterwards, you shouldn't need to do this again. Hopefully." Thanks to the amazing Brian Huang at SparkFun!

See Also