Ultimate Arduino Uno Hardware Manual Web Links
30 March 2021
On this page are web links from the Ultimate Arduino Uno Hardware Manual for easy access to referenced websites. Find the main Arduino website at www.arduino.cc
Scroll down to find the chapter and section that contains the link that you are looking for, or use the links directly below to jump to the desired chapter on this page.
Accompanying resources can be found on the Elektor (www.elektor.com) web page for this book, and on the author’s supporting website (wspublishing.net) which includes links to all of the online resources so that they do not need to be typed in manually.
1.1.3 Uses of the Arduino Uno
Wiring project wiring.org.co
Arduino Project Hub create.arduino.cc/projecthub
18.104.22.168 ICSP Header
Those interested in learning the C language to program Arduino boards may be interested in the book C Programming with Arduino ISBN 978-1-907920-46-2
The Arduino IDE is free to download from www.arduino.cc/en/software
22.214.171.124 Prototype Shields
126.96.36.199 Custom PCB
KiCad (kicad.org) is an open-source EDA (Electronic Design Automation) software package that can be used to draw circuit diagrams and lay out PCBs.
1.1.7 Open-Source and Licensing
See creativecommons.org/licenses/ for more information on the various Creative Commons licenses.
For more details, see the page www.arduino.cc/en/Trademark on the Arduino website.
1.1.8 Third Party Compatible Boards
For more information on the various spin-off boards including official boards, clones, derivatives, compatibles and even counterfeits, see the article blog.arduino.cc/2013/07/10/send-in-the-clones/ on the Arduino blog.
1.1.9 Build Quality, Warranty and Safety
A full list of official Arduino boards can be found at www.arduino.cc/en/Main/Products on the Arduino website.
For more information on Arduino board compliance and for the warranty statement, see www.arduino.cc/en/Main/warranty
1.2.1 USB Bridge Firmware
The ATmega16U2 microcontroller and its firmware replaces the FT232RL USB to UART bridge chip from FTDI (ftdichip.com) found on older Arduino boards (the Arduino Duemilanove www.arduino.cc/en/Main/arduinoBoardDuemilanove for example).
1.4 Arduino Uno History and Revisions
Readers who would like more information, see startingelectronics.org/articles/arduino/uno-r3-r2-differences/ for a full list of the differences between R1, R2 and R3 Arduino Uno boards.
1.6 Arduino Uno References and Help
Find the supporting website for this book at wspublishing.net and click the book name to go to its area on the website. Also find resources for this book on the Elektor website at www.elektor.com where the book can be searched for.
1.6.1 Installing Software
Help documentation on installing the Arduino IDE software is available for Windows, MAC OS X and Linux. Follow the links below for your operating system.
188.8.131.52 MAC OS X
1.6.2 Getting Started, Examples and Reference
Getting started guides, examples and a software reference are all available on the Arduino website. Getting started guides and examples are a great way for new Arduino users to learn about building projects with Arduino and learning to write sketches.
184.108.40.206 Getting Started Guides
Links to getting started guides for any Arduino board can be found at:
Arduino Uno specific getting started guide:
220.127.116.11 Arduino Examples and Tutorials
An index to tutorials and examples at www.arduino.cc/en/Tutorial/HomePage on the Arduino website provides links to various categories.
18.104.22.168 Building Breadboard Circuits
A tutorial series at startingelectronics.org/beginners/start-electronics-now/ shows how to build breadboard circuits with some Arduino examples.
22.214.171.124 Arduino Software Reference
Arduino language and library reference: www.arduino.cc/reference/en/
1.6.3 Getting Help
Find the Arduino Help Center at support.arduino.cc/hc/en-us which contains a searchable help index, as well as several categories of FAQs (Frequently Asked Questions).
The Arduino Playground at playground.arduino.cc/Main/ElectroInfoResources is a user contributed collection of documentation and other useful information.
The Arduino Forum at forum.arduino.cc is a place where anyone can post a question that will be answered by community members. The forum can also be searched for other user's questions which may already have answers. It is also a place where more experienced Arduino users can help others by answering questions.
1.6.4 Related Open-Source Projects
Several open-source projects are related to Arduino, are used in education like Arduino, and are useful to Arduino users. An overview of Arduino would not be complete without mentioning the projects in the sections that follow.
Fritzing, found at fritzing.org on the web, provide a software package that can be used to draw Arduino breadboard circuits and then turn them into custom made printed circuit boards or PCBs.
Find the Wiring project at wiring.org.co on the web.
Processing, found at processing.org on the web, is a programming language based on Java, and a software package for developing applications on a computer.
For more information, see www.arduino.cc/en/Tutorial/BuiltInExamples/PhysicalPixel on the Arduino website.
1.6.5 Arduino Uno Boards on the Web
Links to the web pages on the Arduino website for the Arduino Uno and Arduino Uno SMD boards follow.
126.96.36.199 Arduino Uno Web Page
Find the Arduino Uno web page at store.arduino.cc/arduino-uno-rev3 which includes basic technical information and links to the circuit diagram and board build files in electronic format.
188.8.131.52 Arduino Uno SMD Web Page
Go to store.arduino.cc/arduino-uno-smd-rev3 for the newest information on the Arduino Uno SMD, or to www.arduino.cc/en/Main/ArduinoBoardUnoSMD for the Arduino Uno SMD board page on the Arduino website. An electronic copy of the circuit diagram for the Arduino Uno SMD can be found here as well as the build files.
2.2 Atmel, Microchip and AVR
184.108.40.206 EEPROM Programming
Refer to the library reference www.arduino.cc/en/Reference/EEPROM for more information on using the EEPROM in sketches.
220.127.116.11 SD Cards (SPI Interface)
See www.arduino.cc/en/Reference/SD for more information on the Arduino SD card library.
18.104.22.168 SPI Devices
See the library reference www.arduino.cc/en/Reference/SPI for more information on the SPI library.
22.214.171.124 TWI and I²C Devices
See the library reference www.arduino.cc/en/Reference/Wire for more information on the Wire library.
126.96.36.199 Analog In Example Sketch
The corresponding tutorial page for the AnalogReadSerial example sketch is found on the Arduino website at www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogReadSerial, and shows how to connect a potentiometer to A0 to vary the voltage on this pin.
2.7.6 AREF Pin
For more information on the analogReference() function, see www.arduino.cc/reference/en/language/functions/analog-io/analogreference/
2.8.3 ATmega16u2 ICSP Header
More information on DFU programming can be found at www.arduino.cc/en/Hacking/DFUProgramming8U2 on the Arduino website and in section 5.1 of chapter 5 of this book.
2.8.4 ICSP Programming Resources
The following links provide more information on the Atmel-ICE,C programming of Arduino boards using Microchip/Atmel Studio, and Microchip Studio. Also see Chapter 5.
C Programming – wspublishing.net/avr-c/
2.8.5 Using an Arduino as an In-System Programmer
Find more information on the Arduino website at www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP
3.2.2 ATmega328P Alternate Pin Functions
More information on each pin function can be found in the ATmega328 datasheet from the page www.microchip.com/wwwproducts/en/ATmega328P on the Microchip website.
188.8.131.52 Pins as Outputs
Switching Heavier Loads with Transistors and Relays
For more details on interfacing Arduino boards and microcontrollers, refer to the appropriate texts or other sources such as the Interfacing With Hardware page playground.arduino.cc/Main/InterfacingWithHardware in the playground area on the Arduino website.
184.108.40.206 Pins as Inputs
Find the tutorial page at www.arduino.cc/en/Tutorial/BuiltInExamples/DigitalReadSerial on the Arduino website.
3.3.2 PWM Pins
220.127.116.11 Accessing TWI Devices in Software
This means including the Wire.h header file in a sketch and using the Wire library object and functions found in the reference www.arduino.cc/en/Reference/Wire on the Arduino website.
18.104.22.168 Accessing SPI Devices in Software
Use the SPI object and functions from www.arduino.cc/en/Reference/SPI – the SPI reference page on the Arduino website.
22.214.171.124 Accessing SD Cards in Software
Go to www.arduino.cc/en/Reference/SD to find the SD card reference on the Arduino website.
126.96.36.199 Hardware Serial Port
Go to www.arduino.cc/reference/en/language/functions/communication/serial/ for the serial port library reference.
188.8.131.52 Software Serial Port
Go to www.arduino.cc/en/Reference/SoftwareSerial on the Arduino website for more information on the SoftwareSerial library.
3.7 Finding the Datasheets
3.7.1 ATmega328P Datasheet
Find the ATmega328P datasheet at www.microchip.com/wwwproducts/en/ATmega328p on the Microchip website.
3.7.2 ATmega16U2 Datasheet
Go to www.microchip.com/wwwproducts/en/ATmega16u2 to find the datasheet for the ATmega16u2 microcontroller used as the USB to serial bridge chip on Arduino Uno boards.
5.1 Updating the USB to Serial Bridge Firmware using DFU
For Windows computers, download the FLIP (Flexible In-system Programmer) software from Microchip at www.microchip.com/developmenttools/ProductDetails/FLIP
For additional information on Arduino DFU programming and for DFU programming using Linux and Mac, see www.arduino.cc/en/Hacking/DFUProgramming8U2 on the Arduino website.
5.2 Microchip Studio
|USB Programmer||Part Number||Web Page|
(no longer available)
(no longer available)
To install Microchip Studio, go to www.microchip.com/en-us/development-tools-tools-and-software/microchip-studio-for-avr-and-sam-devices on the Microchip website.
5.3.1 Backing up the ATmega16U2 Firmware with Microchip Studio
As few users will need to program the ATmega16U2, rather than use up space in this book with an image of the connection, refer to wspublishing.net, the supporting website for an image of the connection.
5.3.2 DFU Bootloader Firmware
Go to github.com/arduino/ArduinoCore-avr/tree/master/firmwares/atmegaxxu2/arduino-usbdfu which is a copy of the same source code at GitHub.
5.3.3 USB to Serial Bridge Firmware
The same source code and HEX files can be found on GitHub at github.com/arduino/ArduinoCore-avr/tree/master/firmwares/atmegaxxu2/arduino-usbserial which contains the latest version of this code and HEX files.
5.4.2 Optiboot Bootloader Firmware
The same files can be found at github.com/arduino/ArduinoCore-avr/tree/master/bootloaders/optiboot on GitHub.
The Optiboot project on GitHub is at github.com/Optiboot/optiboot
Optiboot wiki can be found at github.com/Optiboot/optiboot/wiki
See github.com/Optiboot/optiboot/wiki/HowOptibootWorks for more details.
5.6 Alternative Firmware Programming Methods
Alternative methods for programming the bootloader to an Arduino Uno can be found at playground.arduino.cc/Main/ArduinoCoreHardware#Bootloader at the Arduino playground under the Bootloader section.
Using an Arduino as an ISP (In-system programmer) is also described on the Arduino website at www.arduino.cc/en/Tutorial/BuiltInExamples/ArduinoISP
Refer to www.arduino.cc/en/Hacking/DFUProgramming8U2 for additional information on DFU programming the ATmega16u2.
6.4 Getting an Electronic Copy of the Circuit Diagram
Find the circuit diagram in PDF format, and the circuit diagram and PCB design file in Eagle format at store.arduino.cc/arduino-uno-rev3 for the Arduino Uno. Look under the DOCUMENTATION tab for these files.
To view the files in Eagle format, the Eagle EDA software package will need to be downloaded from www.autodesk.com/products/eagle/free-download and installed.
7.4 Waveform Patterns and Measurement
PicoScope 2000 series digital PC oscilloscope, model number 2205A used for oscilloscope measurements.
8.7 Using Strip-board as a Shield
See startingelectronics.org/projects/arduino-projects/arduino-tiny-stripboard-shield/ for an example of fitting a piece of strip-board to an Arduino Uno using only three of the header sockets on the Arduino. An example project that uses the strip-board shield can be found at startingelectronics.org/projects/arduino-projects/arduino-tiny-temperature-shield/
8.8 Drill Template and KiCad Template
The drill template file as well as the KiCad template file can be found on the Resources page of this website.
The KiCad software package can be found at kicad.org where it can be downloaded free of charge and unrestricted.