Arduino Uno R3 Vs CH340 - Maker Portal
The CH340 Arduino board contains an ATmega328P-U-TH chip, which differs from the classic ATmega328P-PU in official Arduino Uno Rev3 boards. The CH340 is an inexpensive USB-to-Serial chip (datasheet here) that takes the place of the Rev3 board’s more expensive ATmega16U2. This creates issues when programming the Arduino board with certain operating systems (specifically Windows), however, for most Linux and Mac systems - there appears to be no issue. In this tutorial, I will explore the CH340 Arduino board to see whether there are differences in performance and power under different operating conditions. This will definitively answer whether the CH340 is a worthy alternative to the Rev3 or if it’s just a cheap imposter.
Parts List
The most important components needed to conduct the subsequent performance tests are:
Arduino Uno Rev3 - $8.99 [Amazon]
Arduino Uno CH340 - $11 [Shop]
Multimeter - $25.97 [Amazon]
Alligator Clips - $6.39 [Amazon]
These components will allow the user to test most of the functionality between the two boards. In my particular tests, I will also be using the follow sensors and motors for fully-integrated tests:
SG90 Micro servo - $11.99 (4 pcs) [Amazon]
VL53L0X Time-of-flight I2C sensor - $8.21 [Amazon]
LED - $9.99 (600 pcs) [Amazon]
“As an Amazon Associates Program member, clicking on links may result in Maker Portal receiving a small commission that helps support future projects.”
Compatibility Issues
One of the most cited complaints regarding the CH340 is its lack of compatibility with certain operating systems. I have tested the CH340 and Uno Rev3 on several systems with the following results:
Operating System | Compatibility |
---|---|
Linux | ✔ |
Windows | ✔ |
Mac | X |
Some recommend the following the download procedure outlined here: https://sparks.gogo.co.nz/ch340.html
However, I prefer to use a Raspberry Pi where the drivers are naturally compatible with the Arduino IDE and Linux.
Upload Speeds
Another area that is often referenced as a point of contention is the time to upload. Below I use different sized sketches to determine whether upload times are different between the CH340 board and the Uno Rev3.
Sketch Size [Bytes] | Rev3 Upload Time [s] | CH340 Upload Time [s] |
---|---|---|
453 | 5.2 | 5.5 |
4874 | 9.4 | 9.7 |
7230 | 9.5 | 10.7 |
10758 | 12.7 | 12.4 |
15789 | 15.9 | 15.6 |
Power Consumption
Both the CH340 and Rev3 boards were put through various routines with 5V supply and a multimeter in series. This allowed for measurement of current consumption to approximate the difference between each board. Surprisingly, the CH340 board was much more efficient than the Rev3 board universally. A table and bar chart of the results are shown below.
Parameter | Rev3 Current [mA] | CH340 Current [mA] |
---|---|---|
Bare Minimum | 32.5 | 15.0 |
Serial | 33.0 | 16.7 |
I2C | 37.0 | 19.5 |
LED Blink (20ms) | 36.6 | 18.9 |
Low Power Sleep | 23.8 | 5.0 |
Rev3 Uno vs. CH340 Uno
Timed Comparisons
The next logical comparison between the two board is the timing difference in computation and I/O tasks. Again, several routines were computed for each board and then compared. The millis() function was used to approximate run time for several tasks, each outlined in the table below.
Routine | Rev3 Time [ms] | CH340 Time [ms] |
---|---|---|
Serial Print n2, n = 0 - 1000 | 890 | 890 |
1,000 Analog Reads | 112 | 112 |
100,000 PWM Writes | 443 | 443 |
10 I2C Communications | 409 | 410 |
Since both boards are ATmega328P boards, we wouldn’t expect any difference between the two boards, and just as the table indicates - there is unanimously NO DIFFERENCE AT ALL between the boards and the specified tasks timed above.
Conclusion
I think that the CH340 is often considered a poor alternative to the Uno Rev3, however, most of the tests done in this post demonstrate the opposite. The CH340 is nearly as fast at uploading sketches, the CH340 board is universally more efficient than the Rev3 (at 5V), they both run at the same speed when computing, and the CH340 is universally cheaper. The only widespread known issue with the CH340 is its incompatibility with MacOS. And ultimately, if you are using a Raspberry Pi, Linux, or Windows system - you won’t have any noticeable issues with the CH340 when compared to the Rev3. That being said, I did not cover all of the possible issues between the two boards, however, I did analyze many of the common misconceptions between the two. Therefore, I can definitively say: the CH340 Uno board is just as good as the Uno Rev3 for ordinary maker-based projects.
See More in Arduino:
Nov 28, 2022 Arduino Sensor Data Logging and Visualization on iPhone Nov 28, 2022 Nov 28, 2022 Nov 15, 2022 MakerBLE — A Tiny nRF52840 Bluetooth Arduino Board Nov 15, 2022 Nov 15, 2022 Aug 9, 2021 Haptic Feedback Joystick with Arduino Aug 9, 2021 Aug 9, 2021 Jul 15, 2021 Portable GPS Tracker with Arduino Jul 15, 2021 Jul 15, 2021 Jul 8, 2021 Bluetooth-Enabled e-Paper Display with Arduino Jul 8, 2021 Jul 8, 2021 Jun 27, 2021 An Introduction to RFID with Arduino Jun 27, 2021 Jun 27, 2021 Jun 18, 2021 Solar Panel Characterization and Experiments with Arduino Jun 18, 2021 Jun 18, 2021 Apr 24, 2021 TinyBlueX - A Low Power Bluetooth Arduino Board Apr 24, 2021 Apr 24, 2021 Feb 4, 2021 3 Intermediate-Level Arduino Projects to Try at Home Feb 4, 2021 Feb 4, 2021 Jul 25, 2020 Arduino Venturi Flow Meter Jul 25, 2020 Jul 25, 2020 Arduino, Electronics, ProgrammingJoshua HriskoMarch 14, 2019Arduino, Arduino CH340, Arduino Uno, Arduino Uno CH340, Rev3 vs CH340, R3 vs CH340, CH340 Arduino, Arduino Board, Arduino Comparison, Multimeter, Arduino Operating System, Arduino Upload, Upload Time, Upload, Arduino Sketch, Arduino Power Consumption, Power Consumption, Arduino Time, Arduino Power, Arduino Linux, Arduino Raspberry Pi, Raspberry Pi ArduinoComment Facebook0 Twitter LinkedIn0 Reddit Tumblr Pinterest0 0 Likes PreviousImportance of Silkscreens for PCB Identification and Labeling
ElectronicsPCBGOGOMarch 18, 2019Silkscreen, PCB, PCBGOGO NextControlling LEDs with A Multiplexer and Arduino
Arduino, Electronics, ProgrammingJoshua HriskoMarch 13, 2019LED, LEDs, Breadboard, Arduino, Arduino LED, Arduino LEDs, Arduino Uno, Arduino CH340, Arduino Multiplexer, Arduino Demultiplexer, Arduino Multiplexing, Arduino LED Multiplexing, Arduino LED Multiple, LED Array, Random, Arduino Random, Arduino Blink, Arduino PWM, PWM, Pulse-Width Modulation, Blink, BooleanTừ khóa » Ch340c Vs Ch340g
-
USB Serial: What Is Ch340? - Latest Open Tech From Seeed
-
Why Do Some Arduino-compatible Boards Provide A Crystal For The ...
-
[PDF] USB To Serial Chip CH340 - MPJA
-
Which NodeMcu Module? CH340 Vs CH340G Vs CP1202
-
CH340C - USB To Serial Chip - SOP-16 150mil - Replace CH340G
-
SparkFun Serial Basic CH340C Hookup Guide
-
[PDF] USB To Serial Chip CH340 - Sparkfun
-
USB To Serial Port Chip CH340 - NanjingQinhengMicroelectronics
-
[PDF] USB To Serial Chip CH340
-
CP2102 V.S CH340 - General Electronics - Arduino Forum
-
Ch340g Ch340c Ch340 Usb To Ttl Converter Serial Port Adapter ...
-
FT232RL CH340G CP2102 Which To Choose ? - EEVblog
-
[PDF] USB 转串口芯片CH340