Arduino Uno R3 Vs CH340 - Maker Portal

Maker Portal Sign In My Account Main Portal Raspberry Pi Arduino Engineering Python BLExAR Blog Shop Contact About Consulting Search Back - All Products - New and Popular Microcontrollers Raspberry Pi Engineering Kits Internet of Things Sensors Motors + Actuators Data Acquisition Maker Tools BLExAR Resources WaWiCo Arduino Uno R3 vs CH340

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:

  1. Arduino Uno Rev3 - $8.99 [Amazon]

  2. Arduino Uno CH340 - $11 [Shop]

  3. Multimeter - $25.97 [Amazon]

  4. 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:

  1. SG90 Micro servo - $11.99 (4 pcs) [Amazon]

  2. VL53L0X Time-of-flight I2C sensor - $8.21 [Amazon]

  3. 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
upload_times.png

Upload Time Comparison for CH340 and Rev3 Uno Boards

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.

arduino-uno-rev3-vs-uno-ch340-blog.jpg

See More in Arduino:

Arduino Sensor Data Logging and Visualization on iPhone Nov 28, 2022 Arduino Sensor Data Logging and Visualization on iPhone Nov 28, 2022 Nov 28, 2022 MakerBLE — A Tiny nRF52840 Bluetooth Arduino Board Nov 15, 2022 MakerBLE — A Tiny nRF52840 Bluetooth Arduino Board Nov 15, 2022 Nov 15, 2022 Haptic Feedback Joystick with Arduino Aug 9, 2021 Haptic Feedback Joystick with Arduino Aug 9, 2021 Aug 9, 2021 Portable GPS Tracker with Arduino Jul 15, 2021 Portable GPS Tracker with Arduino Jul 15, 2021 Jul 15, 2021 Bluetooth-Enabled e-Paper Display with Arduino Jul 8, 2021 Bluetooth-Enabled e-Paper Display with Arduino Jul 8, 2021 Jul 8, 2021 An Introduction to RFID with Arduino Jun 27, 2021 An Introduction to RFID with Arduino Jun 27, 2021 Jun 27, 2021 Solar Panel Characterization and Experiments with Arduino Jun 18, 2021 Solar Panel Characterization and Experiments with Arduino Jun 18, 2021 Jun 18, 2021 TinyBlueX - A Low Power Bluetooth Arduino Board Apr 24, 2021 TinyBlueX - A Low Power Bluetooth Arduino Board Apr 24, 2021 Apr 24, 2021 3 Intermediate-Level Arduino Projects to Try at Home Feb 4, 2021 3 Intermediate-Level Arduino Projects to Try at Home Feb 4, 2021 Feb 4, 2021 Arduino Venturi Flow Meter 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 Previous

Importance of Silkscreens for PCB Identification and Labeling

ElectronicsPCBGOGOMarch 18, 2019Silkscreen, PCB, PCBGOGO Next

Controlling 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, Boolean

Từ khóa » Ch340c Vs Ch340g