Why Arduino Sucks
Updated: Apr 29, 2020
Hello, and welcome to another perfect post.
Here, I'm going to tell you all about why Arduino sucks and is harmful to your health.
This one is for those who want to go deeper into electronics but aren't the engineer type. If you always wanted to program cool electronic or robotic projects but have no clue how to do it and don't have alot of time to waste, this article is for YOU.
I'd like to tell you about my short lived journey with suck-duino...I mean, Arduino, and how it led me down a better path to programming the Atmel AVR chip that sits on the board by itself all in a much better language like C. The C language for AVR gives much more control to you and helps you to actually understand what you are programming the chips to do; turning on LEDs, moving DC motors and servos, etc.
The C language is a much more solid language, albeit somewhat difficult to learn as a first language, that will help you in learning other programming languages and coding concepts later down the road. Put your seatbelt on, you are in for an informative ride.
Due to the ever decreasing attention span of the modern human here is a picture of a cute dog.
How I Started Learning Electronics and Robotics
My story begins about 10 years ago. I was in college wondering if all my studies in psychology would really amount to a meaningful and exciting career that would make me some actual money. Spoilers: It didn't and I would never recommend that degree to anyone. I was nearing graduation and felt so empty from all the rote memorization I had done so well that the world felt, grey and bleak. I felt too serious and quiet. Something went wrong despite my success in my classes.
I decided to take a water color class to add some color into my bleak, dying world and it definitely helped! I also signed up for a pottery class which I didn't do too well in afterward and was still looking for some hobby or new skill that would breathe some fresh air into my life (which was great, just empty feeling).
I came across those early, old school, 480p resolution Youtube videos and saw a few Kipkay videos. He would show simple DIY weekend style garage hacks and that was pretty much all we had. Then I came across some really nerdy guy who I swear had been on Tech TV back in the day and started mentioning "ARdweeeeeeno" this and "arduuueeeeeeeiiino" that. I had no idea and it looked way beyond my ability but he was definitely early to the Arduino game.
I ended up changing life plans after graduation and landed in South Korea establishing my own ESL school and became a brand. It was good but I was always worried about what I would do once I got back in the states.
I wasn't a fan of the Ironman franchise believe it or not but felt robotics (automation) was going to be the next hot industry and my intuition was right!
AI (algorithms), cloud computing, automated systems and apps are all on the rise for the foreseeable future.
Why Arduino is Harmful to Your Health
I got the original spark to get into programming electronics and robots when I was watching that lukewarm received movie Elysium. I started to learn Java and realized that was great for Java tribes people but I wasn't a Java tribe member. I was a different breed. So, I sought elsewhere. A year or so later, I ended up buying an Arduino starter kit that was recommended by a long lost Youtube channel. The thing was about $30 USD.
It arrived and sat on the table for at least a month.
I felt like a chump for not even opening the tape seal on the box.
Once I opened it I realized I had no idea what any of it was.
I guessed my Arduino was legitimate and not a fake.
I had no idea what any of the components were called and tried to look them up over the next busy few weeks.
I then proceeded to copy paste one program at a time from their atrocious, unorganized site.
Good GOD that site sucks.
I struggled with varying levels of success, usually ending up with the Arduino board being flung across the room. It wasn't exactly my fault you see, my muscles are just so advanced...accidents happen...repeatedly.
I had all these great ideas but felt like a chump again because I couldn't bring any of it to light. I couldn't make a single solid project with Arduino. A year went by and nothing got made despite my efforts to study almost daily. Servos were janky, code was ambiguous, the Arduino crowd was the copy paste "Look what I did!" Stewart from MadTV kind, usually for some art project and no one really got into detail of what was going on in their projects. It was all worthless junk, as if a hoarder created a website for electronics.
Wh-what?....Y-y-you must be doing it wro-"
Arduino has it's own development software which is basically a dumbed down layer on top of C++ which is a layer on top of C, hence the name...C...plus...plus....as in it adds to what C could do originally.
The IDE is ok and the drop down menus to choose the type of board you have and what Baud rate you want for Serial communications is cool but it will throw the weirdest errors and not really explain itself. This is precisely where I would get lost. I had no idea how to troubleshoot the problems that I didn't know I was having. Like being lost in a dark room tumbling around in deep space.
The Arduino boards are also bulky unless you go with something smaller like a Nano which isn't all too bad but you are still limited to the long rectangular form factor.
I wanted more knowledge of what I was doing, I wanted to do it faster and I wanted complete control over my form factor of my projects. I wanted them to be as sleek as possible. So, Arduino sucks and I shelved mine for a while but didn't give up. I only took a few month hiatus.
I sought answers elsewhere and found a FANTASTIC book by Elliot Williams who teaches how to program the Atmel (now Microchip) AVR chips (which is all you need as a beginner) in the C programming language. Finally, I could program electronics and robots in the bad ass foundation programming language of most modern languages, (AVR) C! Grab it below!
Through Elliot's book which I recommend you grab while it's still in print (there is also a Kindle version), I was able to understand that all I was doing was turning on switches inside the chip. These different combinations of switches in the chip end up performing the different calculations and functions that you need to get electricity to be sent out or received on the chip's pins and at certain times and patterns which you can choose. That's IT! This is why I was able to get it and why you can too.
The great news is if you already bought an Arduino and have a USB-B cable for it and are used to using the Arduino IDE you can still program the chip with C code. That's right! The Arduino IDE will let you type in AVR C code right to the IDE and save the project as a C file (make sure you do save it as a " .c " file instead of the default Arduino type file.
It doesn't even have to be the AVR chip. I'm not a fan of the Arduino due to it's dumbed-down nature and over complex packaging but I am a huge fan of a similar yet far superior board you may know as the Raspberry Pi. You can program that one in the beautiful, simple Python language which has an incredible and useful community which builds anything from Linux OS projects to Retropie arcade gaming consoles to robots similar to what you would see in Arduino. They are affordably priced and have HDMI output, Bluetooth capability and WiFi, etc.
Those are my two go-to setups:
1. Minimal components and total control = AVR chips in C language
2. Elaborate projects with Operating System and HDMI output to a monitor = Raspberry Pi and Python language
Make sure you get a good soldering iron when you decided to get started. Soldering isn't hard at all! Especially when you follow my tutorial here.
What makes soldering scary and difficult? Horrible, cheap soldering irons. Seriously, look it up. I had a fake Hakko solder iron for a few years but once I landed in the USA again I got myself a really nice soldering station with hot air gun for those tiny embedded repairs I couldn't do (think Xbox controller chip replacement from water damage).
A good soldering iron will get nice and hot, fairly quickly and should have some form of temperature control and display. You want a nice and hot iron because a hot iron melts the solder and lets you do your job very quickly, leaving a nice, firm and shiny button. I took a gamble and got an X-Tronic 4040. Their customer service is really good and responsive.
Here is an affordable iron I recommend for beginners made by X-tronic. Check it out!
Once I had figured out the correct way of programming electronics and robot projects and the languages that the chips should be programmed in, my life became a lot more complicated, in a good way. Now I was thinking all day about Data Registers and what I had to turn on to perform certain functions and accomplish certain tasks.
I started thinking in the C language just to get used to it. It takes a lot of active effort when starting as a noob. But, don't take it for granted.
It's not about knowing everything and being the best. It's about the process of discovery.
So, when you feel overwhelmed and haven't made anything at all for weeks, just remember that you HAVE put in the hard work of even just seeking this information out.
It took me 3 years before it all clicked and I felt like I understood the layout of it all. I hope you find this site helpful and if you need some really in depth quality tutorials with a side of entertainment, check out my videos right NOW!