XO Bot joins the XOrduino and XO Stick
Free things first: I've got parts for 20 copies of the "Mk I"
XOrduino and XO Stick. I'm mailing them out for free (!) in exchange
for your development help. Send me an email at
xorduino@gmail.com describing what you'd like to do with the
XOrduino/XO Stick, and your full mailing address. Best 20 or so get kits.
Here are some of the projects which you might be able to help with:
- Assemble an XOrduino / XO stick with an 8-12 year old and document
the process. What parts were tricky to solder? Where did polarity
matter? How much of the function of the different devices did you
find worth explaining? Photos or video of children assembling the device would be great for future publicity, with their permission. (We're not crazy: kids can repair XOs and solder.)
- Test different configurations of the boards. What are the
fewest components necessary for a functional XO Stick?
What capacitors are really needed? What's the smallest number of
components needed to get the arduino IDE to talk to the XOrduino?
Then add the components for the Scratch Sensor Board functionality,
and test that with this Arduino sketch (some minor porting required). Try out whatever
Arduino shields/old Arduino code you have lying around, and see if there
are any gotchas there. Document it all, take photos and video, let me know about bugs and pitfalls.
- Write some killer education apps! These
boards are meant specifically for teaching kids—take the Turtle Art with Sensors ideas as examples, and write up some
lessons to teach science. Or take inspiration from the old school
"fun with electronics" kits from Radio Shack and recreate some of the
popular standbys: a burglar alarm for kids' tree fort,
a light-sensitive alarm they can hide in their sibling's drawer,
etc. Or a document how to program a robot (more on the robot below) with simple emergent behaviors—avoiding walls, turning toward light, fleeing loud sounds, etc. The Cubelets examples may give you ideas. Take photos and video.
- Arduino support for the XO Stick. There are a number of projects
which add support for the ATtiny85 and friends to the Arduino IDE (for example, this one).
Ideally we'd like to make the XO Stick as Arduino-compatible as
possible, so we can reuse the excellent Arduino IDE, etc.
This involves (a) porting an arduino-compatible bootloader (like
usbAspLoader-tiny), as well as (b) porting the Arduino libraries to match the
pinout/peripherals of the ATtiny85 and ATtiny861 (this page is a good start).
- Program an XO Stick from an XOrduino and vice versa. Ideally we'd
like to bootstrap the initial chip programming, so that one
programmed XOrduino (or XO Stick) can be used to put the initial
bootloaders on the others. For technical reasons the XO Stick
is probably best as a "clone tool": without interacting with the
USB bus it would just copy its internal memory to another
XO Stick. The XOrduino is a little easier, just a matter of
adapting the existing Arduino sketches and documentation.
- Debrick an XO from the XO Stick. The XO Stick can talk to the
EC programming bus to recover a bricked XO; it can probably also
reprogram OpenFirmware. We need to write a bit of code to make it
pain-free and document the process. This would make the XO Stick a useful repair accessory for XO deployments.
- Scratch/Turtle Blocks support for the XOrduino and/or XO turtle bot (see below).
Here's the exciting part two: I'm already working on the XOrduino and XO Stick "Mk II". The latest schematics/boards
are in github (xostick, xorduino). The kits I'll be sending out this week correspond to the "A1" tag in those repositories; the "Mk II" revision is on the master
branch.
The XO Stick gets a minor change with big implications: instead of
using a 20-pin header matching the ATtiny861 pinout, I've widened the
board to give the XO Stick a standard Arduino shield connector (and some
prototyping area). This opens the way for a port of the Arduino IDE
(mentioned above), but it also means that the XO Stick can be mounted on top of
an XOrduino. In a cost-conscious classroom environment, this allows a teacher to buy/make one copy of the XOrduino with all of its
fancy peripherals (scratch sensors, robot support) and then give each student a copy of the
cheaper XO Stick. The students share the XOrduino and swap out their XO Stick "brains" on top to control it or use its peripherals. Mating the two
boards also makes it straightforward to program an XO Stick from
an XOrduino, or to use the XO Stick's prototyping area to hack together
a shield for the XOrduino.
The XOrduino gets a more exciting feature (hinted at above) -- enough peripherals to become the XO Turtle Bot! This is a very
low-cost turtle robot based on a Tamiya motor assembly. All of the
extra robot components are optional—you can populate just the parts you want—but a classroom can now make
their XOrduinos (or XO Stick + XOrduino base) into standalone turtle
robots, controlled by Scratch, Turtle Art, or Arduino code. The XO Turtle Bot revision adds a motor driver, two bump switches, a simple 3-cell
power supply, and rotation sensors for the motors to the XOrduino. (Arnan Sipitakiat and Nussarin Nusen in their Robo-Blocks presentation for IDC 2012 explained that children find "turn for two seconds" hard to understand; we include motor sensors so that we can "turn 90 degrees" instead.) And of course because the robot is based on XOrduino, you can add
whatever other sensors you like and write arduino/Scratch/Turtle Blocks code for it.
I'm excited about the potential of low-cost robotics and the Arduino platform for
education. If you are, too, let me send you a kit so you can help
out!
Syndicated 2012-08-02 06:39:39 (Updated 2012-08-02 07:14:11) from Dr. C. Scott Ananian