Brand New and too much info too fast! Where to start?

I am brand new to Arduino. I purchased an Uno R3 and have it communicating with the IDE software installed. I am using Linux for interfacing with it. I keep looking for something about "where to start" but so far have found nothing that actually starts from the beginning. I have experience in Connected Components and all of the usual old AB and Siemens PLCs. I took some electronics courses but they are mostly about finding a bad board and changing it out these days.

I can't seem to even get started when it comes to getting code to work. I can see the built in examples such as the blinking LED code example and tried to copy and paste it into the area on the screen that I thought that it belonged. How do you download to the UNO R3? Where do you put the code? Where do you write the code? How do you upload and download? I am excited about tinkering but where do I find a list of commands? Where do I put them? How do I put them? THERE IS NO REAL INFORMATION TO GET STARTED!!!!!!!

It seems to me that if you do not have someone who can sit next to you for an hour or two and get you started Arduino is completely worthless. Even this site is all about projects assuming that you know the basics!

Which way do I turn? Is there a place to actually "get started" or should I just throw all of this in the trash and go with a 15 year old version of Picstart?

I am not trying to sound down on Arduino but if you do not need a place to get started with the basics without a 200 page manual you are probably above a hobbyist programmer level anyways.

Before you plug in the Uno:

Open the IDE.

Select File:Preferences. Enter a Path to where you want to store your sketches. On my PC, I have Documents/Arduino Stuff. Folders for sketches are opened and saved there.
Next to Show verbose output during: click the two check boxes.

Pick a sketch to start, such as File:Examples:Basics:Blink

Open Tools:Port and see what's there. On a PC, probably just Com 3.

Plug in your Uno.

Go Under Tools: Board and select Uno.

Now look at Tools:Port, should be a new one there. Select it.

Now Upload the sketch to your board:
On the Menu, select Sketch:Upload.
Or, use keyboard shortcut CTRL+U
Or, use the Right-hand facing Arrow.

The code will be compiled, a bunch of stuff will whiz by ending with

Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

(Use the code tags button, </> on the forum window. Highlight code, or error messages, and copy & paste into box.)

Then if you watch the Uno, the Rx and Tx lights will flash as the PC talks to the bootloader on the Atmega328P chip on the board to load the compiled file into the chip, ending with

avrdude: AVR device initialized and ready to accept instructions


Reading | ################################################## | 100% 0.00s


avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\CROSSR~1.CRO\AppData\Local\Temp\arduino_build_33502/Blink.ino.hex"
avrdude: writing flash (924 bytes):


Writing | ################################################## | 100% 0.16s


avrdude: 924 bytes of flash written
avrdude: verifying flash memory against C:\Users\CROSSR~1.CRO\AppData\Local\Temp\arduino_build_33502/Blink.ino.hex:
avrdude: load data flash data from input file C:\Users\CROSSR~1.CRO\AppData\Local\Temp\arduino_build_33502/Blink.ino.hex:
avrdude: input file C:\Users\CROSSR~1.CRO\AppData\Local\Temp\arduino_build_33502/Blink.ino.hex contains 924 bytes
avrdude: reading on-chip flash data:


Reading | ################################################## | 100% 0.13s


avrdude: verifying ...
avrdude: 924 bytes of flash verified


avrdude done.  Thank you.

(You can expand the bottom part of the IDE to see more of the message there)

The L LED on the Uno should now be flashing.
Edit these numbers in the sketch
delay(1000);
to change the on and off times of the LED.
Upload again and watch the light sequence change.

That's the basic sequence in a nutshell. Have fun.

Arduino links of interest.

How to use this forum:
https://forum.arduino.cc/index.php?topic=149014.0

Listing of downloadable 'Arduino PDFs' :
Either Google >>>- - - - > arduino filetype: pdf
Or
https://www.google.ca/search?q=arduino+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=arduino+filetype%3A+pdf&aqs=chrome..69i57j69i65.1385j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Listing of downloadable 'C++ PDFs' :
Either Google >>>- - - - > C++ filetype: pdf
Or
https://www.google.ca/search?q=c%2B%2B+filetype%3A+pdf&rlz=1C9BKJA_enCA739CA739&oq=c%2B%2B+filetype%3A+pdf&aqs=chrome..69i57.22790j0j7&hl=en-US&sourceid=chrome-mobile&ie=UTF-8

Arduino cheat sheet:

Watch these:
Arduino programming syntax:

Arduino arithmetic operators:

Arduino control flow:

Arduino data types:

Understanding Destructive LC Voltage Spikes:

OR

Why MOSFET gate resistors:

Some things to read

LCD information:

OR

Reading a schematic:
https://learn.sparkfun.com/tutorials/how-to-read-a-schematic

Language Reference:

Foundations:

How and Why to avoid delay():
http://playground.arduino.cc/Code/AvoidDelay

Demonstration code for several things at the same time.
http://forum.arduino.cc/index.php?topic=223286.0

Multitasking:
Part 1:

Part 2:

Part 3:

Sparkfun Tutorials:
https://learn.sparkfun.com/tutorials?page=all

Micro Controllers:

Useful links:
https://forum.arduino.cc/index.php?topic=384198.0

Arduino programming traps, tips and style guide:

Arduino programming course:

Jeremy Blume:

Arduino products:

Motors/MOSFETs

Making a library
https://www.arduino.cc/en/Hacking/libraryTutorial

Switches:

Share tips you have come across, 700+ posts:
https://forum.arduino.cc/index.php?topic=445951.0

Debug discussion:
https://forum.arduino.cc/index.php?topic=215334.msg1575801#msg1575801

Frequently Asked Questions:
https://www.arduino.cc/en/main/FAQ#toc10

Number 'type's.

  • boolean (8 bit) - simple logical true/false, Arduino does not use single bits for bool
  • byte (8 bit) - unsigned number from 0 to 255
  • char (8 bit) - signed number from -128 to 127. The compiler will attempt to interpret this data type as a character in some circumstances, which may yield unexpected results
  • unsigned char (8 bit) - same as 'byte'; if this is what you're after, you should use 'byte' instead, for reasons of clarity
  • word (16 bit) - unsigned number from 0 to 65535
  • unsigned int (16 bit)- the same as 'word'. Use 'word' instead for clarity and brevity
  • int (16 bit) - signed number from -32768 to 32767. This is most commonly what you see used for general purpose variables in Arduino example code provided with the IDE
  • unsigned long (32 bit) - unsigned number from 0 to 4,294,967,295. The most common usage of this is to store the result of the millis() function, which returns the number of milliseconds the current code has been running
  • long (32 bit) - signed number from -2,147,483,648 to 2,147,483,647
    float (32 bit) - signed number from -3.4028235E38 to 3.4028235E38. Floating point on the Arduino is not native; the compiler has to jump through hoops to make it work. If you can avoid it, you should. We'll touch on this later. Sparkfun.

You select the 'type' best suited for your variables.

ex:

  • your variable does not change and it defines a pin on the Arduino. const byte limitSwitchPin = 34;
  • since an analog variable can be 0 to 1023, a byte will not do, you can select 'int'. int temperature;
  • if your variable needs to be within -64 to +64 a 'char' will do nicely. char joystick;
  • if your variable is used for ASCII then you need type 'char', char myText[] = {"Raspberry Pie Smells"};
  • if your variable enables some code then boolean can be used. boolean enableFlag = false;
  • millis() returns the time in ms since rebooting, unsigned long currentTime = millis();
    etc.

Oh, and have fun too :slight_smile: !

I suspect @larryd failed to read the Title :slight_smile:

You don't have to copy and paste anything in order to verify and upload a program.

  • Select File/Examples/01.Basics/Blink to load the Blink example program into the IDE edit window
  • Select Tools/Board/Arduino/Genuino Uno to ensure you are compiling for the correct Arduino
  • Select Tools/Port/xxxx to ensure the communication with the Arduino board. On my Linux laptop the xxxx will almost certainly be /dev/ttyACM0
  • Click the Upload Button (with the right-facing arrow) to upload the program

There seem to be dozens of introductory videos on YoutTube

...R

I would recommend this...It covers a good amount of stuff in basic Arduino... :smiley:

TheUNOGuy:
I would recommend this...It covers a good amount of stuff in basic Arduino... :smiley:

That suggests you need basic C C++ experience which in certainly NOT true.

@bradford336

Take your time picking through the links offered.
Find one that suits your current level of experience and start there.
No need to dive in at the deep end with C C++ etc.

The basic starter kit in the shop comes with an excellent book that takes you from A to Z in a very easy to digest manner.

IIRC the book is also available ONLINE in a few places too.

If you have some experience in some areas you can simply skip ahead to the next relevant chapter.

The built in examples are also expressed online too

If you want to know more about a function they to are available from Arduino in the Reference section

Bob.

Still seems like a ton of information with no real starting point. Thank you for all of the avenues to try guys!

Go with the arduino book.

It eases you in slowly....she said :grin:

bradford336:
Still seems like a ton of information with no real starting point.

I tried to write Reply #3 as succinctly as I could to respond to your comment

I can't seem to even get started when it comes to getting code to work. I can see the built in examples such as the blinking LED code example and tried to copy and paste it into the area on the screen that I thought that it belonged.

Did my directions help?

Apart from that it's not clear what sort of starting point you are hoping to find.

...R

Robin2:
I suspect @larryd failed to read the Title :slight_smile:

You don't have to copy and paste anything in order to verify and upload a program.

  • Select File/Examples/01.Basics/Blink to load the Blink example program into the IDE edit window
  • Select Tools/Board/Arduino/Genuino Uno to ensure you are compiling for the correct Arduino
  • Select Tools/Port/xxxx to ensure the communication with the Arduino board. On my Linux laptop the xxxx will almost certainly be /dev/ttyACM0
  • Click the Upload Button (with the right-facing arrow) to upload the program

There seem to be dozens of introductory videos on YoutTube

...R

The OP is obviously struggling with all the stuff out there.

At least these offerings have been filtered and hopefully will help the OP with what to concentrate on.

A small but reasonable assumption is the OP has ‘some’ skills that will tell them what is important and direct them to the things they need to study . . .