Author
Topic: Best microcontroller for me? (Read 1762 times)

Hey guys, Cycloned here. I am just hoping to start with Robotics. I know nothing, I have an NXT kit and have done some work with that, but nothing at a higher level, and now that Im in engineering I understand I've got to stop using such kits and actually start building robots from parts. I would like to know what microcontroller that I should use. There are some events in my college (robo wars, robo soccer, sumo wars, and an obstacle course) that I wish to participate, so I was wondering what would be well suited for such competitons.

I understand that since Im a beginner, I should probably use an augmented controller, so please do recommend one, and other things I might need to get started. I am going to be reading other articles on this forum, and I would appreciate being linked to guides, tuts, videos, etc so I can learn as much as possible.

The most newbie-friendly controller on the market is the Arduino Leonardo (and the Uno.)There are tons of tutorials, and libraries, to do all kinds of things, and there are "shields" to plug in to support things like servos, motors, and sensors.You could do much worse than starting with an Arduino.

Now, once you want to do heavy processing (mainly, image processing) you will run out of power on the Arduino, and you'll want the most CPU power in the least weight possible. Popular lightweight high-CPU options include Odroid, BeagleBone Black, Raspberry Pi, and Intel NUC. These, however, are NOT great at the low-level sensor interfacing -- you'll typically pair them up with a low-level microcontroller like the Arduino for the physical I/O.

Another question you might want to ask yourself, is whether you'll want to do mainly rover-type robots (with wheels,) or walker-type robots (with legs or arms.) If you're mostly into the limbs, then a kit of parts like the Robotis Bioloid Premium, or the Dongbu Hovis Lite might be better. Those kits come with controllers and software specifically aimed to control that kind of servo and robot, but you can attach other controllers later if needed.

Society of Robots sells a controller called the Axon, which is like an Arduino, but comes with

Hello cycloned. I suggest you that you should use AVR microcontrollers. When I was started in the field of robotics I've chosen AVR ATMega32 as my starting microcontroller and now (after 2 years) also I'm still using the same, as It never disappointed me . I've participated in many college competitions and found that this is an awesome microcontroller .

I started learning about this microcontroller at newbiehack site and there are many tutorials about AVR microcontrollers available online to be start with. There are many benefits of using these microconrollers such as

In my opinion: you know what sort of robot you want but "you know nothing" so I'd still just go for a kit aimed at what you want to achieve- ie all the electronics and hardware - and not worry about stuff like Raspberry Pi, Arduino etc - all of which have their own 'strangeness' and as they become more flexible also become more confusing and you find code that works on one model but not another.

So get a kit - use - learn - then decide if its 'not for you' (ie sell it on ebay) or decide if your programming has outgrown your machinery or vice-versa.

Personally I loathe Arduino: for a whole host of reasons. But if you've got the right mechanical kit then you ought to be able to program the micro-controller either by yourself or using any of the vast number of libraries out there.

Thanks a lot everyone for the replies. I will be researching further on the boards everyone has recommended to see what I like. I did a small robotics workshop last semester, and we were given a cheap (and pretty sucky) arduino board. They also gave us a motor driver board to connect to the arduino board and motors. The dirver board and arduino board both used a 9V battery supply, but after around 30 minutes of usage, the battery used to drain out completely and the motors (pretty cheap and sucky motors, dont know the specs) no longer had the power to carry the entire bot (and the bot was pretty light too). Why did this happen? How do I know this won't happen for the bots I plan to make?

Also, could someone narrow down what I should be looking for in the microprocessor? There are so many features and different companies and boards, it's all very overwhelming. Many of the bots I will be making will require me to manually control them, so I will need a good remote controller. Also, would I need to code the remote controller to work with it? Ex: when I press forward it should go forward, when I press back on RC it should go back etc.

It's nice to be ambitious, but sometimes you could get into a situation where you'll just go "This is too much, i can't understand it, i quit!", and that's always a shame.

Programming microcontrollers isn't the easiest thing in the world to do. And when you couple it to the hardware build that building a robot involves, it can be quite an achievement. So i suggest, like others before did, to start up with a simple to program controller. Anything that WebbotLib supports should be awesome, just because programming with WebbotLib is almost plug and play. I prefer the Axon, even though it's a bit on the pricey side, cause it has plenty of IO, USB interface for communications and programming, and nice connectivity. But there are other choices, including the Arduino.

So after you get a controller, just start small. Make a LED blink, learn to use buttons, ADC, timers, PWM, DC motors.... and you'll slowly gather all the knowledge you need to program a robot. When you're confident with programming, then you can think about hardware.

So, don't make "building an awesome radio controlled robot" your first project. You'll be disappointed really quickly. Start small so you can feel progress, and you'll eventually make it where you want to go.

Thanks a lot everyone for the replies. I will be researching further on the boards everyone has recommended to see what I like. I did a small robotics workshop last semester, and we were given a cheap (and pretty sucky) arduino board. They also gave us a motor driver board to connect to the arduino board and motors. The dirver board and arduino board both used a 9V battery supply, but after around 30 minutes of usage, the battery used to drain out completely and the motors (pretty cheap and sucky motors, dont know the specs) no longer had the power to carry the entire bot (and the bot was pretty light too). Why did this happen? How do I know this won't happen for the bots I plan to make?

Also, could someone narrow down what I should be looking for in the microprocessor? There are so many features and different companies and boards, it's all very overwhelming. Many of the bots I will be making will require me to manually control them, so I will need a good remote controller. Also, would I need to code the remote controller to work with it? Ex: when I press forward it should go forward, when I press back on RC it should go back etc.

How do you know the batterie will not die? Because you know how much current the motors use and you calculate the required battery size so it will last as long as you need. A 9V battery is not going to power a motor for very long.

The Arduino is about the best uP for you, I think. Just start with an "Uno" or one very much like it (Leonardo).

For a hand controller. Pick your favorite USB game controller. Maybe from an xbox.

The bigger thing you will need to learn is software. There is no way to make a us full robot without writing some software. That is the main reason I suggest the Arduino. It is about the simpler thing to program. get a book. It is a book length subject, not something you can kern in a few hours.