Let's Make Robots!

Gadget Gangster Propeller Platform - Review

The Propeller from Parallax is a pretty neat processor. 32 I/O, up to 80Mhz clock speed giving 160 MIPS, available in a DIP package. But best of all it can actually multitask and do as many as eight things at a time. Until recently, though, there hasn't been a really easy-to-use prototyping board for the Prop. Yes, Parallax has modules that plug straight into a breadboard, but that doesn't make for the cleanest of robot projects. And yes, there are some Propeller boards that have a large prototyping area. Once you've soldered up your circuits on one of those there isn't a whole lot of reusability anymore. Despite being available for several years there just wasn't, to the best of my knowledge, a simple, flexible, plug-n-play type of single-board microcontroller based on the Propeller.

Finally Gadget Gangster stepped up to the plate and brought us the Propeller Platform Module. Similar to the Arduino in layout, the Prop Platform is almost everything you need to get started using the Propeller chip in whatever microcontrolled project you've got in mind. Add to that a selection of pluggable, stackable modules and the Prop Platform is just as ready to be a video game system as it is a motor controller.

 


On the power end you have a plain old 2mm barrel jack to plug in your favorite wall wart. If you prefer screw terminals that's an option too, GG has put the appropriate holes in place. Just solder one on instead of the barrel jack. Past the switch there are two regulators supplying both 3.3V and 5V, and three 47μF capacitors to make sure things are nice and smooth. Three indicator LEDs to let you know what has juice and what doesn't.

 


The other end of the board has the brains of the operation, the Propeller chip itself (complete with a handy sticker to know just which pin is which) . Next to that is a socketed 5MHz crystal and a 4.7μF tantalum capacitor. The larger cap and the socket make the Prop Platform really brainless to overclock as well. Just pull the 5MHz crystal out and stick a 6.25MHz crystal in its place and it bumps up to 100MHz (200 MIPS). The little chip on the top-right is a 32KB EEPROM for storing your code. just below that is another 8-pin footprint for adding a second EEPROM if you need some space to store data. Both of these are tied to P28-P29 for I2C communication. At the bottom is a standard reset tact switch, and the 4 pin header for the Prop Plug or USBThumb programmers.

 


The whole thing comes in at 3.8" x 2.5" (96.5mm x 63.5mm). That's a 40 pin header above the board for some reference. As you can see in the photos, all 32 I/O, plus VIN, GND, 3.3V, and 5V are brought out to holes on .100" centers. Since the Prop Platform comes in kit form you can have your choice of male or female headers, both, or none if you prefer. There are also two rows of header holes so you can put the two different headers on both sides of the board for easy module stackability.

 


As the name suggests, the Platform Prototyper Module is designed to give an area to build whatever you want and plug it onto (or beneath) your Prop Platform. The top 1/3 or so is a series of unconnected through holes (point-to-point), with an 8-pin SOIC footprint for playing with surface mount chips. The bottom 2/3 has various connected holes giving at least 2 empty pins for each of the I/O from the Propeller chip, and 4 rows for power/ground busses, or whatever you like. This is the module I used for connecting an h-bridge, servo, and PING))) sensor to the Prop Platform in the 812-R8 robot.

 

All in all the Propeller Platform seems to be a really handy way to start playing with the Propeller chip. It manages to take all the good parts of the Arduino platform, kills some of the annoying parts (like the goofy 1.6 hole header spacing), and stuffs a hot rod chip into the mix too. With the growing selection of plugin modules adding features to your project is easy (who'll be the first to build an El Jugador robot?). And since the PCB measurements match ExpressPCB's miniboard service, making custom modules with professional quality PCBs can be simple and fairly inexpensive. As if that weren't enough, the Propeller Platform will also be featured in the Spin Zone column of Nuts and Volts Magazine for even more tips and project ideas. Finally, if soldering, or a USB programmable board aren't quite your cup of tea, be sure to check the Propeller Platform SD which comes mostly prebuilt and lets you run your code straight from a micro SD card.

I leave you now with a few more photos. Please feel free to leave any comments or questions, as long as they're not about my soldering skillz ;)

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

One question, though;  Any complaints?  There are a few things I think could be changed (some of which I've tried to address with newer designs), what do you think could be improved?

So far I don't have any real complaints. There's the upside-down power LED but that wasn't a surprise at all as LED orientation is clearly described in the build instructions. Otherwise, the only thing coming to mind right now that bugs me is the fact that the Propeller has no analog pins, and that's Parallax's issue not yours (and supposedly will be cured in the sequel anyway).

If anything comes to mind I'll certainly let you know.

Well done both Rudolph and Gadget Ganster. Once I get tired of the Arduino I'll definitely consider this as my next processor to play with.

Very very sweet!

Quote: "The little chip on the top-right is a 32KB EEPROM for storing your code."

? Storing your code? What, is the Propeller RAM only? What, explain, thanks :)

Correct, the Propeller has RAM only. When it boots up it checks to see if there's an I2C EEPROM on pins 28-29, and if that EEPROM contains a binary for it to run it loads that to RAM and executes it. If there is no binary to run it goes into low-power mode and waits for something to happen (like loading a binary from the editor).

What's really handy about this setup is that there are separate "Compile and load RAM" and "Compile and load EEPROM" options in the editor. You can program, load RAM, find bug, reprogram, reload, ad infinitum, without using up any of the lifetime of the EEPROM (that and it's faster than writing to EEPROM every time). If you do manage to use up all the write cycles you can just swap out the memory chip instead of having to toss the whole microprocessor (though I wonder how often that really becomes an issue).

I don't know (yet, anyway) if any leftover EEPROM space is available for data storage when using the 32K chip and when the program is < 32K, or if you have to have a second EEPROM to be able to save stuff. I have read that with a 64K chip it still only holds a 32K program (which I believe is the amount of RAM in the Prop) and the other 32K is free for writing to.

To answer both you and Fritsl, you can add a 64K chip for 32K of program plus 32K for datalogging like Parallax did on their Robot Controller board on the Stinray robot kit. There are also ways to use standard SD cards for storing mulitple programs and using PropDOS to load the desired program out of a list of programs. The LARGO's language can allow the Prop address up to 8M of RAM.

The Prop has 32K of Hub RAM shared by all Cogs and each Cog [8 sub microcontrollers] has its own 2K of RAM for local data or Assembly code. There are serveral Prop boards and languages that eliminate these limitations by loading code in Cog RAM from external RAM or SD cards. The only Propeller that includes an EEPROM is the PropStick.

Awesome review, Rudolph! If I ever wedge myself off the Picaxe platform, I'll definitely give this strong consideration.

This kind of reviews tells us so much more about project boards than just the product descriptions published on webshops. Just a nit to pick: the link to your project R8 does not compute. Is it still drafted?

Oops. Forgot the /node part of the URL. You'd think I'd remember that...

You'd think I would catch that ;-)