• Hardware
  • Building and Programming a Robot

I have been thinking lately of creating my own primitive robot, that is building and programming it.
Does anyone know of a shop that sells either full robot kits or separate electrical parts needed in the creation of robots (namely microcontrollers, motor controller, motors, sensors...).
As for programming, i am planning on coding it in C. What programming software is suitable for microcontroller programming? (preferably high-level IDE)
You can check Katranji, I'm pretty sure he sells kits, not sure about programmable ones. You can also order them from outside for a way cheaper price from www.aliexpress.com but you'll have to wait to receive your order.

You can build one your self though, you need a:
- Microcontroller. You can take a look at Arduino, it's not a microcontroller it's a bootloader that runs on AVR microcontrollers. It makes things easier for you while programming, a lot of libraries for different ICs are available, and obviously you can ignore it and program in pure C. You can also look at STM32 ARM based microcontrollers (32bits mcus), usually they are better and cheaper than the AVR ones that Arduino supports. There are also MSP(by TI), it's cheap and you program it in C and PIC. I'd go with Arduino for the start, given that you are a beginner. You can buy ready Arduino based board for cheap, no need for soldering the hole necessary components. Take a look at Arduino Pro Mini. It's very cheap and tiny.
= Motor Driver, you can buy a ready module without soldering anything or you can get IC (example: L293D) and solder the necessary capacitors...
- Motors, if you buy a kit with Car chassis for example, motors usually are included.

Again, no need to make it yourself just buy a kit or at least a car chassis + Arduino Uno or Pro mini... + motor drivers + motors.
I think servo motors from remote control (r/c) cars (or airplanes or whatever) can be useful in this situation. I don't know how they interface, but I bet they can be easily connected to a micro-controller board like something m0ei described. They have high torque, and are fast, precise and cheap.
Not really, servo motors usually are limited to 180 degrees some aren't but they are highly expensive. Normal DC motors should do the job, use PWM to control their speed in case you want to limit their speed. The ones in RC cars are normal DC motors.

True as rolf said, if you don't want to buy any motors your can interface with any RC car you currently have, you can also use the chassis. If that's the case, get your self any microcontroller board you feel comfortable with, Arduino based boards are usually the easiest to get started and a motor driver module or the IC only(l293d) and some capacitors.

If you want to build an autonomous robot, get your self some infrared or ultrasonic sensor.
If you want to remotely control the robot from your phone only get a BLE(Bluetoorh low energy CC2540/CC2541 are good and cheap) module, from everywhere get a wifi module(take a look at ESP8266 a very cheap and powerful wifi IC/module), from a Remote Control only get a RF module.

One more thing, a lot of tutorials are available online about building an autonomous robot with Arduino google Arduino l293d robot, something like that should return good result to get started.
Katrangi sells leaf maple stm32 , has a good community, arduino compatible envirment and shields, +15 digital , PWM , 16 bit ADC etc for 30$
Thank you all, especially m0ei!

I am in fact finding everything I need in Katranji but I am a bit confused by the abundance of versions of the components... m0ei, what makes Arduino Pro mini or UNO more suitable for my needs?

I found this list of all the arduino microcontrollers (google "arduino compare" to see the list since I'm not allowed to post links) but I am not quite sure of what I need (in terms of operating voltage, CPU speed....) but a few tutorials recommended the UNO so I'm probably going for this one. Do I need a specific one for building a robot that can go forward, backwards and turn? I do want to be able to program it too! (and by the way m0ei, yes I am planning on integrating an ultrasonic sensor)

At Katranji's website there are the original UNO and one made in China which is way cheaper. Do you think the one made in China could be considerable or is it probably not going to work properly? (since I don't want to spend a lot on this project)

The tutorial I'm following suggests a prototyping board and cables. Are they really necessary?

Thanks in advance!
Oh and by the way would anyone happen to know any retailer of Katranji in the North, possibly in Tripoli for example
you can use arduino uno for beginners ...and digital servos off of aliexpress or if you can find broken rc cars helicopters from hobbiest shops...etc .also you can easily mode the servos to rotate a full 360 degrees instead of 180 just watch the tutorial on youtube.
ps:arduino teaches you how to program servos and how to do serial communications with the servos so you can control them via pc or even if you're advance programmer via cellphone through wifi.
No it's fine, just buy the Chinese ones. It really doesn't matter much, Arduino uno usually has a lot of modules as shields, you can simply stack the module on top of the board. On the other hand the Arduino pro mini is very small, cheap and doesn't include a direct USB port. You can buy Arduino pro micro or Arduino nano, they are similar to the pro mini but a bit more expensive and include a direct usb port. Follow some online guide, and get the same parts the guide is using, I think an Arduino Uno would be the easiest to get started with and available everywhere.

Check out http://www.cnclablb.com/ I never tried them but I think their store is in/near tripoli.


Why would he want to buy a servo... why not just buy a normal DC motor? Servos aren't intended to be used for such a task.
servos are much more compact(integrated circuit within the body of the servo) and accurate and have a lot more torque whereas a dc motor cant be directly connected to the arduino it needs a driver circuit and its not as powerful and accurate .
shadihalabilb wroteservos are much more compact(integrated circuit within the body of the servo) and accurate and have a lot more torque whereas a dc motor cant be directly connected to the arduino it needs a driver circuit and its not as powerful and accurate.
I said it before he wants a motor driver, no matter how you are willing to simplify it servos aren't meant for such a task. He's trying to learn, I don't think he cares about accuracy that much even though you can be somewhat accurate with motors. Servos similar to normal motors can range from shit to powerful, you can't just say motors aren't as powerful as servos, there's a big range of motors types with a high torque and rpm AND servos are basically DC motors with a motor driver. + IMO it's stupid to get a servo and convert it to an ordinary DC motor. You loose the accuracy also because by modding it you destroy the encoder so....

Katranji sells motors + wheels, they come in yellow color, they are considerably good for your case. You won't need more to start, enjoy.
Well if he is making a robot and wants to control arms, etc. then it just sounds to me like a task for a servo, which perfectly fits the definition and purpose of servo motors. Now "robot" is a bit of a vague term, so I don't exactly know what is best and what is required.
rolf wroteWell if he is making a robot and wants to control arms, etc. then it just sounds to me like a task for a servo, which perfectly fits the definition and purpose of servo motors. Now "robot" is a bit of a vague term, so I don't exactly know what is best and what is required.
Well "robot" is a bit vague, but in the DIY world it, in most cases, means a robot with wheels.
my point is y complicate things with extra circuits and shields just get a servo plug it to the arduino and begin programming and besides most of the motor applications on the arduino are for servos bcz its grate for prototyping and simple to program and ull get fast results.but sadly servos are stupidly expensive in lebanon for no reason what so ever so its better to shop on aliexpress .u can get super high torque servos cheaply.
Although shadihalabilb may be right about servos's efficiency, I agree with m0ei that they are not what I need in my case. I am simply building a "programmable RC car" (still a beginner). My goal is learning how hardware and software interface rather than creating an efficient final product (second goal :p)
Normally an electronic RC car contains a servo for steering, and a DC motor for driving the wheels. It can be rear-wheel-drive or all-wheel-drive in which case there would be an axle between the front and rear wheels to transfer power.
Why don't you buy an advanced electric RC car (like one made by Tamiya), it would contain all these elements, then just replace the logic remote control receiver (on the car) with your programmed Arduino chip?
I think such an approach would work.
The problem is you might have to do some reverse-engineering to understand how to connect your arduino to the existing connectors, but I still think it's a good idea, compared to building your own car from scratch, if you're mostly interested in the interface and programming, not the building a chassis part.
Of course that is assuming you're OK with such a car. If you want a car with a motor on each wheel, so that you can move them independently and be able to rotate the car on it's axis, then you will most probably have to build it yourself.
Rolf, it's what I planned to do at first but I just wasn't so sure if the arduino would be compatible with the car's components so I didn't want to waste money on an advanced RC car that could turn out to be useless. I'll content myself with sticking to a tutorial as a first project but thx anw.

Oh and btw I'll most probably to use 3 wheels (2 in the back with DC motors and a ball wheel centered in the front), It'll be turning by making the motors work separately.
I was into RC cars, and I think that the components should be compatible - you should be able to control them with simple voltage or pulse modulation, once you figure out what cable does what. I don't think there is any chip on the engine and servo. They're rather simple machines, but very performant due to the parts and materials used. You can ask someone who's into R/C cars. I used to know a guy at the Tamiya shop who repairs R/C cars, for example. Or you could try to find the info online.

But anyway I'm not second guessing your decision or trying to make you change your mind, just giving you my point of view.

If you prefer the 3 wheel design (which I agree is better for a robot) and you're not too much into R/C cars then your solution is better.

Maybe I will try to build a self-driving R/C car one day :) you could of course help if you want.
in the end you are going to use both normal dc motors with there driver circuits to give you the speed and servos to give you the accurate steering so i believe you're gonna need both .
and i totally recommend for you to get an arduino and start playing in that playground cause you'll be able to do easy advance programmed projects.