Starting Arduino, but no micro-controller programming skills

Thread Starter

Terrypin

Joined Feb 5, 2016
113
I’m an experienced electronics hobbyist but have never learnt PICS/Micro controller/Arduino/etc. I’d like to remedy that and get stuck into Arduino. But even after a fair amount of research I’m still unsure about how best to achieve this. I have a shed workshop crammed with components, albeit mainly ancient. My hundreds of finished projects typically use CMOS, TTL, linear (555/741/etc). However, apart from a little VBA (for Excel), my last proper programming was over 40 years ago.

So I need a really well written tutorial that will step me through the basics. Truly from scratch, which none of the few I’ve browsed so far achieve. Ideally with practical examples as that’s the way I like to learn.

Do I also need an ‘Arduino kit’? Apart from the micro controller chip, those I’ve seen advertised seem to contain parts I already have, which is why I hesitate. But if that would significantly smooth my learning then I would cheerfully buy one.

I’d be most grateful for any recommendations please.

Terry, East Grinstead, UK
 

OBW0549

Joined Mar 2, 2015
3,566
Arduino is a fairly painless way to get started with micros; they have their own discussion forums, here. Both Adafruit Industries and Sparkfun sell all sorts of stuff you can use with Arduinos such as sensors, actuators and displays, and Adafruit has tutorials to go along with their offerings. Amazon.com sells several Arduino "starter kits", such as this one, which comes with a pretty good manual.
 

Wolframore

Joined Jan 21, 2019
2,619
It sounds like you're well versed in electronics which will help immensely.

You can buy a kit or just get started with an Arduino and your spare electronics. The programming is C++. There are tons of tutorials online, join the Arduino forum https://forum.arduino.cc/ Start with the simple blink sketch and go from there.

I started with a small starter kit that includes an LCD and bunch of sensors I've never used. There are so many modules it's better to read through the tutorials and figure out what you're interested in and get the modules and parts you need for your project.

Get to know the datasheet on the Arduino UNO/mini which is based on the ATMEGA328P. You will find great information in there and should refer back when there are questions:
http://ww1.microchip.com/downloads/...ive-Microcontrollers-ATmega328P_Datasheet.pdf
 

djsfantasi

Joined Apr 11, 2010
9,237
The official Ardunio site contains excellent tutorials.

https://www.arduino.cc/en/Tutorial/HomePage?from=Main.Tutorials

Also as mentioned, the SparkFun and Adafruit sites also have tutorials. Plus, there are many independent tutorials available. Google “Arduino tutorials”. But your mileage may vary on those sites, so I’d stick to the first three.

The free Arduino IDE, which is used to write and upload your sketches (Arduino calls program sketches) comes with a comprehensive set of example programs. You can study them to help learn C (Arduino C) which is the language used on the Ardunio line.

Good luck!
 

Raymond Genovese

Joined Mar 5, 2016
1,653
Do I also need an ‘Arduino kit’? Apart from the micro controller chip, those I’ve seen advertised seem to contain parts I already have, which is why I hesitate. But if that would significantly smooth my learning then I would cheerfully buy one.
I would answer your question with a qualified "Maybe". There are many "getting started" books and one or two of those may serve you well. Such books typically have have chapters that use additional components. You will have some already and you will not have others. Buying a kit, assuming that it comes with a decent book, is one way to go, but I wonder if you would not become more directed after just a few weeks of study and experimentation.

A cheap UNO clone, your components, a good starter books and a couple of weeks. Then take a look at all those projects and tutorials out there and see if they make a better sense.
 

SamR

Joined Mar 19, 2019
5,470
Arduino Uno R3 to start and download the IDE. You should already have the basic parts. LEDs, switches, resistors, photoresistor and such. Then maybe a sensor kit. Lot's of Arduino books out there and PDF's(for free). I like Simon Monk's books, the "Arduino Workshop" books and in particular the Sam's "Arduino Programming in 24 Hours". The Sam's book is not a starter book but fills in a lot of gray areas with details after you learn the basics. Arduino programming is a variant of C, but much easier and has some different Arduino specific commands. So the programming is best done in their IDE. The Arduino web site is where you will download the IDE from and has the reference library for it and hosts their Arduino Forum. It is also linked in the IDE. There are lot's of Uno clones and variants, but I would suggest one that uses the ATmega328 chip as a start due to IDE compatibility.
 

Thread Starter

Terrypin

Joined Feb 5, 2016
113
Excellent, thanks all, great batch of helpful replies!

Back at home after a few days and will now follow up on all of them in earnest. I'm leaning towards buying the official kit (relatively expensive in UK) supplemented by tutorials to help me learn Arduino C. I know that will be my weak point. While I expect I would be able to get the progressive projects working, I know that I will be impatient to understand the coding so that I can soon implement my own designs.

Terry, East Grinstead, UK
 

danadak

Joined Mar 10, 2018
4,057
If you use the graphical programming tools you can see the generated Arduino C.

So you can start immeadiatly, after a couple of Youtube videos, and on the side
work on the C.


Regards, Dana.
 

Wolframore

Joined Jan 21, 2019
2,619
Please don't do it ... if you did VBA you should have no issues with Arduino C++, it's better to learn the language in the long run.
 

Thread Starter

Terrypin

Joined Feb 5, 2016
113
Please don't do it ... if you did VBA you should have no issues with Arduino C++, it's better to learn the language in the long run.
"did VBA" is generous! Most of my work was in copy/paste mode, with much help from the VBA forum experts. I have not truly learned it in the full sense ;-(

I expect I'll have to tackle Arduino C in a similar fashion.

Terry, East Grinstead, UK
 

pyroartist

Joined Oct 9, 2015
131
It is very unfortunate that the Italian creators of the Arduino chose the antiquated and difficult C language to program their beginner oriented line of products. Their idea of using pins to be able to stack other boards onto the Arduino was a good one but they blew it by making the software a difficult hurdle to learn. A much better choice is the plain language BASIC programming language which is (was) common, versatile, free and super easy to read and understand. Fortunately there are smart people out there and have realized that this is a major impediment to beginners in the micro field.
Here is just one way around the "learn C" mandate: https://www.servomagazine.com/magazine/article/september2014_Henry
As far as Arduino hardware all you really need, since you are very familiar with electronics, is the Arduino Nano. It is small, costs only $4 and does everything the larger one does
 

Thread Starter

Terrypin

Joined Feb 5, 2016
113
It is very unfortunate that the Italian creators of the Arduino chose the antiquated and difficult C language to program their beginner oriented line of products. Their idea of using pins to be able to stack other boards onto the Arduino was a good one but they blew it by making the software a difficult hurdle to learn. A much better choice is the plain language BASIC programming language which is (was) common, versatile, free and super easy to read and understand. Fortunately there are smart people out there and have realized that this is a major impediment to beginners in the micro field.
Here is just one way around the "learn C" mandate: https://www.servomagazine.com/magazine/article/september2014_Henry
As far as Arduino hardware all you really need, since you are very familiar with electronics, is the Arduino Nano. It is small, costs only $4 and does everything the larger one does
Thanks, that sounds promising, especially as I remember doing some BASIC programming a few decades ago.
 

pyroartist

Joined Oct 9, 2015
131
I started with BASIC and took me a little bit to get used to C/C++. I like it better. You don’t need line numbers
Of course you need line numbers. Did you ever get an error in your C code that the debug software caught? It always refers to the LINE NUMBER!
In BASIC editors the line numbers are automatically inserted for you so you rarely have to think about them. But when you have an error, they are easy to find.
 
Top