Get an arduino kit and learn a little electronics. The kit likely comes with a brushed motor and a servo. Learn how motors works and how to write code to make motors spin. Then get a stepper motor and an arduino-compatible motor shield or CNC shield and spend some time getting multiple motors to move. Once you understand those basics, you can hook motors together in a rigid frame and you have a robot (2 motors with wheels is mobile, 3 or 4 motors with links is an arm). The kit will also come with some simple sensors which you can use to do things like measure light and distance, which you can use to start playing with feedback control (look up Braitenberg vehicles for a project idea).
Seconding all the people who said avoid ROS - it's not worth the effort for hobby-level stuff. It's barely worth the effort for "professional" robotics.
Also don't worry about physics too much - build your physical intuition by playing with working systems of increasing complexity.
My college robotics course used Lego Mindstorms (back before the kit was discontinued) because it offered quite a lot for the price.
Our robots needed only to complete a simple task of finding the "reactor" (array of IR LEDs) on a 1x1m fenced board, but Lego more than delivered on the hardware front, because we had an IR sensor, an ultrasound proximity sensor and few other ones that we didn't even use.
Really helped to bridge the gap between theory and practice because it's one thing to program a servo motor and a completely different one to see your dead reckoning algorithm be off by a mile. Also sensors do a lof of things you don't expect.
Its succesor is named Lego Spike Prime, but I never used it, so can't comment.
Do a real project with goals and expectations. Learn exactly what you need to get the task done. Do not buy a ROS book. Do not spend huge amounts of time exploring the ecosystem. Just focus on making it “do the thing”. The experience will come when the goals are met. Source: I built the entire initial software stack for the FarmBot project (minus the gcode handling firmware, thanks Tim) and had zero hardware experience when I started. I can compile embedded Linux kernels from scratch and whatnot now.
I was very interested in athletic robots, so I left my job in software to build a quadruped and make it backflip [1]. I made the hardware at home (the design was open-source [2]) and wrote the framework to generate jumps, flips, etc. I started with basically zero robotics knowledge, so it was a lot of work, but it was incredibly fulfilling and super fun. I personally learn best by building things.
I'd say start playing with 3D printing and motors to make mechanisms that move (pendulums, simple walkers, ...). +1 to tinkering with the 3D printer itself (that someone mentioned) as you can learn a lot about how the machine works and figure out ways to improve it.
You've mentioned the physical aspect, but simulation could also be a good starting point. You can now very easily train RL agents in sim to say, walk, and transfer to real hardware afterwards.
Finally, if you like flying stuff, there's drones you can buy that are controlled programmatically (e.g. Crazyflie). I haven't played a lot with these, but I've seen them used to teach control and they seem like a nice, inexpensive platform to experiment with.
I would always prefer to start with a kit that will work right a way end to end, than focus on each problem subset to do deep dive. so101 is a highly available 3d printed and servo motor based robotic arm. That can be combined with nvidia orin like sbc as a good starting point.
Worth to check also https://www.printables.com/ for small cute 3d printed robot projects that you can build using stm32 or esp32 boards. You shall check Adafruit/Sparkfun like websites for dev boards, they even support micro python for quick prototypes.
It really depends on what you want to do. Start with a list of projects you want to build. Are they really robotics or just home automation? If you have no experience with embedded programming, I'd start with home automation or other simple hardware stuff first. Learn how to read sensors and operate lights or motors before you get any deeper into the craft.
There are three reasons why "real" robotics is harder. First, to navigate unconstrained environments by means other than wheels, you need to learn a fair amount of kinematics and control theory. Second, your robot will need to build a map of the operating environment, which often requires complex sensing (lidars, cameras) and a lot of compute power. Even something as basic as a Roomba is no small feat, and these things get stuck a lot. Third, it's just hard to come up with practical applications for simple robots outside of industrial production lines.
Once you have that figured out, decide how much you want to learn. Do you want to do it the hard way, which would mean moving more slowly and working your way up from first principles and probably 3D printing or machining your own parts... or do you want to get results as soon as possible, in which case, you probably buy a Linux single-board computer and put it on top of an existing robot kit? The trade-off with the first approach is that it will take you months or years to get where you want to be. The downside of the second is that you're limited to premade kits and software components, and once you exhaust the possibilities there, you kinda hit a wall.
I highly recommend starting with the very affordable and well documented Lerobot SO101
arms. You can 3d print or buy parts and actuators, camera.
Lots of tutorials and training policies, data collection and simulations.
https://huggingface.co/docs/lerobot/en/so101
Buy an Arduino and some hobby servos and tinker with them.
But ideally you would have a goal in mind. what do you want your robot to do? (pass butter?) Once you have a goal then you will be able to focus on just what you need to learn to achieve that goal.
I want to learn robotics too!! I have a feeling that trying to build something helpful for myself, with help from LLMs, could be a good strategy—but I have no idea! Possibly budget-friendly
I recently got started and as others have said, it helps to have some idea of what you want to do, since 'robotics' is such a wide field. In my case I was curious if I can get LLMs to drive a robot, so I bought a quality, mostly-assembled chassis (https://www.waveshare.com/ugv-beast.htm) that let me focus more on software and sensors. If you want more low-level stuff, you can make your own chassis (motors, 3d printed parts, arduino/esp32 programming), you can make your own attachments to chassis like the one I have, etc. On the software side, you can focus on navigation/mapping or operating actuators on a stationary base, you can run small specific models (segmentation/etc) paired with classical algorithms, you can run VLAs (LLMs that output motor actions instead of words). There's really quite a bit to do.
If it's a hobby, I'd stay away from ROS, as it's a pain in the cloaca to set up and use. Just build stuff, and run it with one script or ten if you need to. Build stuff. Debug. When you need ROS, you'll know it.
With my kids we did Le Robot from hugging face over the Christmas break, it was a fun project to put together the kit and get the follower arm to follow the leader. You can also train ML models with it etc https://huggingface.co/docs/lerobot/en/so101
Trying to build a robot is the way to start the robotics hobby. Reading about robots, studying physics etc. are different hobbies and fine in their own right, but not a robotics hobby.
Lots of ways to start. None of them are wrong. Just let your passions lead you to something you’d like to explore. Maybe start with a hackable 3D printing kit that will let you build parts for more robots. Hacking the 3D printer can directly teach you a lot about robotics.
https://simplefoc.com/ Is my type of rewarding nerdy topic. You might be more attracted to other control strategies.
Mastering robotics as a DIY thing is usually more about the mechanical (particular linkages and kinematics) as well as electrical (particularly motor control). The programming part of it generally can be lower quality and more hacked together, but still can be an area of deep exploration if that’s your passion.
https://youtu.be/pJj6uGcMco4?si=J0ui8LzYxEBXePZ0 ‘Engineer Bo’ is a small YT channel with a few great videos about stepper motor control. This video is about protecting the motor driver chip from large surges of electricity when the motor tries to wuickly “brake”. There’s a second video where he iterates on this solution.
If you don't find the mechanical and electrical parts something you want to invest enough time in to learn, and want to just dive into the programming side, then you could focus on simulation entirely. In that case, look into MuJoCo or OpenAI Gym (ported and maintained by community as ‘Gymnasium’).
Don’t be afraid to ask LLMs to help you learn. They might lie to you or occasionally send you down a non-optimal path, but they’ll be helpful first exposing you to so many of your current blind spots and helping understand the scope of any endeavor you might be interested in.
If you do decide to really invest in learning the electrical and mechanical sides, it can be worthwhile to truly learn them. This would involve following something like MIT’s open courseware (or similar) for electrical and mechanical engineering. You can get away without formally teaching yourself these, but it would unlock “real” engineering. Multivariate calculus is possibly enough for the mechanical side, but for electrical you’d also want to understand how to utilize differential equations. So in total, somewhere between the equivalent of 2-4 semesters of calculus. Linear algebra can help as well, but plenty of people without these math skills make really cool stuff in robotics.
You wouldn’t necessarily need to do the calculus and differential equations by hand like we did in University - as long as you can set up, manipulate, and solve the problems using computer software (numerically, maybe some symbolic manipulation) that would be enough for the hobby.
For enjoying robotics “as a consumer” (rather than as a do-er) there are some fun YT channels, which could either inspire you or scratch the itch passively just enough to rob you of the initiative to actually do it yourself:
Stuff Made Here
Mike Shake
Allen Pan
Michael Reeves
I did a thing
CodeBullet (towards the pure simulation side. this channel helps me when I’m feeling like a poorly educated useless engineer because it shows me that even the absolute lowest effort, dumbest approaches and worst execution can produce something both fun and rewarding. That can help me get out of ruts sometimes)
AlphaPhoenix (absolutely next-level explainers and demos of fundamental electromagnetic concepts and phenomena. The 3B1B of EM physics.)
Look for three papers on "integrated mental architecture" and personality, psychopathology then drill down to experimental robotics and begin from a standard text and devkit.
Go through the ROS tutorials, using a simulated robot at first, then buy a tiny AMR kit and do the same thing IRL. Once you have those basics, you can ask yourself into which direction to go next, the obvious choices being 1) deeper into the research of the new-fashioned (bi-)manual manipulation (arms), or 2) more into business and actually build a real-world application for your mobile robot (which will involve a lot of tinkering with hardware). And +1 on what brudgers said. It's a hobby, so have fun.
Get an arduino kit and learn a little electronics. The kit likely comes with a brushed motor and a servo. Learn how motors works and how to write code to make motors spin. Then get a stepper motor and an arduino-compatible motor shield or CNC shield and spend some time getting multiple motors to move. Once you understand those basics, you can hook motors together in a rigid frame and you have a robot (2 motors with wheels is mobile, 3 or 4 motors with links is an arm). The kit will also come with some simple sensors which you can use to do things like measure light and distance, which you can use to start playing with feedback control (look up Braitenberg vehicles for a project idea).
Seconding all the people who said avoid ROS - it's not worth the effort for hobby-level stuff. It's barely worth the effort for "professional" robotics.
Also don't worry about physics too much - build your physical intuition by playing with working systems of increasing complexity.
My college robotics course used Lego Mindstorms (back before the kit was discontinued) because it offered quite a lot for the price.
Our robots needed only to complete a simple task of finding the "reactor" (array of IR LEDs) on a 1x1m fenced board, but Lego more than delivered on the hardware front, because we had an IR sensor, an ultrasound proximity sensor and few other ones that we didn't even use.
Really helped to bridge the gap between theory and practice because it's one thing to program a servo motor and a completely different one to see your dead reckoning algorithm be off by a mile. Also sensors do a lof of things you don't expect.
Its succesor is named Lego Spike Prime, but I never used it, so can't comment.
Do a real project with goals and expectations. Learn exactly what you need to get the task done. Do not buy a ROS book. Do not spend huge amounts of time exploring the ecosystem. Just focus on making it “do the thing”. The experience will come when the goals are met. Source: I built the entire initial software stack for the FarmBot project (minus the gcode handling firmware, thanks Tim) and had zero hardware experience when I started. I can compile embedded Linux kernels from scratch and whatnot now.
Haven’t done robotics, but this approach is also much more feasible now with AI, which I appreciate.
I was very interested in athletic robots, so I left my job in software to build a quadruped and make it backflip [1]. I made the hardware at home (the design was open-source [2]) and wrote the framework to generate jumps, flips, etc. I started with basically zero robotics knowledge, so it was a lot of work, but it was incredibly fulfilling and super fun. I personally learn best by building things.
I'd say start playing with 3D printing and motors to make mechanisms that move (pendulums, simple walkers, ...). +1 to tinkering with the 3D printer itself (that someone mentioned) as you can learn a lot about how the machine works and figure out ways to improve it.
You've mentioned the physical aspect, but simulation could also be a good starting point. You can now very easily train RL agents in sim to say, walk, and transfer to real hardware afterwards.
Finally, if you like flying stuff, there's drones you can buy that are controlled programmatically (e.g. Crazyflie). I haven't played a lot with these, but I've seen them used to teach control and they seem like a nice, inexpensive platform to experiment with.
[1]: https://github.com/rkourdis/trajopt?tab=readme-ov-file#backf...
[2]: https://open-dynamic-robot-initiative.github.io
I would always prefer to start with a kit that will work right a way end to end, than focus on each problem subset to do deep dive. so101 is a highly available 3d printed and servo motor based robotic arm. That can be combined with nvidia orin like sbc as a good starting point.
Worth to check also https://www.printables.com/ for small cute 3d printed robot projects that you can build using stm32 or esp32 boards. You shall check Adafruit/Sparkfun like websites for dev boards, they even support micro python for quick prototypes.
https://www.hackster.io/shahizat/running-lerobot-so-101-arm-...
It really depends on what you want to do. Start with a list of projects you want to build. Are they really robotics or just home automation? If you have no experience with embedded programming, I'd start with home automation or other simple hardware stuff first. Learn how to read sensors and operate lights or motors before you get any deeper into the craft.
There are three reasons why "real" robotics is harder. First, to navigate unconstrained environments by means other than wheels, you need to learn a fair amount of kinematics and control theory. Second, your robot will need to build a map of the operating environment, which often requires complex sensing (lidars, cameras) and a lot of compute power. Even something as basic as a Roomba is no small feat, and these things get stuck a lot. Third, it's just hard to come up with practical applications for simple robots outside of industrial production lines.
Once you have that figured out, decide how much you want to learn. Do you want to do it the hard way, which would mean moving more slowly and working your way up from first principles and probably 3D printing or machining your own parts... or do you want to get results as soon as possible, in which case, you probably buy a Linux single-board computer and put it on top of an existing robot kit? The trade-off with the first approach is that it will take you months or years to get where you want to be. The downside of the second is that you're limited to premade kits and software components, and once you exhaust the possibilities there, you kinda hit a wall.
I highly recommend starting with the very affordable and well documented Lerobot SO101 arms. You can 3d print or buy parts and actuators, camera. Lots of tutorials and training policies, data collection and simulations. https://huggingface.co/docs/lerobot/en/so101
Buy an Arduino and some hobby servos and tinker with them.
But ideally you would have a goal in mind. what do you want your robot to do? (pass butter?) Once you have a goal then you will be able to focus on just what you need to learn to achieve that goal.
Buy some serial servo motors and program them.
Learn about how to battery-power projects, starting with a microcontroller board and your servo.
Learn power distribution circuitry - wire gauges for given loads, etc.
Learn some useful control/animation bits, e.g. play around with an IK library.
This is more or less what led to my own first robots (a simple walker, then a more ambitious hexapod, etc.)
The book "Robot Builder's Bonanza" is a nice introduction and gets you started on the hardware side.
How I did it: buy a Gen 2 Teddy Ruxpin from eBay, a bench power supply, a soldering kit, and an Arduino, and start tinkering
https://duckietown.com/
I want to learn robotics too!! I have a feeling that trying to build something helpful for myself, with help from LLMs, could be a good strategy—but I have no idea! Possibly budget-friendly
Build an army of robots to help you get started with robotics (as a hobbyist).
If the goal is to find a hobby why are you asking? Usually a hobby is something you find fun.
Start with a simple analog Braitenberg vehicle and learn how to ascribe intelligent behaviour to a purely mechanical system.
I recently got started and as others have said, it helps to have some idea of what you want to do, since 'robotics' is such a wide field. In my case I was curious if I can get LLMs to drive a robot, so I bought a quality, mostly-assembled chassis (https://www.waveshare.com/ugv-beast.htm) that let me focus more on software and sensors. If you want more low-level stuff, you can make your own chassis (motors, 3d printed parts, arduino/esp32 programming), you can make your own attachments to chassis like the one I have, etc. On the software side, you can focus on navigation/mapping or operating actuators on a stationary base, you can run small specific models (segmentation/etc) paired with classical algorithms, you can run VLAs (LLMs that output motor actions instead of words). There's really quite a bit to do.
I wrote a bit about how I got Gemini to drive my rover here, it might give you some ideas of what the software side looks like: https://martin.drashkov.com/2026/02/letting-gemini-drive-my-...
If it's a hobby, I'd stay away from ROS, as it's a pain in the cloaca to set up and use. Just build stuff, and run it with one script or ten if you need to. Build stuff. Debug. When you need ROS, you'll know it.
These hack packs looked like a fun way to start and play: https://www.crunchlabs.com/products/hack-pack-subscription?p...
With my kids we did Le Robot from hugging face over the Christmas break, it was a fun project to put together the kit and get the follower arm to follow the leader. You can also train ML models with it etc https://huggingface.co/docs/lerobot/en/so101
Trying to build a robot is the way to start the robotics hobby. Reading about robots, studying physics etc. are different hobbies and fine in their own right, but not a robotics hobby.
There is no wrong way to do a hobby. Good luck.
Lots of ways to start. None of them are wrong. Just let your passions lead you to something you’d like to explore. Maybe start with a hackable 3D printing kit that will let you build parts for more robots. Hacking the 3D printer can directly teach you a lot about robotics.
https://simplefoc.com/ Is my type of rewarding nerdy topic. You might be more attracted to other control strategies.
Mastering robotics as a DIY thing is usually more about the mechanical (particular linkages and kinematics) as well as electrical (particularly motor control). The programming part of it generally can be lower quality and more hacked together, but still can be an area of deep exploration if that’s your passion.
https://youtu.be/pJj6uGcMco4?si=J0ui8LzYxEBXePZ0 ‘Engineer Bo’ is a small YT channel with a few great videos about stepper motor control. This video is about protecting the motor driver chip from large surges of electricity when the motor tries to wuickly “brake”. There’s a second video where he iterates on this solution.
If you don't find the mechanical and electrical parts something you want to invest enough time in to learn, and want to just dive into the programming side, then you could focus on simulation entirely. In that case, look into MuJoCo or OpenAI Gym (ported and maintained by community as ‘Gymnasium’).
Don’t be afraid to ask LLMs to help you learn. They might lie to you or occasionally send you down a non-optimal path, but they’ll be helpful first exposing you to so many of your current blind spots and helping understand the scope of any endeavor you might be interested in.
If you do decide to really invest in learning the electrical and mechanical sides, it can be worthwhile to truly learn them. This would involve following something like MIT’s open courseware (or similar) for electrical and mechanical engineering. You can get away without formally teaching yourself these, but it would unlock “real” engineering. Multivariate calculus is possibly enough for the mechanical side, but for electrical you’d also want to understand how to utilize differential equations. So in total, somewhere between the equivalent of 2-4 semesters of calculus. Linear algebra can help as well, but plenty of people without these math skills make really cool stuff in robotics.
You wouldn’t necessarily need to do the calculus and differential equations by hand like we did in University - as long as you can set up, manipulate, and solve the problems using computer software (numerically, maybe some symbolic manipulation) that would be enough for the hobby.
For enjoying robotics “as a consumer” (rather than as a do-er) there are some fun YT channels, which could either inspire you or scratch the itch passively just enough to rob you of the initiative to actually do it yourself:
Stuff Made Here
Mike Shake
Allen Pan
Michael Reeves
I did a thing
CodeBullet (towards the pure simulation side. this channel helps me when I’m feeling like a poorly educated useless engineer because it shows me that even the absolute lowest effort, dumbest approaches and worst execution can produce something both fun and rewarding. That can help me get out of ruts sometimes)
AlphaPhoenix (absolutely next-level explainers and demos of fundamental electromagnetic concepts and phenomena. The 3B1B of EM physics.)
Buy a robot kit from Pololu Robotics
Look for three papers on "integrated mental architecture" and personality, psychopathology then drill down to experimental robotics and begin from a standard text and devkit.
Go through the ROS tutorials, using a simulated robot at first, then buy a tiny AMR kit and do the same thing IRL. Once you have those basics, you can ask yourself into which direction to go next, the obvious choices being 1) deeper into the research of the new-fashioned (bi-)manual manipulation (arms), or 2) more into business and actually build a real-world application for your mobile robot (which will involve a lot of tinkering with hardware). And +1 on what brudgers said. It's a hobby, so have fun.