From IPRE Wiki
Jump to: navigation, search

This page describes the instructions to use the Myro Python API with the new Scribbler 2 robot, and the Fluke from Georgia Tech.

Experimental Advanced Functionality

John Cummins has shared the following projects with IPRE.


John says:

allspin: I have changed the GET_WHEEL_ENCODERS message so it returns signed longs and takes a parameter that allows the encoders to be reset. I have added a file notes.txt that provides a little documentation as a starting point..

alllib: Look in example.cpp to see how I attach to the bluetooth device via the bluetooth 6 byte address. (hcitool scan will show you the address of your Fluke). I think I had to download libbluetooth from Synaptic Package Manager for this project. you might want to put this in a directory tree like this scribbler2/lib/src I added a file notes.txt as a starting point for anyone who wants to use this. example.cpp now has my first attempt at converting encoder values into coordinates and orientation.

allsimulalator: you can put it in scribbler2/video/src It depends on SDL, SDL_gfx and SDL-mixer and probably other librarys. All can be loaded from Synaptic ./video is the simulator examine example.cpp to see how I attach to it.

I have updated the to include code to read the wheel encoders and read the microphone envelope and the to support the new messages. In the spin files I have commented the lines I have changed with my initials (JC) and occasionally an actual comment I hope is helpful. I will update this on an irregular basis. I can be reached at

Current Firmware

There is no new functionality in this upgrade, only support for the Scribbler2 robot and bug fixes.

What needs testing:

  1. Make sure that all of your old programs work on the new and old Scribblers
  2. Check out the accuracy on S2 with turning and moving forwards and backwards. You should be able to be very accurate, drawing shapes, and even letters! Below you will see an image demonstrating the ability of the S2 to turn in fairly precise angles. Compare with Real Robots Don't Drive Straight.
  3. - not as new, but still needs some testing. This is Fluke-only, so should work with old and new robots.

If you have questions, comments, or issues, please use the mailing list.

Beta Testing Instructions


You will need the following:

  1. Fluke
    • If you have a Revision R6, then you can upgrade its firmware via Bluetooth
    • If you have a Revision R4, you will need a cable and software
  2. Scribbler2 (S2) - red (pictured to right)
  3. Bluetooth (associated and paired correctly with your computer)

Upgrade your software:

  1. Upgrade Myro Python API - need the latest (2.9.0 or greater) from SVN:
    svn co Myro
  2. Upgrade Fluke R6 firmware (2.9.1 or greater):
    $ cd Myro
    $ python
    >>> from myro import *
    >>> upgrade_fluke("Fluke/main-2.9.1.hex")
  3. Upgrade Scribbler firmware (1.0.0 or greater):
    $ python
    >>> from myro import *
    >>> upgrade("scribbler")

Now you should be able to use this version of Myro:

$ python
>>> from myro import *
>>> init("COM5")
>>> beep(1, 440)

TODO Features

The S2 has many features not yet included in the Myro API, nor any of the firmware. The following will be added by Keith O'Hara and colleagues at Bard College over the next semester:

  • Set scribbler low-battery light to correct level
  • Expose volume control
  • Make scribbler speaker "voice" configurable
  • Add support for microphone
  • Add support for wheel encoders
  • Add support for multi-color LEDs
  • Add support for hacker port
  • Take advantage of propeller parallelism