When I was fairly young and just becoming interested in electronics and what is now more popularly known as mechatronics, I imagined that there should be some kind of small consumer-available programmable computer, like what one would find driving Segways (one of my main interests at the time), clocks or remote cars and helicopters. I wanted to build a Segway, but when attempting to program the control system to handle the movement of my assembled actuators, I didn’t know where to start.
I was then introduced to Lego Mindstorms by my uncle in 2009, when I was 13. I did what I could with it, for my skill level at that age and limited by the IDE’s built-in functions. I know now that if I delved further into robot C after I had changed the NXT microcontroller firmware to operate with robotC, I could code a control system that would keep a Segway balanced. I didn’t know enough about control systems and the differential equations that they involve when I was 13 to design a successfully balancing Segway.
However, during High School, in my junior year physics class, we were assigned a project requiring the use of Arduino, giving me my first introduction to its many applications. We chose for that project to construct a face made from LEDs that would smile when the room was bright, using a photoresistor as the input-sensor, and frown when the room was dark. That small introduction to Arduino showed me just how powerful a tool it would end up being for me and already was for many other electronics hobbyists.
I took a Mechatronics course in college which taught me about all sorts of programmable logic controllers, including much more about utilizing the Arduino microcontroller, and a multitude of ways to make use of microcontrollers with the vast pool of sensors and actuators developed for them. Our final project in that class involved creating a 2-axis system driven by motors, powered by the Arduino kit that we were given, which performs a task. The group that I was with decided to create a small hockey table and use a joystick to control an air-hockey striker to strike the puck and send it across the table. We used a combination of acme lead screws, timing pulleys, DC stepper motors, Stepper motor drivers, aluminum and polypropylene boards and two Arduinos to construct our table. Two Arduinos were necessary to control the separate axes of motion simultaneously without disrupting each motor driver’s delicate stepping sequence.
I went on to use Arduino in other projects, most notably the RFID door lock that my roommate and I made for our apartment in 2016, and my nixie tube clock which utilized an Arduino Mega because of its abundance of output pins. Arduino has been one of the cheapest and definitely the most readily available microcontroller prototyping solutions for hobbyists and professionals alike for many years, and especially for me during the past few. It provides such a simple and intuitive environment, being based mostly on C, and the communication between components is set up to be basic and extremely logical, with thousands of available libraries to use with sensors and actuators. It has opened up a massive range of possibilities for small-scale mechatronic and electronic device applications that were previously out of reach.
Now, anyone with computer access and a few dollars can buy an Arduino and some components online and code it to perform a small task while consuming a relatively low amount of power. Affordable low-computing-power solutions like Arduino and Raspberry Pi, as well as every other microcontroller designed based on them, cover the whole range of necessary open source prototyping devices currently needed in engineering prototyping. I imagine that the necessity for computers like them will be around for quite some time, though for their capabilities they may physically shrink considerably, and grow in processing power.