RockBee Arduino Uno R3
RockBee Uno R3 Intermediate Kit |
RockBee Uno R3 Starter Kit |
|
OVERVIEW
The Arduino Uno R3 is a microcontroller board based on the ATmega328. It features 14 digital input/output pins (6 of which can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator (CSTCE16M0V53-R0), a USB connection, a power jack, an ICSP connector, and a reset button.
It contains everything needed to support the microcontroller; simply connect it to a computer using a USB cable, or power it with an AC-DC adapter or battery to get started.
Uno differs from previous boards in that it does not use the FTDI USB-to-serial driver chip.
The R3 version has the following new features:
- 1. the addition of SDA and SCL pins for TWI communication near the AREF pin, as well as the addition of the IOREF pin and a reserved pin near the RESET pin.
- 2. Stronger reset circuitry.
- 3.ATmega16U2 instead of 8U2.
Pin Arrangement Diagram
Power Supply
The Arduino Uno board can be powered via USB connection or external power supply. The power supply is selected automatically. The external (non-USB) power supply can be an AC-DC adapter (wall-mounted) or a battery. The board can be powered from an external power supply of 6-20V. However, if the supply voltage is less than 7V, the voltage at the 5V pin may fall below 5V and the board may become unstable. If more than 12V is used, the regulator may overheat and damage the board. The recommended range is 7 - 12V.
The power supply pins are as follows:
- Vin: VIN is the external supply voltage when using an external power supply from the DC jack. The board can also be powered from the VIN, GND pin.
- 5V: This pin outputs a stabilized 5V from the board's voltage regulator The board can be powered from the DC power jack (7-12V), the USB connector (5V), or the board's VIN pin (7-12V). Providing voltage through the 5V or 3.3V pins will bypass the voltage regulator and may damage the board. We do not recommend this.
- 3V3: 3.3V supply generated by the motherboard's voltage regulator. Maximum output current is 50 mA.
- GND: Ground pin.
- IOREF: This pin provides a reference voltage for the main chip to operate from. A suitable expansion board can read the IOREF pin voltage to select the appropriate power supply, or enable a voltage converter that operates at 5V or 3.3V on the chip's output pin.
Memory Space
The ATmega328 has 32 KB (of which 0.5 KB is used as bootloader). It also has 2 KB of SRAM and 1 KB of EEPROM (which can be read and written using the EEPROM library).
Inputs and outputs
All 14 digital I/Os on the Uno can be used as inputs or outputs, using the pinMode(), digitalWrite() and digitalRead() functions. They operate at 5 V. Each pin can input or output 20 mA of current and has an internal pull-up resistor of 20-50 kOhm (disconnected by default). A maximum of 40 mA of current can be output or input. Some of the pins come with special functions:.
- Serial Port: 0 (RX) and 1 (TX). Used for receiving (RX) and sending (TX) TTL serial data. These pins are connected to the corresponding pins on the USB to TTL serial chip.
- External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, rising or falling edge, or on a change in value.
- PWM: 3, 5, 6, 9, 10, and 11. 8-bit PWM outputs are provided using the analogWrite() function.
- SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Supports SPI communication using the SPI library.
- LED: 13. There is a built-in LED driven by digital pin 13. the LED is on when the pin is high and off when the pin is low.
- TWI: A4 or SDA pin and A5 or SCL pin. TWI communication is supported using the Wire library.
- Analog Inputs: The Uno has six analog inputs, labeled A0 through A5, each providing 10-bit resolution (i.e., 1024 distinct values). By default, they measure from ground to 5V, but the upper limit of their range can be changed using the AREF pin and the al analogReference() function.
- AREF: Analog input reference voltage. Used in conjunction with analogReference().
- Reset: Reset the microcontroller by setting it low.
Communication
The Uno has a number of features for communicating with a computer, another Arduino board, or other microcontroller.The ATmega328 provides UART TTL (5V) serial communication that is available on digital pins 0 (RX) and 1 (TX). The ATmega16U2 on the board directs this serial communication via USB and appears as a virtual communication port for the software on the computer.The 16U2 firmware uses a standard USB COM driver and requires no external driver. However, on Windows, an .inf file is required.The Arduino software (IDE) includes a serial port monitor that can send or receive simple data to and from the arduino board. The RX and TX LEDs on the board will blink when data is transferred using USB (but not for pins 0 and 1).
The software analog serial port library allows serial communication with Uno other digital ports.
The ATmega328 also supports I2C (TWI) and SPI communication.The Arduino software (IDE) includes a Wire library to simplify the use of the I2C bus. For SPI communication, use the SPI library.
Programming
The Arduino Uno can be programmed using (Arduino software (IDE)). Select Arduino Uno from the Tools > Board Board menu (depending on the microcontroller on the motherboard).
The ATmega328 on the Arduino Uno comes with a pre-burned bootloader into which you can upload new code without using an external hardware programmer. It uses the original STK500 protocol for communication.
You can also bypass the bootloader and program the microcontroller via the ICSP (In-Circuit Serial Programming) header using an Arduino ISP or similar device.
Automatic (software) reset
The Arduino Uno board can be reset by software running on a connected computer, avoiding the need to manually and mechanically press the reset button on the master.One of the ATmega8U2/16U2's hardware flow control lines (DTR) is connected to the ATmega328's reset pin via a 100 nf capacitor. When this line is set (taken low), the reset button is pulled low for a sufficient amount of time to reset the chip.The Arduino software uses this feature to upload code by simply pressing the upload button in the interface toolbar. This means that the bootloader will have a short timeout and the DTR signal will be output in a well-coordinated manner once the download has started.
This setting has other implications. When Uno is connected to a computer running Mac OS X or Linux, it resets every time a connection is established from the software (via USB) to it. For the next half a second or so, the bootloader is running on the Uno. It will ignore error data while it is programming, and will intercept the first few bytes of data sent to the board when a connection is opened. If a program is running on the board, it will get the configuration and other data once when it starts running to make sure that the software used to communicate waits a second after the connection is opened before sending the data.
The UNO also has a jumper to cancel the self-reset. Silk-screened as "RESET-EN", the wire between these two pads can be cut to cancel the reset function. Also, you can use a 110 ohm resistor to connect the 5V and reset pins to cancel the reset function.
USB overcurrent protection
The Arduino Uno has a resettable multi-fuse that protects the computer's USB port from short circuits and overcurrents. While most computers have their own internal protection, the fuse provides an extra layer of protection. If the USB port draws more than 500 mA of current, the fuse will automatically disconnect the connection until the short circuit or overcurrent is removed.
Physical Characteristics
The Uno PCB has a maximum length and width of 2.7 and 2.1 inches, respectively, and the USB connector and power outlet exceed previous dimensions. Four screw holes allow the board to be secured to other surfaces or enclosures. Note that the distance between digital pins 7 and 8 is 160 mil, not 100 mil spacing like the other pins.