You are viewing an older revision! See the latest version

m3pi Development

m3pi

I have a list of things I want to achieve in my project with the 3pi (I've started to refer to mbed extended version as m3pi), but I'd ask others to add thier own ideas. The ideas below are just driven by my objectvies and irritations

  • An "m3pi" library class that abstracts all the features and functions of the basic 3pi to simple method calls. (controlling motors, LCD, speaker, line following sensors)
  • An eagle library for the expansion card template, and a refernce design to be publushed and reused. Alex has kindly shared his work on this.
  • A battery charger on the expansion card, to charge NiMH cells fitted into the 3pi. My idea here was to have the batteries charged by USB whenever is is plugged
  • Footprints for common, low cost wireless modules (Bluetooth, Zigbee, Wifi)
  • 38kHz IR source and detector for object detection (maze solving)
  • Use a SPI port on the mbed to reflash the ATMega328 from the mbed LocalFileSystem (drag and drop programming for the ATMEga!). I'll reuse the AVR910 implementation from Aaron Berk

Getting Started

As ever, lots to do for a new platform, but the Pololu site is really well set out.

The tool chain

To start working with the 3pi, you'll need to complete the following steps (or similar). Download and install a toolchain? How quaint ;-)

Seriously though there is plenty of help at the Software resources area on the Pololu site.

  • Download and install AVR Studio
  • Download and install WinAVR (avr-gcc compiler)
  • Download and install the Pololu code examples
  • Get a copy of HEX2BIN - the output of AVR Studio is hex files, Aarons AVR910 implementation only works with binary files.
  • Build (and convert to binary) the 3pi Slave example.

The hardware (for my project)

Before I go headlong into making a PCB, I want to prototype it all up, so I bought an expansion card, and built this :

m3pi prototype

Resources


All wikipages