Based on the rest of their stuff, the price is going to weigh in around $65
It's not a whole lot more than a simple microcontroller, a crystal, and some
headers. Buy the chip yourself for less than five bucks and integrate it
into your own board.
Yeah you could probably roll your own and program it in either C or
Small C is free, but C will cost you a pretty penny, have you priced
But the ISOMAX/Forth language that is built in is really nice.
Remember this sucker runs at 80mhz clock.
Lets, see, you need a 3v regulator for the chip, RS232 MAX232 like chip,
8mhx crystal, some LEDs Caps and resistors.
Then you need to lay out a more than two layer PCB for mounting the chip.
So putting several 4-7 layer PCB layouts on one board to have made by a
You may have to use a PCB layout program that isn't free too.
The last time I checked that was pretty expensive. So you'll wind up with a
bunch of PCB's to cut out of the big board (of which you had to get at least
But the cost per PCB is usually $50-60 bucks a board. Unlike a company you
can't order in quantity.
And making your own 6 layer PCB with plated through holes is pretty hard to
Then you'd have one too, but unless you roll your own Forth, it's C or
So actually it's pretty cost effective when you think about it.
I agree. I started out with pre-built microcontroller (the OOPIC) but
very quickly outgrew it. I found I needed the flexibility provided by
selecting the right $5 PIC chip for my app and adding a crystal. The
programming learning curve is kinda steep, but it's worth it.
You're a just a little ahead of us Mike. We've only sold one, and you
got it. We're still working up documentation, etc., for the rest of the
world. We expect to announce this coming month, but we did put up
pictures on the web site, which I just saw yesterday. Well, I'm not
complaining. I also made a post on trcy today about it. So, it's okay.
It's something we've been developing for about a year now, trying to get
"just right". We've been through about a half a dozen versions, which
weren't quite the way we wanted, for one detail or another. Hardware is
good now. You have production unit # 1.
Ha ha... Right. :-P
If you know where we can get this chip for less than $5, we'll take a
thousand of them right now.
for SPAK56F803BU80, but you may not be able to buy them, since
they may be on allocation. Expect possibly to have to pay 50 to 100% or
even 200% premium, if you find them. Depends if they've caught up with
Also you might want to get half a dozen or more, 'cause the pitch is so
fine on their leads, less than an expert solderer will probably go
through a handful before getting one down right. Good luck knowing the
BTW, make sure your board is at least 4 layers with significant gnd/pwr
planes, per Motorola recommendations, or the timing may get "off" inside
the chip. Expect to pay several hundred dollars for a prototype run on
multilayer boards or more.
And don't forget the SMT serial chips, CANbus interface chips, LVDT,
drivers, LED's, caps and resistors, on the bottom you can't see in the
picture. Oh, and the free software provided with it, ...just get the
evaluation version of Code Warrior for $495, which is much less than the
full $5000 version we got when it first came out. I think it's actually
down to $2995 now.
I don't think you're giving good advice this time, and hope you don't
mislead the less knowlegeable. But everybody has an opinion.
Well, I'll put aside the fact that you're *selling* them, for now. Though I
notice you didn't dispute my guess at pricing at all.
I'm not saying it has zero advantages. Since the chip is covered up with
that sticker, it's not immediately evident that it's a MCU/DSP combo. If
you're buying a chip for 16 GP I/O, serial, PWM, and some other peripherals,
there are lots of microcontrollers out there for peanuts. And C compilers
for less than $200. They don't really require a four-layer board minimum,
either. But if your application really needs the DSP functions of the
device, and isn't hampered by the 16 GP I/O limitation, then it may be a
Soldering a device that size isn't difficult. There are techniques which
have always worked for me. And building boards, as long as you aren't making
a multilayer board, which you don't have to if you only need a normal
microcontroller, isn't that bad.
But, hey, don't worry about me. If someone has an application that uses the
full power of the chip, then it's worth it and they'll buy it. I just hope
no one thinks this is a good idea for a little line-following bot or
something, that's all. Sorry if I'm getting in the way of you selling your
It really comes down to what you want to spend your time doing, and what
your time is worth. There is a trend in industry called COTS, Commercial Off
The Shelf. More and more people are realizing that if you let someone else
do the difficult stuff, then you can do what you want to do. If designing
and stuffing boards is what you want to do, then that is ultra cool, because
the world is your oyster. For me, that comes last in the list of things that
I like to do, but it used to be the opposite.
Express PCB is a really nice service, I haven heard that they do 4 layer
boards. Got to try that some time.
I like to build mechanical contraptions, and give them a life of their own,
so hardware based registers for everything is ideal. I hate writing
interrupts, and dealing with program level timing. I did that with some PIC
chips and got real sick of it. I don't like working in assembly anymore.
Take the basic stamp for example, for $79.00 you are buying an awful lot of
development on their part. I just think that if you want to play with
advanced concepts, your money is better spent on a tinipod or a pluga pod.
Personally, I would rather see someone build a line follower with a motor
control DSP, where thay have the opportunity to play with more serious
robotics concepts, than buy a basic stamp. and ram their head against the
performance ceiling. In fact I am working on a line follower with some small
motors and H-bridges I have. I am stuffing it into my spybotics thing, and
also a 1/32 diecast car I have.
My tinipod is battling with my plug-a-pod for a couple of projects. I am
building a stabilized platform, and depending on a lot of things, I may want
to use 16 bit analog for my sensors, in which case I will use the pluga.
I am also working on a miniaturized version of my centipede, in which case,
the pluga is an ideal CAN node, since I can do my CANbus backbone, and my
motor PWM. I have smaller encoded motors, like the ones I gave DPRG, that
would be perfect for a mini-pede, and now I could go with PID control on
I just finished up doing inverse kinematics for the LynxMotion L6 arm, and
thought I would make a CANnode out of it, and hang it off the wall where I
work. So there is another place I would like to apply it.
Actually costwise using a PIC chip or a Motorola DSP 56F80X chip doesn't
really save you any money.
You can't compare the 56F803 DSP 16 bit chip to a PIC micro8 bit MCU they
are worlds apart.
The 56F803 is a 80 mhz clock DSP chip (40mips), with tons of built in robot
niceties like 6 channel PWM with 3 quad timers (12 timers), dual Quadrature
Decoders, 2 four channel ADC's, SPI, CAN, and so on.
Next although they only talk about 16 general purpose I/O pins, many of the
other pins can be used for I/O too.
It comes in a 100 pin surface mount package, only 16 of those are general
purpose I/O, lot's of extra ones there to play with too.
Timers are really useful, I can't seem to get enough of them anymore.
Fortunately with 12 timers, I haven't used them all up yet.
The built in dual Quadrature Decoders are nice, they are almost plug and
play, just hook up your A and B quad encoder outputs to the decoders and
start reading the decoder registers. I used to use expensive Single
Quadrature Decoder IC's for this, except these use up precious I/O pins on a
MCU as well.
Plus the chip comes with NewMicros' ISOMAX(tm) multitasking state machine
RTOS already built in. Forth is part of that as well.
Doing an intellectual exercise here.
Getting four - four layer 3.5"x4.5" PCB's made by express PCB costs about
Other PCB companies seem to want a lot more than this to make a few
boards. Plus you typically have
to use a PCB layout program that isn't all that cheap either (Eagle et
You could same a good amount of money by going to a two layer board,
but it would be much larger in size.
Making a homemade board with the fine pitch pads for the surface mount
chips is beyond most hobbyists capabilities.
Getting five 56F803 DSP chips from Digikey costs about$18.38 each (they had
115 at the moment).
Getting five 3v 1 amp regulators costs about $1.50 each
You'd probably want a 5v regulator too, they cost about 1.50 each also.
Using switching regulators would be better but they cost more of course
and are larger.
A Maxim serial port interface chip such as the MAX3332 which goes for about
$5.00 in unit quantities.
A MAX232 would work too but it uses big 1uf caps, the 3332 uses lttle
Use good new low noise caps not old surplus ones.
Maybe you would want CAN as well, that's add to the cost with a CAn chip.
You also need a nice MAXIM Supervisor IC for the reset line to control the
DSP chip during power ups
and low battery situations. These go for about $5.00 in single unit
Then we need some .100" connector strips, LED's and resistors and caps and
such figure about $10.00 for the bunch (although you typically wind up
spending about $100+ to meet the minimum order levels).
Don't forget the JTAG connector either (don't forget you'll need a JTAG
programmer adapter too, that costs extra also).
So then we get maybe $313 or so to have the fixin's for four boards.
Thus it costs about $80.00 each to make four boards up to use. Proces are
higher when you can't use economies of scale here.
Of course if you have some stuff in your parts bins you can save a little
here and there.
Then you figure in the cost of a nice compiler like Codewarrior which goes
for about $3,000+.
A JTAG programmer for about $100.00 Unless you want the fancy one which was
going for over $5,000 when I last looked.
What's interesting is the difference a PIC MCU would make on the cost. A
$5.00 PIC chip only drops the cost down by $5.00 using 4 layer PCB's. A Two
layer board would drop it down about $20.00 maybe, depends on who makes the
But using a 4,8, or 20 mhz PIC MCU only saves a little. Now you need to
factor in the cost of a Quadrature Encoder IC or two.
Then PWM causes a problem, with only two timers, you may need to throw in
some extra PIC's or other controllers for handling PWM chores as well. Then
depending on which PIC you choose you may need a ADC as well. Then you may
need to add some more RAM to the PIC which is hard to do and use effectively
So then you could maybe make up a PIC based board for about $50.00.
Granted if you roll your own PCB's that appears to reduce the cost,but how
much did all the PCB etching equpment and chemicals cost?
The last robot I built using more conventional methods had a Atmel Atmega128
as the main brain, two quadrature decoder IC's as PID feedback being used
with a separate Atmel AT90S8515 as a smart motor controller. Another Atmel
AT90S8515 served as a servo controller for RC 8 servos. I still had to use a
third AT90S8535 as a I/O interface for things like bumper switches,
ultrasound range finders, IR object detectors too. I can do all of that
using a single 56F803 chip. Which is a pretty impressive shrink down and
reduction in complexity and programming.
The only thing better maybe is to go with a 56F807DSP chip, $24.12 each in
single unit quantities from Digikey.
I hope Motorola comes out with a newer 56F*xx chip with maybe four serial
uart ports, and double everything else.
Plus eight quadrature decoder inputs, so I can run up to eight A&B quad
encoders into it.
When you start to outgrow the 56F8xx chips then you can use them as smart
I/O controllers for a VIA MINI-ITX or even the newer VIA NANO-ITX boards.
I apologize for going off on a rant here. I am just frustrated by the
weather at the moment. I've been dying to go outside and do some welding,
but I can't.
No, don't bother. I've never tried to diguise what I do. I'm not ashamed
of it. I'm surprized if you think I should be.
Price is not firm yet. Your guess is very close. I was in a meeting
Wednesday with general manager and head of engineering, where we tried
to fix the pricing. Your thinking is pretty good on quessing where we'll
be. We might be even be higher than $80 depending on the power supply
option you choose. We have several linear and switching regulator
options. And there's also the "no regulator option" show in the picture,
where you source 3.3V to it.
Well, a rollerskate and a Ferrarri both have four wheels. It doesn't
mean they should cost the same.
This is the smallest we've been able to make so far, with just the 16
I/O and serial and CAN. Nice thing about the TinyPod(TM) is there's a
migration path up the processor line, from TinyPod(TM) to
Plug-a-Pod(TM) to MiniPod(TM) to IsoPod(TM) to IsoPodX(TM) to
ServoPod(TM). At the low end, you've got 24 pins, at the high end, over
a hundred pins.
Yes. I doubt you will find another tiny 24 pin devices that would make a
high-performance 3-axis motion-controller all in itself, with
complementary PWM outputs, and quadrature inputs, PID and the computing
power to do floats to make velocity profiled moves... all written in
high level language interpreted and compiled on the chip... and still
have enough left over to do serial communications in the foreground.
On the other hand, you don't have to use the full range of its function
to get performance beyond other devices. Just a small amount of code,
and the TinyPod(TM) can be a Serial Servo Controller with 12 channels,
with the PWM generated in hardware, leaving the 80MHz 40MIP processor
essentially free for other tasks, like controlling the speed and
acceleration of the servos moves.
Yes, low speed processors with low pin counts can usually be fitted to
But this brings up a point. As processor speed increase over 30MHz, like
our new ARM board under development at 60MHz, there won't be an option
for just 2 layer boards because of the need for gnd/pwr planing.
So that's the idea behind TinyPod(TM)'s slightly bigger brother, our new
Plug-a-Pod(TM). We're making a board (8 layer iirc) that carries the
processor, with pins spread out so it can be mounted on the users
2-layer board. This sort of bridges the gap between protorun board and a
full blown multilayer development.
You mean like Shnoz and Mike-3, the IsoPod(TM) based ones, that
dominated the DPRG line following contests last year, and I wrote up in
a feature column in Nuts and Volts magazine?
To each their own, but I'd rather see people "Think outside the Stamp"
and that level of processors, and buy a processor with enough features,
speed and memory that it's hard to outgrow.
Randy has given good advice, and his signature leads right to the site
that sells them. In addition, reading his post gives clear clues that
he is at least familiar with the economics of this particular device.
And given the other devices with less power, this seems fairly priced
The only competition I've seen for it with the space constraint is
the Kronos Robotics Dios Versa Board (which is based on a PIC). It
isn't as powerful, but it is about half the price. [Note, I'm not
recommending one over the other.]
Read the web site.
Why? 16 GPIO is fine for most simple robotics applications.
Yes, and how many pure beginners can deal with SMT soldering?
Any why wouldn't this be a good choice for a simple beginner's bot? It
does require that the programmer be in the Iso-Max mindset, but I have
always found Forth fairly easily.
I'm just trying to say that it is easier for a beginner to use a
device like the Tiny-Pod than to build their own.
I haven't been a beginner in quite some time. I build my own I/O
boards (OK, I design them and send the to Olimax, but you know
what I mean). I still like the Timy-Pod and may use it if I ever
have a problem that requires a series of processors.
Hmmmmm. How about a parallel array of 'Pods used for image
analysis or decryption? :)
D. Jay Newman
D. Jay Newman
Wow, that really seems like major overkill. Are you sure you really
maxed out your ATmega128? Your ATmega128's got plenty of power to
handle all you mentioned above.
I'm currently building a bot using an ATmega128 and right now (using
one of my MAVRIC-II boards) and it is controlling 2 drive servos, 1
tilt servo, 2 servos in a pan/tilt arrangement, performing Sony IR
protocol remote control reception for command override, getting long
range information using an SRF08 ultrasonic ranger via I2C, compass
headings from a CMPS03 compass module using I2C, talking, yes talking,
using an SP03 text to speech synthesizer via I2C, performing short
range IR ranging using a Sharp GP2D12 (connected to the pan/tilt
platform), and using a hardware UART for command entry and debugging,
while meanwhile multitasking a number of behaviour threads. And while
the chip has 128K of flash program memory, all this consumes less than
around 20K so far. And I'm still going.
All that and I still have tons of resources still left like 7
remaining A/D channels, 16 general purpose I/O lines completely
unused, another hardware UART to use, an SPI interface unused, another
hardware PWM output channel unused for a 6th servo, 2 external
interrupt inputs remaining, about 100 K of program memory left and
about 1/2 of the RAM unused, and more that I can't remember right now.
For all of the unused peripherals like SPI, second UART, A/D lines,
those can also be used as general purpose I/O which I did not count in
the 16 free - so there's really a ton of I/O available. And if I
wanted, I could give up the 16 I/O lines and drop in 64K of RAM module
(or 128K bank switched), but since the chip has 4K of RAM built-in and
I'm using less than 2K of that right now, I can't imagine that will be
necessary, but it's available if I need it.
And if I really wanted more than 6 servos, or needed the PWMs for
something else, I would simply add a 4017 decade counter connected to
a _single_ hardware PWM and 1 I/O line of the ATmega128 to generate 10
very precise servo pulses serially. If I needed more servos, I'd
daisy 3 4017's and a couple of AND gates (no additional CPU I/O
resources required) to give me 25 servo outputs which consumes only 1
HW PWM and 1 I/O line. No problem. And while I've built that circuit
and it works flawlessly using a single hardware PWM running (mostly)
in the background, I won't need it on this bot since I doubt I will
exceed the 6 hardware PWM outputs which drive the servos in parallel.
Seems a waste though, since with the addition of a single simple chip,
you can expand 1 PWM to drive 10 servos at .5 uS resolution (or less).
Yeah I am amazed myself too, your not thinking big enough yet.
The big problem was using 128k of external NovRam with data logging for
Temperature, humidity, fluid level and detection.
Then the ADC's got used up for the data measurements and battery voltage
Brushless motor controllers and quadrature encoders can suck up a lot of MCU
Theres a bunch of other stuff on the robots like ultrasonic range finders,
bumper switches, IR object detectors, RF links for video cameras, digital
camera for stills, fluid level detection and depth, slope angle of the
robots, RF remote control link versus autonomous mode, plus a nifty cable
remote control for moving them around manually, turning on lights and stuff,
Also GPS with a fixed reference GPS reciever and it's own RF link to the
robots as well.
A few years ago I started using the concept of having things work
autonomously similar to the way things work in animals.
We don't have to think about breathing, making our hearts beat, walking,
running etc. So why should the main MCU fo all this too? Thus I started
offloading things to separate MCU's and let them handle the details.
The problem is as the robot gets more complicated the program gets more
complicated. Offloading processes to separate MCU's simplifies the problem.
Especially when your debugging a problem. It's easier if things are spread
out to seperate MCU's.
The ISOPOD's can have multiple state machines so they can do a lot of these
things within the chip itself. So my ideas still apply with them only I need
to use one chip for much of this using separate state machines. Since it has
a CAN bus already built in it makes it even nicer.
Data logging and gathering is getting more intensive, thus going to a VIA
MINI-ITX board looks better now.
Reliability is still a concern, it's hard to beat the NovRams, they go for
about 10 years before the Lithium battery fails, but if they are powered
externally who knows how long they'd last, I haven't had one go out yet.
EEPROMs, FLASH, hard disk drives don't seem to quite have that long life
read write capability. Yeah a hard disk drive may work for a year or so, but
a NovRam seems to go on forever. We're talking long life here, changing out
the batteries once a year is all that's supposed to happen.
If a robot dies, and the MCU board is still intact you can get the NovRam
out and analyze it some to see what the robot was
doing at the last moment.
Since TI has newer up to 2 megabyte NovRam chips, I am thinking about
running several of these for data storage now.
I just have to figure out something for using them on a Via Mini-ITX board.
The new monster USB flash disks look promising. But I dont know how many
times I can write to them reliably and whether it would be long enough.
I thought about ARM CPU's but except for using Codewarrior, I can't get them
to work with a stupid GNU C++ cross compiler. I still have problems with the
cost of CodeWarrior for ARM chips.