Ask HN: How do I learn robotics in 2025?
102 comments
·June 2, 2025borjah
Do this course https://github.com/henki-robotics/robotics_essentials_ros2
Totally free, don't need to buy anything just a computer.
I've been designing electrical hardware for robots for the last 4 years for a big corporation and I can tell you, the fun and money is in the software but having another skill is awesome. Robotics is a place where multiple fields converge and if you find a good team they will help you to grow.
Embedded is the adjacent field after you complete the course. Maybe something like zephyr project.
If you want to get you feet wet with mechanical. Buy a A1 mini and play with onshape (www.onshape.com) to design your first pieces, supports for the motors or the board, try create you own gripper.
As for the electrical engineering, is the one with most pitfalls and the most expensive. A wrong voltage will release the magical smoke and is another 30$ for a board. Tread carefully. Start with the RP2040 or the RP2350, they are cheap and well documented. This skill will evolve hand by hand with the embedded coding. Start small. Learn about H-bridge and brushed motors before doing the jump to the bigboys and FOC control with brushless. Get a cheap soldering iron. If you can, a clone of the JBC C245 tips. Is the most versatile and you can find stuff in alie xpress for 45 or 50$ and would be similar to the tools you will find in the field without breaking the bank.
Search for ROS meetups. I could point you to some depending where in the world you are.
And above all, it will be a long journey. Don't dispear, do at your own time but don't forget the objective.
korse
I'm in the field and I disagree with the initial direction of this post. You aren't going to 'learn robotics' in a meaningful manner by checking the boxes in a online ROS2 course.
Robotics is a compound discipline which pairs mechanical and electrical engineering knowledge with mathematics and software development. In order to get meaningful practice in all of these areas, I would recommend re-implementing a robot vacuum from 'scratch'.
The actual vacuum part is non-essential, as you're really trying to implement the famous 'turtle' robot and experience all the design steps/compromises/challenges first hand. As a goal, aim for autonomous navigation around your home that works equivalently to a cheap 'throwaway' robo-vac.
Keep in mind you are surrounded by robotics. Most passenger vehicles, consumer drones, micro-mobility devices and modern construction equipment are 'robots in varying degrees of disguise'. Practical knowledge regarding any of these systems transfers well if you know where to apply it.
nightski
This feels like the "How to Draw an Owl" meme all over again. Just create a self navigating robot from scratch...
hansvm
It's similar, but the advice should be good for a software professional. It's an actionable, well-documented goal which takes you through the basics you're likely to care about. If any step needs some extra explanations, the choice of project guarantees you can find hundreds of good resources for that step in particular. With that basic background, next steps will be easier to find and understand.
shantnutiwari
>You aren't going to 'learn robotics' in a meaningful manner by checking the boxes in a online ROS2 course.
This is the best answer-- all other answers are saying "Run this simulation of a robot".
but a simulation is not a robot. Even a simple lego tupe robot kit shows you how fiddly and complex real world moving parts make everything.
null
morkalork
Where would you recommend someone to start from a more data-sciencey background, algorithms like VSLAM look interesting to mess around with but building a whole robot just to do so seems daunting.
shitloadofbooks
Couldn't you try implement them in a game engine?
exe34
In that case it doesn't sound like you want to learn robotics - you want to learn VSLAM.
It's like saying how do I learn car manufacturing but really I just want to try to make rubber tyres.
drekipus
> And above all, it will be a long journey. Don't dispear, do at your own time but don't forget the objective.
My biggest issue with robotics is that I don't see the point in any objective.
Building a cool robot feels like it's just a toy to me, and I don't know how to get around that feeling. I studied mechatronics at uni and spent a long time learning on my own in addition.
Robotics for business is almost a cliff, very hard to get into and make something that works reliably at a reasonable cost, from a solo developer point of view
pixl97
>very hard to get into and make something that works reliably at a reasonable cost, from a solo developer point of view
I mean yes, otherwise they'd be even more robotic stuff wandering about
In products they have the trade off triangle where you can pick things like fast-cheap-good, pick any two.
In robots it's cheap-reliable-featureful pick any one.
The problem with the term 'cool' is it sets no boundaries. Those constraints limit your costs and scope. That's the hard part for most people when they think about cool.
And reliable is more of a time factor (+effort). QA on products takes a massive amount of time and effort to figure out what is not reliable.
hommelix
> As for the electrical engineering, is the one with most pitfalls and the most expensive. A wrong voltage will release the magical smoke and is another 30$ for a board. Tread carefully.
I enjoyed reading "Exploring Beaglebone" by Derek Molloy a few years ago, because the book has sections "how to destroy your beaglebone" and "how to interface with electronics". The website seems broken. The book's ISBN is 978-1-118-93512-5. Some of the recommendations there (voltage clamping circuit on the 1.8 V analog inputs) can save your board.
sabareesh
Interesting one thing that is more satisfying with robotics is that because you can see your creations in real world
borjah
That is sooooooo much true. The pride and joy to see the robot moving, no words can describe the feeling!
varispeed
How programming of RP2040 or RP2350 could translate to platforms used commercially like Siemens SIMATIC and others?
schlauerfox
Microcontrollers and PLC are historically different fields that have some overlap as the fields converge somewhat. PLC come from relay logic and so learning Ladder Logic and playing with a cheaper Automation Direct PLC might be good if you're looking to do control systems like industrial machines and those robotics. RPi series micros are good to learn embedded electronics, servo controls and Realtime OS. Computer Engineering and Control System Engineering are treated differently even in the California State Engineering License Exams, so they tend to be different paths but the skills have some overlap. My degree was in computer engineering and didn't cover any PLC, but I contract and PLC comes up a lot in one-off things that need to be reliable.
borjah
Yeah. As some has said already PLC are more oriented to robotic arms in factories etc, where space is not a premium. Robots like anymal from anybotics, spot from boston dynamics or the unidog from unitree to name a few don't use PLC at all due to lack of space. Also energy efficiency, mcu at most will push less than a watt to move something complex, a motor control for the FOC, I mentioned earlier.
I worked for the past 4 years in HP siteprint.The main problem was developing all to fit inside a pelican case that you could check in on a plane. The smallest PLC was almost the full internal volume of the robot. That's why I said microcontrollers, more ready available to experiment at home, faaaaaaaar more cheaper and those two, very well documented. STM32 in europe is the big player but is harder to get into, the documentation tends to be cahotic.
dotancohen
If you've managed to collect some good documentation, links appreciated! Or PDFs (my Gmail username is the same as my HN username) if inclined.
Thank you!
amelius
> the fun and money is in the software
This could change if there are breakthroughs in AI, which is not unlikely in the coming few years. Any thoughts on that?
borjah
Mmmm true, but will not replace a good coder. The software team has been experimenting with AI. Is useful and can guide you to do a Proof of concept fast but if you want to start doing very specific custom stuff all crumbles down fast.
In the next years? Yeah I see resolving path planning without a doubt or reverse kinematics or object recognition, for example. AI will be another tool, one you have to learn to use it. But replacing a full software guy... I don't see it, to be honest. I see it more like in the novel Beyond the Blue Event Horizon. The first chapters explains AI as the AI agents that are being rolling out nowdays. But they will be more like what a junior engineer is to a senior, more than replacing a full team of engineers.
beau_g
All we really need for the robotics AI revolution is to deploy many tens of thousands of well built, cheap, reliable robots sold at a profit that customers get tons of utility out of, get petabytes of data back from them while complying with data privacy regs, train a model on this data on a few thousand H200s, and then deploy that model back to the robots, repeating the cycle every few weeks. The rest will be easy.
lpzimm
AI trivializes coding: the complexity and scope of robot software will increase.
Robotics-oriented ML trivializes current robot design problems: demand for robotics engineers increases, the projects do cooler things but the day-to-day gets less interesting.
Both: this is probably just AGI right?
amacneil
Robotics is definitely getting more accessible! But keep in mind it’s a whole different world from traditional web or desktop software development, so don’t be surprised by the relatively steep learning curve. Keep at it though!
- Buy a small robot kit from Amazon or a local reseller. Yahboom make some good robot toy car kits. Hugging Face have the open source SO-ARM101 that plenty of companies manufacture and sell now. Expect to spend about $250 USD including a Jetson Nano for a good kit, up to $1000 USD if you want some more sensors
- If you can’t afford a real robot, play around with simulators like Isaac Sim and Mujoco
- Check out LeRobot, excellent framework for ML robotics from Hugging Face
- Learn the basics of ROS (pubsub), even if you don’t end up using it, a lot of the industry jargon and design patterns come from ROS so it helps to understand it. Think of ROS like Ruby on Rails, it’s a heavyweight batteries-included framework with lots of opinions.
- ROS does have some nice libraries for manipulation (MoveIt) and navigation (Nav2) using more classical (non-ML) methods
- Leverage AI tools such as ChatGPT and Cursor when you get stuck, it’s a lot faster than Googling when you’re just getting started and don’t even know the right term to search for.
- (Shameless plug) Check out two tools I’m working on: mcap.dev for logging and foxglove.dev for visualization
carlosdp
I highly recommend starting with the SO-ARM101 and the LeRobot tutorial. They're super cheap, its insanely quick to get started, and you can even buy pre-made kits like at https://partabot.com . It's the "Hello World" of robotics now, imo.
Don't bother with a Jetson Nano, you don't need that to get started, and by the time you need that you'll know a lot already. You can just drive the robot from your laptop!
Getting to training your own VLA fine-tuned model is a super quick and easy process. You can see examples of other people completing the tutorial and uploading their training/evaluation datasets here (shameless plug for my thing): https://app.destroyrobots.com
I wouldn't bother much with ROS at first tbh. It'll bog you down, and startups are moving toward using other approaches that are more developer friendly, like Rust-based embedded.
You can go far with a robot connected to USB though!
moffkalast
Maybe ROS is the way to get started in robotics and for AGVs it's probably the most resourced thing one could learn.
But that is really only for AGVs. Once you get into the air, it's all Mavlink (always has been), ASVs and AUVs still run MOOS, and robotic arms are far more likely to use ABB studio than Moveit and the research is going towards LeRobot with end-to-end control, not classical methods. IoT systems are mostly Home Assistant, and well, some just use MQTT directly instead.
ROS is probably not as ubiquitous as us ROS devs would like to believe, what one should learn really depends on the field one wants to be in.
amacneil
Definitely! I agree with everything you said.
ROS is still very heavily used in industry and is growing in absolute terms, but most of the newer frameworks and research are learning towards e2e methods.
But even if you don't use ROS, it really helps to have a working knowledge of how it approaches things like pubsub, logging + replay, transforms, etc.
ActorNightly
This is by far one of the best ways to learn IMO
https://store.steampowered.com/app/573090/Stormworks_Build_a...
The idea of that game is that you build vehicles to do rescues and deal with natural disasters. While there is a career mode where you gain currency that you can spend on parts and fuel, most people who play that game play it in sandbox mode where you essentially design vehicles to do certain things, while also configuring the game to chose missions it generates. For example, you can make it so you only have to deal with land rescue missions or only fight enemy ai.
The building system is VERY in depth. While you don't have to worry about structural strength, you do have to keep things in mind like part placement, CG location, internal volume for buoyancy for ships. Then you get to propulsion, which you have to build out of components - the game has a fairly indepth internal combustion engine simulator where you build custom engines, and have to make sure they are fed with adequate fuel, air, and cooled appropriately. You can do jet engines, you can do nuclear, you can do full electric, and so on.
Then you have to build systems to do missions - for example, to transport a container you have to build a crane to be able to pick it up.
Finally, the game features a microcontroller system which is the bread and butter of doing cool things. There is a bunch of sensors that can read data (GPS, laser distance, pitch, roll, heading, radar, e.t.c), which you can route into a microcontroller, and do math either with logic blocks or Lua code, and thats how you build automation. You will get very familiar with things like PID controller tuning, trigonometry math (for things like distance sensing), state machine coding practices, and other things that are all applicable to the real world.
_tqr3
Rather than watching videos or reading on the internet, I think its worth it to get your hands dirty.
For starter, I always recommend a RC car with an Arduino (or cheaper equivalents).
Following can be had for less than <$100
- SG90 servo motor - 28BYJ-48 stepper motor - ULN2003 driver board - UNO R3 Controller Board (Elegoo) - RC car chasis/3D printed chasis
Hack around, add sensors, cameras etc. Next would be to build a robotic arm.
r2_pilot
Start by deciding its purpose. The form will follow the purpose. If you know electrical engineering, you won't make as many mistakes as I have. If you know mechanical engineering, you won't take as long to design the components as it took me. If you're a competent programmer, you won't be as slow integrating the hardware into a cohesive whole as I am. If you've read The Design of Everyday Things, you're ahead of the curve in terms of making it accessible.
TrackerFF
I'm not joking, but some of those Lego robotics kits can work just fine for getting your feet wet. Yes, even if they are made for kids.
When I started out, it was with microcontrollers, breadboards, sensors, actuators. And even though it was in college, I do wish I had just played around with more high-level stuff first.
datadrivenangel
The lego mindstorms kits were great for this. Nice and modular for the hardware, but still real enough to teach you lessons like sometimes identical motors don't work the same way.
neuronexmachina
Although the Mindstorms line is discontinued, nowadays there's the Lego SPIKE Prime (it's marketed more towards classrooms). Like the Mindstorms EV3, you can program it with either a visual block language or MicroPython.
iancmceachern
All the responses, most of which I've seen are great, are very software focused. I get it, makes sense for HN. There is a whole world of hardware in this space. Learning how to design mechanisms that work, and last. Custom motors, controllers, actuators, hardware.
For that there are some great points of entry now. Places like pololu robotics, Adafruit, sparkfun, etc. are all as good as ever and are great jumping off points into building and eventually designing hardware.
fusionadvocate
Robotics is more accessible than ever. The tech is here to build almost anything you want. Dream big! We can now buy cameras for a couple dollars, microphone arrays, sensors, motors and drivers. 3D printers are everywhere, stock components also available.
Or 'manage your expectations', download ROS and build another mediocre turtle bot powered by some Nvidia Teraflop chip (if they allow you to boot their sdk), and spend a year learning "abstractions" defined by other people for other projects.
worldsayshi
While inspiring, it does sound like there needs to be a less steep learning curve to get anywhere. Small incremental steps and all that.
beklein
If you want to make something, have a look at https://huggingface.co/lerobot For hardware check: https://github.com/TheRobotStudio/SO-ARM100
There will be a world wide hackathon in two weeks time, no better way to get started and get to know some people: https://huggingface.co/LeRobot-worldwide-hackathon
deepinsand
If you're in NYC, we'll be hosting folks at the Betaworks offices for the 6/14-6/15 hackathon: https://lu.ma/z3z9ipke
scottbez1
Two bits of advice: just jump in, and set reasonable expectations for yourself.
Robotics is a field filled with layers upon layers of complexity, theory, and real-world problems. Those at the top of the game (think robust dog robots, walking bipedal star wars droids, high-speed and high-torque many-DOF arm platforms) are leveraging learnings and expensive prototypes from decades of work/research to achieve those feats. This is not to be discouraging, but to say - they all started somewhere - you too can start, and maybe you won't build things like that today, but you can get there.
And the cool thing is all that robotics work by experts has made the barrier to entry much lower - today you can choose to apply money to solve problems you don't want to learn and focus on the things you do want to learn, in ways that weren't possible 10 years ago. Need a powerful closed loop motor system? Buy an ODrive or closed-loop stepper platform off the shelf, and focus on how to apply those systems to build something higher level.
But the big difference with learning hardware/robotics compared to software (speaking from experience having watched a lot of really smart people struggle to get robots working when I ran an MIT robotics competition, 6.270, and was a lab assistant for another course, 6.141) is that the real world is unforgiving in a way that software is generally not. So if you come from a software background, you will find that robotics can have so many more setbacks because nothing ever moves/behaves/reacts in a precisely predictable way in physical space. This is why I say just jump in - you'll have fun learning all the ways things go wrong, and they faster you get that learning out of the way, the sooner you can build things that work reliably!
Try things and figure out how and why they don't work, and iterate. But don't set unrealistically high expectations or it will just be frustrating.
jmpman
If you’re an engineer, go volunteer for a First Robotics team, and advise high schoolers on your area of expertise.
kens
And if you're in high school, join a First Robotics team. (In First Robotics, teams build a moderately large robot that can zip around a field, grabbing things and shooting balls for instance. It's like a competitive sport but with robots competing. The robots are controlled by drivers, but can also act autonomously for more points. The task is different each year, with sub-tasks of varying levels of difficulty, so teams with widely different skill levels can take part: some robots are very simple while others are amazingly complicated. It's a great way for high schoolers to learn engineering skills, anything from programming to mechanical engineering.)
johnrgrace
I would say for starting a first robotics lego league is going to be easier to access because they build a smaller robot out of legos, plus the "season" starts in the Fall vs. January for First robotics league.
I've coached a First team that has qualified to go to worlds the last four years and been on the Einstein field once in that time. I think you'd learn a few things - robots are built to solve problems and the most technically complex and advanced robots don't always solve problem better than simple elegant designs. - Robots involve multiple skills and usually get built by teams where members are specialists in specific fields. Some people will understand all of the robot sub systems but
elteto
I was thinking I’d love to do that when my son gets older. Any tips for a first time coach?
mikegreenberg
FIRST and most of its teams are very open to collaborating and supporting rookies new to the org. I recommend reaching out to as many nearby teams as possible and see what support they can provide. Any serious teams are motivated to help as this directly contributes to their team's success during the competitive season. Competitions require a teams to have a pro-social aspect to their operations. Helping other teams is a strong signal in this area.
Additionally, find a nearby FRC competition and volunteer for at least one event (do more, if you can). Wander the robot pit and interact with the teams. There will be a lot of good intel for you there just wandering around and asking questions.
Source: Am volunteer judge for FRC.
mikegreenberg
I couldn't agree more. FIRST is an excellent organization to get involved with. Even if you don't have specialities which directly align with the needs of a team, most will not turn you away (especially if you demonstrate passion).
Just a few thoughts about starting a team and/or volunteering:
Starting a FIRST Robotics Competition (FRC) team is not for the feint-of-heart and requires significant time and money investment. This is the sort of endeavor you try when you're either retired or have a group of other dedicated volunteers willing to help you build the team over multiple seasons. If you spend a year or two mentoring/volunteering for a well-established team, you'll get a good sense of what you're getting into. FRC is a bit hardcore.
If no FRC teams exist nearby, FIRST Lego League (FLL) is a good entrypoint, but may not be technical enough for an adult interested in using FIRST to gain exposure to robotics. (It is plenty satisfying to mentor these teams, but Mindstorms can be somewhat limiting.) These are geared toward using Lego Mindstorms for learning robot concepts.
A good middle ground (for exposure to more practical robotics) would be volunteering with a FIRST Tech Challenge (FTC) team. It's the middle ground between FLL and FRC and is _doable_ for a single, dedicated, passionate adult to start (though I'd strongly recommend finding another volunteer to pursue this with).
If getting involved with a team is not an option, seek out nearby FIRST events that you can volunteer at. Many competition events need volunteers and you'll get a chance to interact with local teams and find plenty of opportunities to play with robots.
breakds
My suggestion
1. Start by learning a simulation tool, e.g. Mujoco (open source) or Isaac Sim. 2. Learn basics of optimal control and reinforcement learning, reproduce papers/ideas in the simulation. 3. Get your hands dirty on a cheap robot, and try deploy your trained model on it. For mobility and manipulation. Unitree Go1/Go2 for mobility, and robotic arms for manipulation.
i wish to make something. it should be more accessible than ever and the next thing but only the tech giants seem to capture most of the conversation.