Recently I have been bitten by the robotics bug. I have decided upon
building a hexapod (similar to this one
http://home.ctlnet.com/~robotguy67/hexapod/hexapod.htm ) for fun. I have
absolutely no experience in programming/coding. I was planning on using a
BasicX-24 microcontroller because most people I talk to recommend it over
others like the OOPic, Atom, and Stamp II. My goal is relatively simple, I
want to make an autonomous Hexapod that with the flip of a switch is
controlled via radio control. The implementation, however, will probably be
very difficult. I see that Parallax has a hexapod kit controlled by a BS2
and servo controller. I don't know if the stamp is powerful enough for my
application as I want to use servo feedback to "feel" obstacles and the
ground while in autonomous mode so it can avoid falling off a cliff and
avoid obstacles in it's way. I'm told that the Servo 8T
http://www.basicx.com/Products/servo/servo8t.htm is the only servo
controller available that can do this.
So my questions are:
Is the BX-24 a good microcontroller to start with?
Is there a better microcontroller that is as easy to learn?
Where would be a good starting point to begin learning to program a
Lastly, is anyone else out there doing something similar and willing to give
me a little guidance?
Thanks you for your help
Actually, your goal is not very simple, it is fairly complex and a
bit difficult if this is your first start into robotics. I'd recommend
that you set your sights a little lower. You can succeed with this, I've
seen it done before, but... There really just isn't a tutorial on how
to make a walker - There are some decent nearly tutorial ones. Karl
Williams wrote "Amphibionics" which I greatly enjoyed, I've not read his
book "insectronics", but I hear it is just as good. I recommend that you
start there to read up a bit about your project. To start in robotics
I strongly suggest that you try a simpler robot first - Perhaps a three
servo hexapod to "get your feet wet". When a newcomer asks for insight
into robotics I ALWAYS recommend the book "Vehicles: Experiments in
Synthetic Psychology" by Valentino Braitenberg. It is easy to read and
worth your time to ponder.
The BX24 is a fast and capable micro to work with. In my opinion they
put too much effort into making it look like Visual Basic, but it has
a multitasking OS on chip and comes with a free IDE and compiler.
Because it is on a 24 pin carrier it is limited in IO pins, but that is
correctable in a number of ways.
Another "canonical" site that I recommend for those interested in walkers
is http://www.oricomtech.com . Dan has a fabulous site with a ton of
information and insight into the walking "thing". Go there and look at
The BX24, Parallax Stamp, OOPic, Atom, etc. are all easy introductions
into embedded programming, but they will only take you so far. To get
really fast and sophisticated you will have to go with compilers that
go direct to the chip and give you more memory to work with (since the
OS isn't taking up resources.) I recommend that you start with the
one that looks like it will do what you want. I've built walkers using
the Stamp II, BX24, OOPic and even with the low level PICs and AVR chips.
They all had their challenges and their strong points.
To back up a bit, I suggest that you start smaller, go here:
and look around. That is Karl Williams site and has at least one
three servo hexapod to play with for starters. You might even want
to start with a simple rolling robot to get an idea of how a robot will
need to be programmed.
By all means however, get started and have fun!
* Dennis Clark firstname.lastname@example.org www.techtoystoday.com *
Thanks for the reply. I know the coding will be challenging, The actual
robotic parts should not be to difficult. I have a lathe and milling machine
to help make parts.
I will definitely pick up the books you mentioned. They look very
One question if you don't mind. Would you recommend the BX-24 or a chip like
the Atmel AT90S8515. It is my understanding that both can be programmed with
a Basic like language. But I read today that the Atmel is a better chip to
use??? Perhaps you are correct about starting with a simpler 3 servo
hexapod. I just want to learn on the right chip. I would be upset if I
learned the BX-24 well just to find out later that I need a better chip
later for a more complex robot and had to learn a whole new language. I
guess I'm leaning toward the AVR chips after what I read about them today.
: Thanks for the reply. I know the coding will be challenging, The actual
: robotic parts should not be to difficult. I have a lathe and milling machine
: to help make parts.
: I will definitely pick up the books you mentioned. They look very
: One question if you don't mind. Would you recommend the BX-24 or a chip like
: the Atmel AT90S8515. It is my understanding that both can be programmed with
: a Basic like language. But I read today that the Atmel is a better chip to
: use??? Perhaps you are correct about starting with a simpler 3 servo
: hexapod. I just want to learn on the right chip. I would be upset if I
: learned the BX-24 well just to find out later that I need a better chip
: later for a more complex robot and had to learn a whole new language. I
: guess I'm leaning toward the AVR chips after what I read about them today.
Well, that is hard to say. I love the AVR chips and use Bascom/AVR to
program them in Basic and Codevision C to do them in C. They are really
nice parts, very fast and very nice machine code setup. You can't go wrong
no matter what chip you learn on. The embedded processors all do similar
things. If you learn one you can learn any of them, there is no wasted
time. I like the PICs using C and assembly too. They each have their
niches that they fill nicely. The BX24 is a nice chip with its OS, and
if you get bored with it, you can dive in and reprogram the 90S8535 that
is the heart of it using BASCOM or Codevision directly through the SPI
programming port! ;)
: > : Recently I have been bitten by the robotics bug. I have decided upon
: > : building a hexapod (similar to this one
: > : http://home.ctlnet.com/~robotguy67/hexapod/hexapod.htm ) for fun. I have
: > : absolutely no experience in programming/coding. I was planning on using
: > : BasicX-24 microcontroller because most people I talk to recommend it
: > : others like the OOPic, Atom, and Stamp II. My goal is relatively simple,
: > : want to make an autonomous Hexapod that with the flip of a switch is
: > : controlled via radio control. The implementation, however, will probably
: > : very difficult. I see that Parallax has a hexapod kit controlled by a
: > : and servo controller. I don't know if the stamp is powerful enough for
: > : application as I want to use servo feedback to "feel" obstacles and the
: > : ground while in autonomous mode so it can avoid falling off a cliff and
: > : avoid obstacles in it's way. I'm told that the Servo 8T
: > : http://www.basicx.com/Products/servo/servo8t.htm is the only servo
: > : controller available that can do this.
: > : So my questions are:
: > : Is the BX-24 a good microcontroller to start with?
: > : Is there a better microcontroller that is as easy to learn?
: > : Where would be a good starting point to begin learning to program a
: > : microcontroller?
: > : Lastly, is anyone else out there doing something similar and willing to
: > : me a little guidance?
: > : Thanks you for your help
: > : Tim
* Dennis Clark email@example.com www.techtoystoday.com *
Start with a 3 servo hexapod such as an insectronic. Buy the book
"Insectronics". It goes into great detail about gaits, sensors, interfacing
servos, and programming PICmicro MCUs. If you want to try something a little
easier, you can easily adapt the design to run with a Parallax Basic Stamp
(or compatible) and carrier board.
How much experience do you have with mechanical fabrication? The
hexapod that you showed a link to seems to have several custom
machined parts. It is extremely frustrating to build a robot when you
don't have all the tools you need (i.e. a mill or better yet a CNC
mill). Otherwise, I would recommend doing whatever you can to simplify
the design of your hexapod so that you can build with the tools you
have on hand.
I would recommend buying a hexapod kit so that you can concentrate on
the area that you lack skills in (i.e. your programming skills) while
having the most amount of fun. An off-the-shelf kit offers that. Check
Once you've developed programming skills and seen how things work, you
could then move on to more complicated things.
Think of it this way: there are several knowledge/skill areas that you
need to develop for robots:
1) Mechanical design
2) Mechanical construction
3) Electrical Design
4) Electrical Construction
5) Software Design
6) Software development
7) System Integration
8) Project management
Each requires a certain learning curve and without all coming together
at once, then you could become frustrated. Frustration is a bad thing.
Success comes from confidence and confidence comes from
accomplishment. Accomplishment comes from either determination or from
carefully selecting your goals. I recommend not taking on projects
that require a lot of determination. Some people are able to succeed
at projects that take a lot of determination, but most people become
frustrated and quit. I know that I've failed at a lot of projects in
the past because they were larger than I had the determination for. It
has been a slow steady process for me to learn to choose my goals
carefully (and I still fail at that sometimes).
I would recommend that you put off developing mechanical and
electrical design and construction skills until after you develop the
programming skills. Don't think that I'm saying that you don't already
have mechanical and electrical skills, but there are a completely new
sets of skills and techniques that have to be learned for building
robots. You'll need to develop the techniques for working with
specific materials, or fastening, or learning that there's a sequence
which must be followed for success.
Don't set yourself up for failure by taking on too grand of a project.
Repitition and incremental improvement seem to have been the most
successful strategy that's worked for me. I learn the skills to do
something simple but significant, I repeat that but add a small
improvement to that.
Still, don't be too afraid of failing; failing is part of learning. If
you mess something up, just keep going. In making the biped that I'm
working on now, I've failed in several small areas and then started
over and finally made progress. See failure/problem solving as part of
what must be done.
That's a doable goal. But there are a lot of things that have to come
I think so.
The Basic Stamp and the BasicX24 are both good.
In the past, I put on a class for robot building and beginners really
enjoyed starting with the Basic Stamp. However, I think that you will
quickly outgrow it. That's why I think the Basic X24 is better.
However, I've been programming for years and the move from the basic
stamp to the BX24 is obvious to me. You may not find the transition so
Get a basic stamp or BX24 development kit and learn how to turn on
LED's and read switches. When that seems brain-dead obvious about how
to do that, you can move on to something more complicated.
The next thing you would want to learn about after LED's and switches
is learning how to control servos.
I would recommend that you check out the very good application notes
provided by parallax and BasicX and others. Read every application
note you can find. Get the Basic Stamp and BasicX24 user's manual and
read the application notes so many times that you're tired of reading
the same thing. Make sure you understand everything. This will etch
some of the basics into your brain. Then try to do some of the things
they talk about.
Another book that I've really liked is:
There's a lot of good stuff in that book that'll help you understand
how to do some neat things.
While buying a hexapod kit would be nice, it will be cheaper and more
rewarding to build it myself. I have the usual shop tools, i.e band saw,
drill press, metal lathe, milling machine etc. The fabrication should not
present a problem. It is the programming that is going to be a challenge. I
appreciate your advice. Perhaps I should start off a little slower. BasicX
has a pretty inexpensive wheeled robot kit
http://www.basicx.com/Products/scout/scoutmain.htm ($249.95) This might be
good bot to learn the basics on. it seems to have more capability then
parallax's BOE BOT http://www.parallax.com/detail.asp?product_id(132
($229.00) then there is the Mark III kit
http://www.junun.org/MarkIII/Info.jsp?item=1 which uses the PIC16F877 it is
half the price ($92) of the other two??? Maybe it is a less intelligent
bot???. Are there any kits such as this one that use an AVR chip that you
know of? Since I know very little, at this point in the game, about
microcontrollers what are the differences/advantages between the BS2, PIC,
AVR and BX-24? . I guess I have much to learn:-)
It actually may not be cheaper, but it could definitely more
rewarding. There are always a thousand and one details
that add up in building any kind of electronic project.
Oh, OK. I didn't know what kind of tools you had.If you've got those
tools, and the skills, then maybe the mechanical construction isn't
that big a deal. I'd say go for it.
I'm sorry if it seemed that I might have been condescending, that
wasn't my intention. I've seen a lot of people over the years try to
make things when they didn't have the right tools (myself included).
You hadn't explained your own skills and tools so I assumed that
you were just starting out on everything.
My whole point was to not take on too many new skills to learn
on a big project. If you have the skills, then it's not a problem.
Move on to the next skillset: programming.
You have to judge for yourself what your level of proficiency is
in each of the areas I listed in the last post and then decide
what you can accomplish.
Actually, the wheeled robot sounds pretty expensive to me. It may not
be as rewarding/fun as a hexapod or biped. The hexapod still may be
the place to start unless you feel you have what it takes to do the
If you feel your mechanical and electrical skills are good enough,
then I don't see any reason why you couldn't do a hexapod or biped
right off (just realize that it'll be several weeks until you can even
do "real" programming because you'll have to do the mechanical
Here are some robot vendors:
Note: I have no connection to these companies and I can't vouch
for them. This list is merely offered as a resource.
If you want to do a hexapod or biped, then I would say go for it as
long as you feel that the mechanical and electrical construction is
not what you need to learn. You'll have a lot of fun learning to
program it to do neat things.
I didn't take any offence to your comments. You are correct I need to start
out with a simpler bot simply due to the programming issues I know I will
have. I will either go with a 3 servo Hexapod or the Mark III Sumo bot kit.
From there I HAVE to try and emulate your wonderful Biped. That bot has to
be the coolest thing I have seen. The programming must be very difficult.
Anyway, do you think I should start with the Atmel AVR, the PIC's or perhaps
a BX-24? Personally I'm leaning toward the AVR because I have heard that it
can be programmed in basic or in C using free compilers. It seems to me that
it should be as easy to learn as a BX-24 if I use a basic language and
compile it from there. I have also heard that it has more features and is
more powerful the BX-24 and or the PIC's. Any suggestions would be
Let me know when you do because I'll have advice on using the files
that I have online. If I were to do another one, I would change some
of the files in order to make the parts fit together more seamlessly.
I had to add spacers in some places and I would rather have made some
of the parts a little differently. There's always a learning curve.
I'll let you know in the next few days. I just got my two servo
controllers working and I'll be playing around with programming.
I don't think it will be too hard because it will be merely playing
back pre-stored sequences.
I think you should start with either a Basic Stamp or a BasicX24.
They're much easier to use. They have all sorts of built-in routines
for debouncing switches, generating pulse width signals for servos and
lots of other neat features. Again, I tend to prefer the BasicX24.
As for PIC verses AVR, that's almost a religious question. I prefer
the AVR's but others prefer the PICs. I have to admit that the 18Cxxx
series of PICs are very nice and I wouldn't have a problem
recommending them. However, I have personally stuck with the AVR.
Yes, the free GCC compiler is very high quality. Although it is only
advertised as a C compiler, it actually has extensions for C++ object
oriented programming. I do all of my programming for my AVR's using
C++. The compiled code is pretty small; I've disassembled a lot of
code generated by the GCC compiler and I don't think I could have done
Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.