Ask HN: How to get started with robotics as a hobbyist?
I wanted to find new hobbies for myself, something that involves more physical stuff compared to only code. How did you started on your journey with robotics, what's handy to learn in the first place? I know only basics about embedded programming and I'd need to brush up of my physics skills. I don't have a set goal in my mind, only exploring for the time being.
53 comments
[ 4.6 ms ] story [ 68.9 ms ] threadThere is no wrong way to do a hobby. Good luck.
For this question specifically: there are many ways to approach robotics, incl. from the hardware side. But approaching it from the software (sim) side is not invalid, so I don't think down-voting my comment was warranted.
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-...
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.)
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.)
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'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
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 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-...
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.
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.