🤖 Robotics

I’ve always been intrigued by robotics, and have really obsessed about it since entering university. I love how interdisciplinary robotics is — uses every aspect of engineering.

My Experience with Robotics

Places I’ve gotten robotics experience:

Things I need to master


Why don't you study mechatronics then?

Some people ask me why I study Software Engineering instead of Mechatronics at UWaterloo, since I love robotics so much. I like Pieter Abbeel’s answer: “The bottleneck of robotics is Software, not hardware”.

The most difficult part of robotics is no longer building the robot itself (smart home robots have already been created over a decade ago, but they were tele-operated). Rather, the software is what is limiting the robot from being truly useful.

I finally remembered why I thought robotics was boring: they moved too slowly. I like things that go fast. Like planes and rockets.

My plan is to teach myself mechanical things outside of school, but become EXTREMELY good at software through university.


Cool robots I found online

Robotics Pioneers

People’s lists https://www.linkedin.com/feed/update/urn:li:activity:7069540305292705792/

How to get started in robotics?

I found that a lot of people were asking me this question, so rather than repeating myself each time, here’s my answer once-and-for-all answer:

Robotics is hard because it combines so many disciplines, from Software Engineering to Mechanical Engineering to Electrical Engineering — but this is also what makes it so exciting to work on.

However, for a beginner in robotics, it may seem extremely overwhelming to get started, as it just seems that there are so many things to learn. But this also applies for all disciplines that are moving fast, such as AI.

If you haven’t heard this already, I recommend you listen to some of the advice for beginners given by Andrej Karpathy: https://www.youtube.com/watch?v=I2ZK3ngNvvI&ab_channel=LexClips

It doesn’t matter how you get started, it just matters that you start somewhere.

Beginners are too focused on what to do, and not how much to do. You need to put in your 10,000 hours if you want to get good at robotics.

Things you can do put in those hours (this is what I did):

  • For High School/University students:
    • Join student design teams. Find other students passionate about robots.
    • Join robotics labs and work under a professor. They will give you access to good robots and give you good guidance / mentorship.
  • Generally:
    • Go through the best textbooks and lectures online (I link those everywhere on my website) to gain theoretical understanding. Get good at C++ and Python.
    • Build things from scratch to gain practical intuition. Start with simple projects like line-following robots to understand hardware-software interaction.
      • I started with Arduinos, before moving onto Raspberry Pi, and ROS on Jetson

As you experiment, you’ll find that certain activities will give you a higher ROI on your time, and you’ll naturally prioritize those activities. The important thing to remember is that these activities are different from person and person, and that you need to experiment to figure out what works for YOU.

  • I generally had bad experiences in student design teams and found working with professors much more helpful, but I’m going to tell you that working under a professor is much better than working on a design team. For example, my roommate learned 99% of what he knows in firmware through his design team.

Other things:

  • Research successful people like Stuff Made Here and how they acquired their knowledge.
    • I stalked Stuff Made Here’s reddit posts, he has some solid advice
  • My YouTube channel is a reflection of my robotics journey. I started with super simple robotics projects, before moving onto much more difficult projects that requires months of work.
  • Check out my thoughts on Self-Learning, such as Top-Down vs. Bottom-Up Learning