Arduino UNO R3 Compatible Board – ATmega328P & CH340G | 14 I/O Pins
Arduino UNO R3 Compatible Development Board — Powered by ATmega328P & CH340G The Uno R3 Compatible Arduino Uno R3 is a versatile, beginner-friendly microcontroller development boar d built around the ATmega328P 8-bit AVR microcontroller — the same chip used in the official Arduino UNO R3. This board adopts the cost-effective and widely supported CH340G USB-to-serial chip, ensuring reliable connectivity across Windows 7, 8, and 10 without compatibility issues. The interface layout follows the original Arduino UNO R3 standard, making it 100% compatible with the Arduino IDE and all existing shields, sensor modules, and libraries. Whether you're building your first LED blink sketch or prototyping a smart home automation device, this board delivers rock-solid performance at an accessible price point. Ideal for students, educators, makers, and engineers looking for a dependable foundation to bring their ideas to life. Technical Specifications Parameter Specification Main Microcontroller ATmega328P (TQFP SMD package) USB-to-Serial Chip CH340G Operating Voltage 5V External Power Input DC 7–12V (recommended 9V) USB Power Supply 5V via USB Type-B (Square) Clock Speed 16 MHz Flash Memory 32 KB (0.5 KB used by bootloader) SRAM 2 KB EEPROM 1 KB Digital I/O Pins 14 (6 support PWM output) Analog Input Pins 6 (10-bit ADC) DC Current per I/O Pin 40 mA 3.3V Output Current 50 mA max Communication Interfaces UART, SPI, I2C ICSP Header Yes (in-circuit serial programming) Reset Button Yes D13 Indicator LED Yes (onboard) Power Indicator LED Yes Positioning Holes 4× 3mm mounting holes Included USB Cable 50 cm USB-A to USB-B cable OS Compatibility Windows 7 / 8 / 10, macOS, Linux For full electrical characteristics and register-level details of the ATmega328P, refer to the official ATmega328P Datasheet (Microchip Technology). For USB-to-serial driver specifications, see the CH340G Datasheet. Board Layout & Label Guide Reset Button — Restarts the currently loaded sketch 3mm Positioning Holes — For secure enclosure or chassis mounting D13 Indicator Light — Driven by digital pin 13; useful for debug feedback 14 Digital I/O Pins — Pins 0–13; pins 3, 5, 6, 9, 10, 11 support PWM 12 MHz Crystal Oscillator — Provides precise clock timing for the MCU Square USB Port (USB Type-B) — For programming and serial communication CH340G Chip — USB-to-TTL serial conversion; compatible with Win7/8/10 5V Regulator Chip — Provides regulated 5V power to the board External Power Socket (DC 7–12V) — Optional barrel jack power input 6 Analog Input Pins — A0–A5; also usable as digital I/O Serial Port Indicator Lights — TX/RX LEDs for serial activity visualization ICSP Connector — For bootloader burning and in-circuit programming MEGA328P — The main ATmega328P microcontroller 3.3V / 5V Power Pins — Power output for connected modules To expand the I/O capabilities of this board for sensor-heavy projects, consider pairing it with the KeyeStudio Sensor Shield V5 for Arduino UNO R3, which breaks out all digital and analog pins into convenient 3-pin (GND/VCC/Signal) headers. Application Scenarios 1. Beginner Project — Blink an LED The classic "Hello World" of Arduino: control a digital output pin to blink an onboard or external LED. This example is perfect for verifying your setup and understanding the basic Arduino sketch structure. // Blink Example — Uno R3 Compatible Arduino // Connect an LED (with 220Ω resistor) to pin 13 and GND void setup() { pinMode(13, OUTPUT); // Set pin 13 as output } void loop() { digitalWrite(13, HIGH); // Turn LED ON delay(1000); // Wait 1 second digitalWrite(13, LOW); // Turn LED OFF delay(1000); // Wait 1 second } 2. Analog Sensor Reading — Potentiometer or LDR Read analog values (0–1023) from a potentiometer or light-dependent resistor (LDR) via any of the 6 analog input pins. Use the Serial Monitor in Arduino IDE to inspect real-time values. // Analog Read Example — Read a potentiometer on A0 // Connect: potentiometer middle pin → A0, outer pins → 5V and GND void setup() { Serial.begin(9600); // Initialize serial communication } void loop() { int sensorValue = analogRead(A0); // Read A0 (0–1023) float voltage = sensorValue * (5.0 / 1023.0); // Convert to voltage Serial.print("Value: "); Serial.print(sensorValue); Serial.print(" | Voltage: "); Serial.println(voltage); delay(200); } For a complete set of sensors to use with the above scenarios, check out the Gravity: 27 PCS Arduino Sensor Kit by DFRobot — includes LDR, temperature sensor, relay, motion sensor, and more, all plug-and-play compatible with this UNO R3 board. 3. PWM Control — Fade an LED or Control a Servo Pins 3, 5, 6, 9, 10, and 11 support 8-bit PWM output. Use analogWrite() to control LED brightness or servo position for robotics and automation projects. // PWM Fade Example — Gradually brighten and dim an LED on pin 9 // Connect: LED anode → 220Ω resistor → Pin 9, cathode → GND void setup() { // No setup needed for analogWrite } void loop() { for (int brightness = 0; brightness = 0; brightness--) { analogWrite(9, brightness); // Decrease brightness delay(10); } } 4. I2C Communication — LCD 1602 Display The board supports I2C via pins A4 (SDA) and A5 (SCL). This example uses the popular I2C LCD 1602 module to display sensor data without consuming many I/O pins. // I2C LCD 1602 Display Example // Library required: LiquidCrystal_I2C (install via Arduino Library Manager) // Connect: SDA → A4, SCL → A5, VCC → 5V, GND → GND #include #include LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 cols, 2 rows void setup() { lcd.init(); lcd.backlight(); lcd.setCursor(0, 0); lcd.print("Hello, OpenELAB!"); lcd.setCursor(0, 1); lcd.print("Arduino UNO R3"); } void loop() { // Static display — no loop actions needed } Want to prototype faster with clean wiring? The UNO R3 Prototype Expansion Board gives you a built-in breadboard area with soldering holes, power rails, and reset button — the perfect companion for building and testing circuits on top of your UNO R3. 5. Home Automation — Relay Control Control AC appliances or high-current DC loads safely using a relay module driven from a digital I/O pin. This is the foundation of smart home light control, pump activation, or heating systems. // Relay Control Example // Connect: Relay IN pin → Digital Pin 7, VCC → 5V, GND → GND // WARNING: Use proper electrical isolation when switching AC mains! const int RELAY_PIN = 7; void setup() { pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, LOW); // Relay OFF at start } void loop() { digitalWrite(RELAY_PIN, HIGH); // Turn ON (activate relay) delay(5000); // Keep ON for 5 seconds digitalWrite(RELAY_PIN, LOW); // Turn OFF delay(5000); // Keep OFF for 5 seconds } 6. STEM Education & Robotics Prototyping The Arduino UNO R3 is the most widely adopted platform in STEM classrooms worldwide. Its open-source nature, extensive community, and compatibility with hundreds of shields make it the go-to starting point for robotics, electronics, and coding education. If you're looking for an all-in-one learning experience, the DFRobot Arduino Starter Kit (30 Projects) bundles this UNO-compatible board with sensors, motors, LEDs, and step-by-step tutorials — ideal for complete beginners and classroom use. For more advanced learners, the OpenELAB UNO R3 Intermediate Kit V2 includes 70+ components covering displays, stepper motors, real-time clocks, and beyond. Packing List 1× Uno R3 Compatible Arduino Uno R3 Development Board 1× 50 cm USB-A to USB-B Cable Note: Sensors, shields, jumper wires, and breadboards are sold separately. See our Gravity IO Expansion Shield V7.1 for easy plug-and-play sensor expansion. FAQ Q1: Is this board 100% compatible with the official Arduino UNO R3? Yes. This board uses the same ATmega328P microcontroller as the official Arduino UNO R3, with the same pin layout and Arduino UNO bootloader pre-installed. All existing sketches, libraries, and shields designed for the official UNO R3 are fully compatible. Q2: Why does this board use CH340G instead of ATmega16U2? The CH340G is a cost-effective and highly reliable USB-to-serial solution. It offers full compatibility with Windows 7/8/10, macOS, and Linux. The CH340G datasheet confirms native support for standard baud rates required by the Arduino IDE. The only difference from the official board is the USB-to-serial chip; all ATmega328P functionality remains identical. Q3: Do I need to install a driver for the CH340G chip? On most modern operating systems (Windows 10/11, macOS 10.14+), the CH340G driver is installed automatically. For older systems (Windows 7/8) or if the board is not recognized, download the official CH340 driver from the WCH website (www.wch-ic.com) and install it manually. After installation, the board will appear as a COM port in Device Manager. Q4: What is the maximum current I can draw from the 5V and 3.3V pins? When powered via USB, the 5V pin can supply approximately 400–500 mA (limited by the USB source). When powered via the barrel jack (7–12V), the onboard 5V regulator can supply up to ~800 mA. The 3.3V pin is limited to 50 mA. Avoid connecting high-current devices (motors, high-power LEDs) directly to I/O pins — use a relay or motor driver module instead. Q5: Can I power the board without USB? Yes. Connect a 7–12V DC power supply (center-positive, 2.1mm barrel jack) to the external power socket. The onboard regulator will step it down to 5V for the board and peripherals. A 9V DC wall adapter is the recommended choice for standalone deployments. Q6: How do I upload code to the board? 1. Download and install the free Arduino IDE from arduino.cc. 2. Connect the board to your computer via the included USB cable. 3. In Arduino IDE, select Board: "Arduino UNO" and the correct COM port. 4. Write or open your sketch and click Upload. The TX/RX LEDs will blink during upload. Q7: What shields and modules are compatible with this board? All standard Arduino UNO R3-form-factor shields are compatible, including motor shields, WiFi/Bluetooth shields, relay shields, display shields, and sensor shields. We recommend the KeyeStudio Sensor Shield V5 for easy 3-pin sensor connectivity, or the Gravity IO Expansion Shield V7.1 for DFRobot Gravity sensor systems. Q8: Is this board suitable for beginners? Absolutely. The Arduino UNO R3 is the world's most recommended beginner microcontroller platform. Its large community, extensive documentation, and simplified C++ programming language make it easy to start building real projects within minutes. If you're new to Arduino, consider starting with our DFRobot Arduino Starter Kit, which includes this board along with sensors, motors, LEDs, and 30 guided project tutorials.
More you might like
Related
Vilros Arduino UNO R3 Compatible Ethernet Shield For Arduino
Related
DFRduino UNO R3: Arduino Uno R3 Compatible Microcontroller B
Related
DFRduino UNO R3: Arduino Uno R3 Compatible Microcontroller B
Related