I Tried Robotics Knowing Nothing | Here’s What I Learnt
This is something utterly new to me. I mean yes, I can develop webs, apps, and so on… But I know nothing about robotic projects, etc. Diving in from scratch, Here we go.
What I Knew And What Did Not?
Before we start, you need to understand where I come from. When it comes to computers, I knew some programming languages(although I won’t be using any of these). That’s it. There was nothing helpful in robotics that I had learned.
I did not even know the basic workflow of how robotics and microcontrollers work. So when I say “Starting from scratch”, I mean I’m starting from the components, programming, hardware, tinkering, and all the other endless stuff needed.
When it comes to electronics, I know some basics, like the connection of circuits, series, and parallel(something which a 10-year kid knows).
I started with the most generic google search any living thing has ever searched — “Getting start with robotics”.
I’m gonna be honest. Most of the results I got did not help me to get started with robotics. It gave a list of topics that I need to know about, although non of them taught me any of them.
After an eternity of wandering, I found out that a microcontroller is probably what I want. I then came across Arduino Nano and Raspberry Pico which are the most popular microcontrollers currently on the market.
Initially, I decided to go with Arduino since it’s more popular when compared to pico. And the best way I could think of to learn anything about these is through YouTube.
The above video (of course, not made by me), is what I used to get to know about the basic electronics, and how devices, like motors, sensors, etc work. It also clearly explained how analog and digital work and how this is important for learning the Arduino. I also learned the usage of the breadboard and why it’s used.
How It Works
Finally, I got to know how robotics works. I realized that It’s switching devices on and off, quite literally. For example, to create a robot hand, you just need motors on the hinges and switch them on/off methodically to make it work like a robot hand.
You have pins in the chip, where you could connect each pin with a device, and pass electricity through it to trigger the connected device. It’s that simple (though it gets complicated with analog devices)
How I got started
Initially, I thought of using microcontroller simulators, like Tinkercad, and some other weird-sounding webs, but changed my mind to rather physically buying a microcontroller for a more vanilla experience.
Even though I had learned how Arduino works more than any other microcontrollers, I decided to go with raspberry pi Pico since it’s way cheaper and uses a programming language that is easier to understand(ok… The main reason being that it’s just $4).
Throughout The Journey
All I have done to learn this is to refer to tons and tons of docs, and even more than that is watch lots and lots of YouTube videos every day on the topic. It just made the day better.
My First Program For the Microcontroller
Connecting And Programming
This is probably the easiest part but I made it complex. All you had to do is:-
- press onto the boot button(in the microcontroller)
- plugin into your pc
- release the boot button
- open the webpage mentioned in the pico
- install the bootloader(just copy and paste the file)
I wasted a lot of time connecting the pico to my pc. I mean… It’s my mistake though. If you were using Windows, Mac, or Linux, it’s gonna work without a doubt. In my case, I was using Linux but I did not have a notification manager installed. So even though it was connected I did not realize it, which wasted a full day for me.
The first program I chose for the day, was probably the simplest program you could create in it, which is the program to blink the built-in LED which comes with pico(the same program could also be used for external LEDs as well, though the PIN changes).
After this, I created a list of devices that I’m gonna build using the pico. And btw, I’m not buying new microcontrollers for all of the devices. I’m just gonna reuse the same old one.
Here’s a list of stuff that I tried. All of the below gave me a good understanding of how robotics works, but this is still barely the tip of the iceberg.
- robotic hands movable hinges (basically two servo motors working together)
- LCD showing the number of subscribers I have on my YouTube channel
- switch on/off the light when night/day
- table stand for my laptop(and the height is adjustable using my dumb robot hand)
- I could not do this, but If I had enough money, I could’ve created my automated studio(sort off). Maybe in the future ;)
- automated guns(although you could build all sorts of lethal weapons, I built a fairly harmless gun)
- a domino stacker… I mean this could help me break the world record
I know… All of the ones above are probably a bit too easy for some of you pros, but hey… I’m still a noob in robotics. Let me breathe.
I could do only these for the 6 months of robotics. I can’t even imagine how awesome it could be when combined with ROS(robotic operating system) and so on.
This was very easy. It just means that the syntax is LITERALLY like python and the only difference is that you don’t get to have some fancy libraries and modules which you would however not use with pico. So I can say that learning the programming language was a smooth experience.
This took about a day for me. I just need to limit myself from using any and every library.
Learning The Modules, Libraries, and Other Features
MicroPython runs on a variety of systems and hardware platforms. Here you can read the general documentation which…
This is what I referred to forgetting all the modules and libraries which I would use in my projects. In short, the above docs are filled with knowledge for learning everything you want. It’s easy to go around when compared to some other docs.
My Thoughts On This
This happens to me while learning anything related to programming. I try to form a simple algorithm(trying to figure out what the code might look like) and get no idea. BUT once I read the docs, I realize that it’s a very simple algorithm which I’m complicating for myself.
For example, for robotics, I thought we needed to add os into the microcontroller and integrate it with hardware or something crazy like that. But then I realized… All I need to add is a bootloader and a Micropython file. And as you get more complex, you have multiple Micropython files.
The Problem I Have
Robotics is one of those fields where money is important. I mean if I have a serious project on my hands, I have to buy some stuff. Currently, I’m not in the stage of being the next Elon Musk so… You probably get point.
I will however not leave this field and continue learning and of course, having some fun tinkering around. And who knows? Maybe an algorithm for inserting sd cards into human brains?
All I had to get was some thousand errors to finally learn the basics of pico. It was NOT a smooth experience(what else did I expect?). It was rather filled with obstacles that were interesting to solve. Now… This was something that I do all the time, I could see myself getting bored of the errors. BUT, since this is completely new to me, I found it interesting. And yes… I still find it interesting to see the grapefruit CPU chip every day to learn more.
OH Yeah Btw,
If you guys are interested in any of the codes above, let me know! I have the code and I’ll clear out all the bugs and post it into GitLab :)
That being said, it’s awesome to keep learning something new. Through stuff like robotics, we could have cool stuff done(I mean you live in the 21st century so you probably already know this).
All in all, it was fun, and I’ll probably start on some of my ideas for building something useful. I’ll keep you guys posted over on my YouTube channel and Twitter. I hope you guys got something from this, stay awesome and I’ll meet you in the next one :)