Battle of the Boards: Clone Uno R3 vs. Uno R4

As some of you might know, I purchased a $10 Arduino Uno Knockoff and tested it about a year ago in this post. Since then, I got my hands on an official Uno R4 Minima. The only question is: For less than half the price, can my knockoff board beat the latest and greatest from Arduino? My doubts remain, even greater than last time, so stay tuned for future updates!

Knock-off arduino purchase link:

2 Likes

Specifications:

Scoring:
(+1) If it is better
(+0) If it doesn't matter/slightly worse
(-1) If it is significantly worse

Clone Uno R3:
16.2MHz ATmega328P (-1)
32KB RAM - 32KB Usable (-1)
Arduino "UNO" Bootloader (+0)
CH340g USB-A interface (+0)
14 (+14 without headers) Pins, 6 (+6 without headers) with PWM outputs (+1)
OVERALL: 1 Point

Real Uno R4 Minima:
48.1MHz Renesas RA4M1 (+1)
256KB RAM - 256KB Usable (+1)
Arduino "UNO" Bootloader (+0)
Renesas RA4M1 USB-C interface (+0)
14 Pins, 6 with PWM outputs (+0)
OVERALL: 1 Point

Note:
VERY surprisingly, the Uno R4 Minima only has 32KBs of RAM, the same as nearly every generation prior! Even MORE surprising was the fact that the board actually has less usable RAM then the clone! This might end up being a problem, especially when the newer, more RAM-hungry processor is under heavy load.

Round Tie, But Not Really!

That would be program memory. There are 2048 bytes (2K) of RAM on the ATmega328P.

Just compiling blink

Uno R4 Minima

Sketch uses 38820 bytes (14%) of program storage space. Maximum is 262144 bytes.
Global variables use 3940 bytes (12%) of dynamic memory, leaving 28828 bytes for local variables. Maximum is 32768 bytes.

Uno R3

Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.

Here are some notes:

  1. The Renesas RA4M1 is a far more complicated processor than the Atmel 328P. The Renesas RA4M1 requires a lot more instructions to setup the internal hardware and using the Arduino hardware abstraction layer is more than likely inefficient compared to the Atmel 328P. What can be done with one or two instructions in an Atmel328P needs more instructions with the Renesas RA4M1.
  2. The Uno R4 Minima communicates over a native USB port on the Renesas RA4M1. This requires additional code in the uploaded sketch.
  3. Where you gain with the Uno R4 Minima is with stuff that does not need to access the hardware; for-loops filling arrays, calculations and so on. You have far more code memory and RAM.

Note:
No experience with the Uno R4 family.

You are conflating Flash memory and RAM memory. Go read the specs again!

Your ratings seem quite subjective. If you explained why you gave a specific rating and why you chose those specific features to rate, it may become useful.

Um. How did you arrive at "16.2MHz" (should be 16MHz even.)

And that's 32k of FLASH (as others have pointed out), and I'm not sure how you got to "27k usable"; with an Uno bootloader, you should have 32k - 512B usable, and even with the older (diecimilla) bootloader, you should have 30k usable.

Latest and greatest, especially the former, often suffer from software incompatibilities until the library maintainers get to work updating code which has gone behind the Arduino abstraction layer (direct control of peripherals such as hardware timers etc. etc.)

Not a +1 in my book. I like the USB-B of the Uno R3. Sturdier and works as well as I need it to.

I have a couple of Uno R4 Wifis, they're good in the sense I'm a satisfied customer.

I won't say I'm a WOWED customer though because the Arduino app service doesn't seem to allow Serial data transfer over wifi, which to me is the thing most folks would want to do, most often.

The LED array feature built in is cute, I guess? I don't think I'll have a lot of use for that in my projects but I'm sure lots of folks will. I'd have preferred an LCD built in or something like that. Maybe on the next-gen Mega?

7 posts were split to a new topic: Uno R4 board discussion

Notice:
I messed up the specs, the Uno R4 has 256KBs of Flash Memory. As I should have made clearer, the memory is calculated in flash.

As Jim-p requested, I will give a more detailed explanation on why I chose to rate what I did:

  1. I chose to rate the processors on the boards due to it being an essential part, and the Uno R4 got the point due to having a significantly faster and newer processor.
  2. I chose to rate the flash memory on the boards because it dictates how large of a program you can store and run natively.
  3. I chose to rate the bootloaders because of how important they are to a board. Also, the bootloader is more of a choice that others can make, so even if I thought one board had a better bootloader, I wouldn't score it.
  4. I chose to rate the pins on the board because they allow you to power and receive inputs and outputs from/to the board, and the Uno R3 clone got the point because of having double the pins (minus the headers).

Why do you think so? It only has 14 digital pins and 6 analog pins, that can be used as digital pins alternatively. Not more.


Look closer at the pin arrays. They might not be pins, but they are able to conduct and send/receive data just like actual pins. There's a pair of each on the board, along with more I/O holes. in the bottom right.

These vias (solder pads/holes) are merely a convenience for installing alternative connectors, and are connected in parallel with previously defined pins. They add no new features to the basic Arduinu Uno.

Capture

2 Likes

Only useful if you want to solder wires to your Uno :smiley:

2 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.