ProtoSnap Contributors Guide

From OLPC
Revision as of 23:50, 17 September 2013 by Quozl (talk | contribs)
Jump to: navigation, 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 Blocks<ref>Turtle Blocks was previously known as Turtle Art</ref> 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 Turtle Blocks 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. Type this:
 sudo yum install -y ino git make
  • Create a project directory. Type this:
 mkdir firmata
 cd firmata
 ino init
 mkdir lib
  • Correct a packaging error in "ino". Type this:
 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. Type this:
 cp /usr/share/arduino/libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino ./src/sketch.ino
 ino build
 ino upload
  • Check that the ProtoSnap's bright white light turns on.
  • Download the Turtle Blocks plugin. Type this:
 git clone https://github.com/itdaniher/turtleblocks-arduino.git ~/Activities/TurtleBlocks.activity/plugins/arduino
  • Return to the Sugar Home View and launch the Turtle Blocks Activity. Load the sample Turtle Blocks project here:
 http://wiki.laptop.org/go/File:TurtleBlocks_Activity.ta
  • Go hog wild<ref>enthusiastic actions</ref> in Turtle Blocks, thanks!!
  • Please submit all priority bug reports to our mailing list: unleashkids@googlegroups.com (join @ http://groups.google.com/group/unleashkids)

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!
  • sometimes the Modem Manager process sends modem commands to a newly attached Arduino, in the hope that it is a USB modem. Give it a minute to give up, and try the upload again. See serial adapters for more information on this problem.

See Also

Notes

<references/>