I have never built a robot before and I am looking to get started. The problem is that I have no idea what parts I will need... below are a list of things I want the robot to do.

  • Have a speaker
  • Be able to sense objects around him so that he doesn't bump into them.
  • Understand different commands

So pretty much I want to be able to tell my robot to go to the kitchen and he could move over there and tell the person in the kitchen what that person wants. The person would then put it on the robot and he would drive back to the person that made the request. (I know there is not much use to this robot but I think it would still be pretty cool)

I am not worried about learning programming languages so it doesn't matter what languages the board supports. (Have some basic knowledge in Java and Python).


  • 1
    $\begingroup$ there are a lot of videos on youtube about robot building $\endgroup$
    – jsotola
    Jan 13 '18 at 3:39
  • 1
    $\begingroup$ In house pathfinding and navigation is kind of an advanced problem for a new starter. I’d start with a simple “sense and talk” system to familiarize with the development system, and continue with a few motors and servos, and then comes movement and then maybe navigation. $\endgroup$ Jan 13 '18 at 7:26

A robot that can accept voice commands and travel to a specified location, do something, and then return is not trivial. The robot you are suggesting is a rather advanced robot for a beginner. I would suggest starting with just a basic robot that can move and avoid objects. Once you get that down I would try each of your objectives one by one in a new robot.

Much of what you'll be able to do at first depends on how good are you with electronics, programming, and mechanics. These are the three main skills that are useful to building and programming robots. What tools do you have available to you? A 3d printer is very useful.

For a first robot, the first place I'd start on the web is the site Let's Build Robots, Start Here. There are a number of other sites on the web that will help you with building a first robot.

Other good starting points are the Lego Mindstorms EV3 kit. I started with an earlier version of this. Another good company is VEX Robotics. Yet another good company is Servo City. They have a line of inexpensive robot kits along with more expensive ones. My current robot, Groucho, uses a base I bought as a kit from Servo City.

You will need to learn to use microcontrollers such as the Arduino. My favorite microcontroller for both robots and other electronics is the Teensy 3.6, available from Adafruit. But I'd start with an Arduino because there is so much information available about it on the web.

While building some small robots, I would suggest start experimenting with the programming side of things. You may also need some sensors. Look into the Robot Operating System. ROS has a simulator so that you don't need to physically build all of your robots. I suggest ROS because it contains a lot of the software building blocks needed for a robot.

I prefer to use Linux for building my robots' brains. There are a lot of Single Board Computers (SBC's) such as the Raspberry Pi. The Pi is a good platform, not only for the "brain" of a robot, but also for learning Linux. It is possible to used almost any operating system to control a robot including Microsoft Windows and the Android operating system (using a tablet or phone to control a robot).

I would suggest that while you're beginning with building robots, that you also learn Linux and work with various packages that you'll need for later. You could download some speech recognition packages and program a computer to answer to simple commands. You could learn ROS. You could learn computer vision. These are some of the things you'll need to use in your eventual robot.

If you are not good with mechanics, like me, then build some kits to learn. If you need to learn electronics, get a breadboard and start practicing blinking lights. If you need to learn programming, then start with a programming language and learn it. I'd suggest Python because it is easier for beginners, and then move onto Java or C/C++.

I wish you luck and welcome to robot building!

  • $\begingroup$ Thanks! Would Java or C++ be better in the long run? $\endgroup$
    – Eric Leus
    Jan 13 '18 at 15:04
  • $\begingroup$ I don't believe so. I learned to program when it was expected that there would be an edit/compile/run/debug cycle for any program. Python in an efficient interpreted language which is faster to debug. My first bots were programmed in Java. However, Python is growing on me for creating algorithms. Learning computer languages build on each other. If you learn one, the concepts are used in another language (with differences, sometimes). I even have some microcontrollers that use an embedded version of Python (MicroPython) that I will use on my current project that starts next week. $\endgroup$
    – NomadMaker
    Jan 13 '18 at 22:26
  • $\begingroup$ @ericleus On embedded and near real-time software I'd say yes for C/C++. Even assembler is used in place of C/C++ for high optimized or specific CPU code. That depends on project. $\endgroup$ Jan 15 '18 at 16:47
  • $\begingroup$ Once you have learned one programming language, it is much easier to learn another. I have suggested Python for a couple of reasons. 1st, it is quick to learn. 2nd, there is a lot of robotic software that has python bindings. 3rd, it is similar enough to C/C++ to make the learning easier. I would also learn the languages on a computer (even a Raspberry Pi) first, and then learn the embedded versions after I'd learned the full versions. I did it this way with Java, C, C++, and now Python. Besides, the OP is wanting to build his first robot, not necessarily get into embedded programming. $\endgroup$
    – NomadMaker
    Jan 15 '18 at 17:43

I too was a beginner (and to a large extent still am very much so) so I will share my experience with you, as maybe it might help you find your own path and avoid my mistakes! Caveat first for background - this is more about the construction then the coding as my robot was radio controlled and had no built in intelligence. However it was built from scratch from the ground up - no kit - no prior knowledge, no Autocad or 3D printer, basically nada except for youtube and a concept in my mind and a cardboard to cut out the shape and lay out the parts. In this way I essentially built a battle robot for participation in robot wars and had tight timelines and weight restrictions to contend with.

Anyhow, the point is that you can (as I did) build your desired robot if you (a) know what you want it to do (b) are driven enough to make the effort and sacrifices necessary. Furthermore, you can also easily do so partially from recycled (or re-purposed) items and in your case it won't be as expensive or take as long either!

For the record, my robot used 2 x 14.4 Volt ex-cordless driller motors for driving wheels (tank drive), 2 wheels from an old vacuum cleaner, brackets that hold up fire pipes as engine mounts, old printer rods as the main weapon, used ball bearings from an old scooter and from a photocopier (amazingly exactly the same) for bearings for the weapon. The body was made from an upper and lower - 3 mm poly-carbonate sheet (purchased and then hand cut with a saw), a cut up square tent pole for brackets to connect the top and bottom sheets, screws, a pulley taken from an old tape recorder, end bits of marine foam, a 2400 KV brush-less motor and 3 controllers that I purchased and batteries. Lots and lots of lithium batteries since I had no idea how long they would last in the battle. (So now I am heavily overstocked). Then I also had to buy a radio control transmitter and receiver, chargers, and fireproof pockets for all those batteries.

There were lots and lots of wrong turnings and the whole expense came to around €300. BUT guess what? I do not regret one cent of this. Mark my words - I learnt much more actually doing than if I had attended a course and paid the same amount to the tutor - and I still have the robot and everything else, so all is good.

For the record my next project will be a robot that uses Arduino, of which I am a great fan, so I might follow you in turn on this one. Anyhow, as you may know, you can get lots of cheap arduino stuff from china. I personally use http://www.banggood.com. Of course I had to build big and strong as it was for robot wars - but this brought along many additional expenses which you will avoid by staying small. For instance in my case if my weapon motor (brush-less type) had stalled in battle, (youtube indicated that) the current in the cables could have reached many amps, so (being afraid and not 100% sure of what might happen - melting, fire etc) I went for overkill and bought silicon cable that can take 60 amps! I then also bought XT-60 connectors to allow for fast battery swaps etc. (Turned out the battery lasted all 3 minutes of the bout easily, while driving 3 motors at once. It was a Li-PO 3S battery (11.1V nominal/12.6V when fully charged).

Getting back to Arduino (there are other boards out there too!), If you want to start with a ready made (kit form) robot, you can buy one of these http://store.makeblock.com/product/mbot-robot-kit. These are based on an Arduino platform, are cheap and pretty basic though they do take some sensors, and if you want to avoid the cost of something like a lego mindstorms, you could do worse than start here. Its a good place to start coding a robot and if you have children they will love them.

If you prefer to build your own then you can simply copy them! Go to your favourite Chinese supplies store and buy an arduino (€15 approx), 2 controllers (say €10 each), a pack of sensors (say €25), and maybe some wheels and shafts (or just buy the complete motor plus wheels for almost nothing). Then all you need is a platform (can be made of plywood or whatever and a battery. Plan what you want the robot to do and start connecting! As for which software to invest time in, I found this article to be most useful https://blog.robotiq.com/what-is-the-best-programming-language-for-robotics. Of course Arduino has its own language so you can start there. Sorry this was so long but I get carried away when talking about my favourite subject. I will just end by including a photo of my robot to inspire you to be creative. Enjoy and good luck. enter image description here


Not the answer you're looking for? Browse other questions tagged or ask your own question.