This is a review of Savage Innovation's new microcontroller, the OOPic 2
By now, all the regular readers here at The GoRobotics Network are
probably aware of the OOPic processors. This little beauty is loaded
with great features (and a great price) that make it quite attractive
to robot builders. If you aren't familiar with this chip I'd suggest
reading the origianl review from 8/00
here. From here on out I'll just assume you're familiar with the original chip, its features and drawbacks.
Back in May or so I got an e-mail from Scott Savage, the guy that
created the OOPic, asking me if I wanted to be on the beta testing
team. Being the smart guy that I am I said yes. The requirements for a
betatester was that the tester had to had a current project that he
could use the OOPic on and that he not blab about all the cool stuff in
development. I fit the bill and Scott quickly sent me out a beta chip.
The new chip contains aproximately twice the RAM, which is
evenly divided between object RAM and variable RAM. There were also
numerous new objects planned to do some really great stuff. Best of
all, you can now use 7 of the PICs internal A/D converters (instead of
4). The chip sat all summer (hey, I was busy redesigning this site!)
and I can't say that I did anything more than possibly blink and LED.
Towards the end of the summer, since I was feeling quilty, I finally
got around to testing out some of the new objects. A few that stood out
to me were the objects to handel the use of an H-Bridge motor driver,
the Devantech sonar units, and to product tones on a speaker. Without
too much hassle I was able to get my Magnevation motor driver board to
work well with the oDCMotor object as well as being able to easy
product some music on a speaker hooked up to a pin. That was pretty
exciting! Maybe now the OOPic would get some of the cool feature set of
the Basic Stamp.
Scott's idea with the myrids of new objects is to be able to
reduce the bulky overhead code as much as possible and allow people to
concentrate on what is really happening on a wide scale. As mentioned
before, the 86 new bytes of object space (seperate from the 86 bytes of
variable space) allow for a lot more objects to be running in code.
And, with over 60 new objects, it is certainly easy to hook up just
about any sensor or actuator to it. The OOPic 2 also has expanded
capability for 16bit math and signed numbers for a lot of the objects.
Speaking of objects. I'm sure your wondering what's new and
what they do. Following is a list of the new objects and a brief
description of what they do:
oA2Dx
All objects that have been expanded since the
original OOPic are affixed with a 'x' at the end. The A2D object is no
exception. Along with the same fuctionality of the original oA2D object
the the new oA2Dx object has a feature which allows you to set a flag
when the analog value passes a certain threshold. This would be great
if you were trying to link a bend sensor or some such analog device up
to an interupt. And the ability to use 7, instead of 4, analog to
digital lines!
oCompass(DN/VX)
These objects are used to read the data from a Dinsmore (DN) or a Vector V2X (VX) compass.
oDCMotor
This allow you to control a motor with a H-Bridge
chip. It allows you to set the brake, direction, and PWM pins and
control the motors via a signed number for speed. It certainly
simplifies things, allowing you to condense a PWM object and two oDIO1
objects into one.
oIRRange
With this object you can read from a Sharp GPDU12 infrared rangefinder from
8 differnt I/O lines.
oJoystick
Allows you to read from an Atari style joystick.
oLCD
This object controls a parallel (8 I/O lines) LCD screen.
oLCDSE
This object allows you to control a serial LCD screen, like the ones from
Scott Edward's Electronics.
oMotorMind
Controls a "MotorMind" module.
oPWMX
Just like the oPWM object except you can do PWM on
all the I/O lines. Cool!
oQencode
This object makes reading a quandrant encoder (two encoders positioned so you can tell
the direction of travel) a snap.
oSerialX
Serial data transfer on any I/O line.
oServoSE
This object allows you to control a
Scott Edward's Serial
Servo Controller.
oServoX
This allows you to control your servos via the URCP
standard. Instead of the 64 steps that the oServo object gave you, you now have 128 steps.
oSonar(DV,PL)
These two objects automate the process of reading from the Devantech and Polaroid sonars.
oStepper
Easies the process of controlling a stepper motor.
oTone
Music! Yes.
oTracker
This object tracks the position of a line. This is perfect for a line following robot. You simply
feed the line detectors into the object input lines and it will report the position of the line!
W00t!
oUVTronHM
Fire-fighting anyone? This object will reading the data from a Hamamotsu UVTron Flame detector.
Along with these great new hardware objects the OOPic2 has over 40 new processing objects. They
do everything you need! You can view the full list of new objects at
http://www.oopic.com/newobjlistb.htm.
Conclusion
Well, I have to say that this is a very nice microcontroller. I
mean, what more could you ask for ? Yes, better documentation would be
nice, but that's a secondary issue. The chip is so stinking
easy to work with you really don't need a lot of documentation. You can
also find loads of help
at the OOPic
discussion list.
The bottom line is that if you don't have a OOPic go and buy one. If
you already have the first one (version A) then you should seriously
consider getting version B. Scott says "For those people who have
purchased an OOPic I after Sep. 11th ... There will be special pricing
for an upgrade." The set price for the OOPic2 starter kit is
$69, with just the chip and board costing $59. If you've ever priced
controllers before you'll
know that this is a great deal. Sure, it's more than the original, but
you sure get a lot more great stuff with it! As I recall, the only
other grip I had with firmware A was that you could
only use 4 of the PICs 8 analog to digital lines. Even that's no longer
a problem with firmware B
you can now use 7 of the PICs A/D lines (the 8th is used by the
EEPROM). The GoRobotics Network once again gives the OOPic two tumbs
up. For purchase info go to www.oopic2.com. Tell them GoRobotics.net sent you!