Arduino product line

Firmware

The Arduino programming language is a subset of C/C++.   The compiler used to transform code into object files is avr-g++.   A program called avrdude is used to upload the program into the microcontroller.   You cannot used all of the main c++ features with Arduino.   The Arduino.h library contains all of the Arduino specific functions and subroutines.  

Arduino programming is 'pure' C/C++ with added arduino function libraries and a little preprocessing performed before passing on the source to the AVR Gcc compiler.   This adds an abstraction layer that simplifies various hardware concepts.  

Some differences in the Arduino language versus C++:

  • C/C++ starts execution from the main() function.   An Arduino sketch implements a setup() and a loop() and is saved to a .ino file extension.  
  • Automatic prototype generation (.c or .cpp files)

 

Physical

Dimensions

Adafruit - Arduino hole dimensions dwg

 

Electrical

Mega 2560 Rev3 pinout

 

Arduino Uno

Input Power

2.1 mm power jack accepts 7 to 12 VDC (6 is lowest, 20 V is max).  

USB Type B connector

Vin connection goes to the input side of the 2.1 mm power jack regulator, and the USB input regulator.   You may also take power off of this connection when power is supplied to the 2.1 mm power jack or the USB Type B connector.  

Regulated voltage may be supplied to the 5V or 3.3V pins, provided no input power is provided to the 2.1 mm power jack or the USB Type B connector.   Not a recommended power input method.  

Output Power

You may draw up to 400 mA from the 5V pin if power is supplied to the USB Type B power input.   More may be drawn from the 2.1 mm power jack (if supplied).  

You may draw up to 50 mA from the 3.3V pin if power is supplied to the USB Type B power input, or the 2.1 mm power jack.  

Digital Inputs

The minimum voltage for a pin to be "HIGH" is 0.6 * Vcc = 3.0 V (provided Vcc is 2.4 to 5.5 V).   The maximum input voltage is 5.5 V.   Anything at 1.5V and below is considered "LOW".  

See the section 'Arduino Logic Levels' in the excellent logic level tutorial and reference by Sparkfun

 

Arduino Mega

Arduino datasheet

VIN

I2C on D21 / SCL & D20 / SDA.  

SPI

4X hardware UARTs:

  • Serial D1/TX0   D0/TX0   (USB connection for programming)
  • Serial1 D18/TX1 & D19/RX1,
  • Serial2 D16/TX2 & D17/RX2
  • Serial3 D14/TX3 & D15/RX3

54 digital pins, 16 analog input pins, 15 PWM pins, max 20 mA per pin

 

 


Do you need help developing or customizing a IoT product for your needs?   Send me an email requesting a free one hour phone / web share consultation.  

 

The information presented on this website is for the author's use only.   Use of this information by anyone other than the author is offered as guidelines and non-professional advice only.   No liability is assumed by the author or this web site.