The Fascination Behind Arduino

 

In the past several years, Arduino has become a very common name everyone is starting to recognize. Not only is it gaining popularity in model railroading, but also in other hobbies, and even industry. Everyone that sees what it can do wants to build their dream project

If it wasn’t for Dr.Geoff Bunza, who published an article in MRH Magazine  https://model-railroad-hobbyist.com/node/14093 and also a video on his channel about lighting the DPM Kit, Empty Arms Hotel, https://www.youtube.com/watch?v=ty-mT7HK-Xo  I would not have been in the position I am in today building my own projects.  There are many model railroaders that feel the same way.

That was back in 2013, endless possibilities with my imagination! When I discovered what could be done with that little device called an Arduino, I had to go out to purchase one and experiment with it to actually see how it worked.

Luckily, the local Radio Shack stocked Arduinos and a number of SEEED Studio shields. I had to get my feet wet, so one Arduino Uno, one Motor Shield, one Relay Shield, and a Motor Starter Kit was my first purchase along with assorted LEDs, Resistors and wire. I was on my way to discovering a new adventure in my new model railroad.

There was not a lot of information on Arduino back in 2013, even the Arduino web site was limited in information. It was hard to find sketches with practical uses for a model railroad, it was hard to find any sketches that actually interested me. Geoff Bunza’s project was my only reference and I studied it over and over again. That is until I went back to Radio Shack a few weeks later and discovered there was a book “Programming Arduino – Getting Started With Sketches” by Simon Monk. I read through that book several times to grasp the contents.

Starving for knowledge, I needed more, and discovered Simon Monk published several more books on Arduino. I was able to pick up another book, “Programming Arduino Next Steps” at Barnes And Nobles. I played around with some of the example sketches for several months and then building my model railroad was my number one priority. So there was a pause in my adventure with Arduino. Only a brief pause until I started my new YouTube Channel Toms Trains And Things

There I started creating video to teach beginners how to get started into the hobby with Model Railroading For Beginners. Then came the electrical & electronic instructional videos then finally the Arduino videos. Little did I know how popular all these different topics would be, especially Arduino. There were a few other channels that were doing Arduino content at the time. Paul McWhorter, Gregg Berman and Dave Bodnar was highly influential for me also. YouTube Model Builders was doing a Live series on Arduino also with their Wednesday Arduino Workshop. There was no surprise at how fast Arduino took hold in the model railroading community once word got around

Then Came Arduino Made Easy(er)

 

After watching many episodes of the series about Arduino on YouTube Model Builders, and the viewership was decreasing after every episode, it became apparent to me that there were many modelers that were confused with the concept. The panel was very knowledgeable on the subject, but their explanation went over the heads of many modelers and mostly leaving out key details like how and why the code functioned as it did. Views for this series was not where I expected it to be after being on for nearly a year. Probably because it was over an hour long and the content was not explained very well.  I thought there must be a better way to explain everything about Arduino in an easier manner. That’s when I started working on a few projects myself and figuring out how to present it to someone who knew nothing about electronics and coding.

This is where Arduino Made Easy came into play.

After working on a few projects and before I published the first video in the series, I went with adding the (er). It made sense, since Arduino was already easy. Arduino was developed to teach children the principles of electronics and coding to automate a project. So it had to be easy to begin with.

I’ve always loved teaching people how something worked, putting it into the simplest terms for them to understand. Most of those  I was explaining the process to, knew nothing on the subject before I started, but came away with an understanding of how to properly utilize the software for their workplace, or the machinery they were responsible to operate and maintain.

Arduino Made Easy(er) was a fun project which provided a learning experience to those just getting started with Arduino. Providing a step by step instruction of the code so the viewer could work along with the video by getting used to typing in the code themselves. Typing in the code line by line gives one a better understanding of what goes where, much better than copying and pasting the code without actually looking at it.

Seeing that there still is a need for additional topics from all the question I receive, there will be more episodes coming for Arduino Made Easy(er).

Observation

 

I have been receiving many questions with every video I publish on Arduino from the made easy series to the Arduino projects. One observation is for certain, all users are excited about what they can do with Arduino. They all want to get some sort of project going on their model railroad. While the level of expertise ranges from; have no idea of what I’m doing, to seasoned individuals with electronics experience but a novice in coding. There’s a common denominator, it’s fun and people of all experience levels want to try it!

There have also been quit a few people with far more experience that I, that taught me many valuable lessons along the way. So you see, there are all levels of expertise working with Arduino. I have many Arduino videos that were inspired by individuals asking questions about something I haven’t covered yet. This was a great way to find out what was needed for future videos. This has gotten me to think I need to work on more topics for both Arduino Made Easy(er) and Arduino Projects.

I had one viewer contact me form Italy, who was so excited about his pet project working like he wanted because of a video of mine he watched. He was able to fit his motorcycle with a device he built with Arduino and a DF Player mini to speak out commands while he started it remotely with an imbedded chip in his hand. The imbedded chip to start the motorcycle was his creation. He even sent me a video of the chip being implanted in the back of his hand.

There is also one other observation that I have made; Many novice Arduino users are getting over their heads with the projects they choose as a first attempt to do anything with Arduino. Their eyes light up when they see how elaborate someone else makes it look so simple to create. The only problem with that is; they usually don’t take the time to study all what the language can do, and have no idea what is included in the code and what portion does what function.

Biggest Mistake An Arduino Novice Makes

 

Everything about Arduino is open source, which allows anyone to use the code and build the components of the Arduino. That’s why you see so many different brands offering all of the series of Arduino micro controllers and related components that work with Arduino. This technology allows anyone to be able to build the project of their dreams without knowing how to code since there are many sources where one can find code as I discussed in my video, Five Places To Find Arduino Projects. There seems to be one issue with this!

In the Arduini Users Group and the Arduino Forum along with a few other forums, it’s obvious there are many posters that have copied code from someone’s project, but lacks the knowledge to get it to work, or actually understand what’s in it! Then they will go to a forum to see if anyone has a solution for them to get it to run.

They leave out a few very important details about their predicament. They are not the author, and they have never done anything with Arduino previously.

They watch a video that describes a project that they like. They want to build that same project for themselves because it’s so impressive, they want that functionality on their model railroad. The only problem is they have not taken the time to do any other research, or even attempted to learn how to use Arduino. They jump in on a complex project as their first attempt to use Arduino.

There is nothing wrong with copying sketches for ones self, in fact, it’s encouraged! The issue is there are many just starting out in Arduino that do not take the time to learn anything about how to set it up, do simple code changes, or the capabilities of the devices before they start their very first complicated project!

It’s similar to a teenager just walking out of DMV with their learners permit in hand who never sat behind the wheel of any vehicle. They see an 18 wheeler sitting nearby and thinking, I can do this, I saw them do it on YouTube, it’s easy. Then they proceed to jump in the cab thinking they can back it up into a tight space at a loading dock. What’s wrong with this thing, it doesn’t work, it wont start! This thing must be defective. Do I need to put air in the tires? This seat wont move where I want it. Maybe it needs a new seat. I NEED HELP WITH THIS THING, IT DOESN’T DO WHAT IT’S SUPPOSE TO DO!

 

Not everyone does this, there are many that understand Arduino because they took the time to learn the workings  and started off with small projects, possibly from a beginners kit they could handle, then progressed to more complex ones. This topic is about the novice Arduino user getting over their head on their very first attempt to use technology.

This can cause hours, days, even weeks of frustration for the newcomer to Arduino because of their unfamiliarity with Arduino. Imagine how it feels for that person, to hear so many good things about Arduino, then they want to give it up or  start trashing the author of the code, or Arduino itself, because it doesn’t work for them.

That once enthusiastic hobbyist now hates everything about Arduino, and will most likely complain all over social media telling everyone how he couldn’t get a certain project to work. He may even include the name of the original author of the project in his rant. (Which is no fault of the one who created this project) Even though the code he was trying to duplicate was perfectly fine and works well for many other users, in his eyes, it’s trash. Only because he didn’t take the steps to learn how Arduino functions.

Here is where many people quit out of frustration only because they were in a hurry to get those 40+ turnouts automated through Arduino, servos, C/MRI with JMRI using a RS485 Interface after purchasing their first Arduino. This is just one example! It’s overwhelming for most modelers, but think how it would be to a Novice!

There are many people that spend endless hours developing the code they present to the public either on GitHub, YouTube, or the Project Hub on Arduino website. There are many other places where projects are available for anyone to use as they please. These hobbyists or Makers put their projects out there so others can enjoy what they have created. It doesn’t matter how it was created, it could be either from scratch, coding line by line, or combining several smaller projects to achieve a completely different outcome, then modifying it to make it fit in their own creation. It’s all the same, these Makers spent time to learn what they know to get to the point where projects can be formed for you to enjoy.

Whenever I’m working on a project and run into a situation where I need help with something I haven’t done before, I always do a search. I’ll start out with YouTube videos, look on GitHub, Google It, or see if I can find a topic on a forum. Most YouTube videos are lacking in key information or absolutely worthless for the topic in search. GitHub may be a little better, but there is no interaction with the author. This leads me to end up searching for topics on many forums.

This is where I find most of my solutions, but there are also threads that start out promising on what I need, only to read down about a dozen comments between the OP and people helping, only to discover the OP doesn’t know anything about the code, or how to rewrite it from suggestions. Sometimes these interactions go on much longer since the people helping read the initial post, then comment without reading what everyone else had to say.

People responding to these post are there to help with problems by giving solutions to make the code work properly thinking that the poster is the one who created the code. Only to find out much later that the person who originally posted the query knows nothing about the code and actually needs help with maneuvering through Arduino.

This wasted many hours for those trying to help those that have actual issues, and for those looking for solutions to a legitimate problem.

I’ve been using these types of forums since the days of CompuServe when they were referred to a SIG’s. Special Interest Groups. I’ve gained much knowledge from those helping out in these groups throughout the years. I would have been lost on many occasions if it wasn’t for the help from the volunteers that spend time answering questions for those that are stuck figuring out a procedure on their own.

Be respectful of those on the forums trying to help everyone through their issues. Those forums are also used for gathering information.

Please don’t ask questions on how to fix someone else’s code while not knowing anything about how or why the code functions in the first place. It’s most likely not the code, but the users error in setting it up!

They are not there to teach you how to use Arduino.

There are courses and videos on that subject throughout YouTube and the web where you can learn on your own.

They are there to help with legitimate issues one may have seeking a solution to something they are working on.

There is an easy solution to all of this:

Learn to navigate Arduino through tutorials and start with beginners (starter) kits to familiarize yourself with the technology. Make sure you know how to make changes in code before attempting a large project for yourself.

Creators who post these projects on their YouTube channel need to start responding to comments on the video from your viewers. Most creators , like myself, respond to questions in both the video and email. But there are some that do not, and these are usually the sketches you find on the forums with the largest amount of problems. 😠

See below for some useful links!