Arduino UNO R4 WiFi evaluation

I got an Arduino UNO R4 WiFi board a couple of weeks ago and decided to do some experiments with it. This isn’t an extensive test (yet), I just concentrated on the following items for now:

For these tests I used the Arduino IDE 2.1.1 on a Windows 10 OS system. I did notice a few quirks which are specific to the UNO R4 WiFi, but won’t go into those details now.

If you want a walkthrough of the board’s features, this board Arduino R4 overview should be helpful.

UNO R4 Current Measurements

When I first heard of this board and realized that there are two microcontrollers on it (ESP32 and Renesas), I was very curious about the power consumption: i.e. how much current is being drawn from the power supply.

Seeing that the WIFI functionality is done using the on-board ESP32, I wanted to know how much of the current draw is attributed to it (as we all know that ESP32-based boards with WIFI are quite power hungry).

So, I powered all of the test boards using the USB, where I cut the cable’s +5V power rail line and inserted an ammeter in series to measure the actual current being drawn by the board.

For comparison sake, in addition to the R4 WiFi, I also measured the current draw in some other popular Arduino boards and here are the results (units in mA) :

Test SketchesDueUNO R3NanoUNO R4Mega
Idle105 mA 42 mA29 mA97 mA83 mA
Blink sketch119 mA42 mA32 mA101 mA88 mA
All Matrix LEDs ON---101 mA-
Using WIFI---110-175 mA-

So most definitely, the UNO R4 WiFi is consuming more than 2x the power of the UNO R3, just because of the presence of that ESP32!

This will not make this board very user-friendly to battery-powered projects, unless it’s figured out how to disable the ESP32 (if that’s at all possible) when WIFI is never needed.

I also wanted to test the Bluetooth communication, but couldn’t get it to work, as currently there’s no documentation on this 😒.

LED Matrix on the UNO R4 WiFi

This is a unique new feature added to an Arduino board. It has 94 LEDs forming an 8×12 matrix, where each of the LEDs can be individually controlled.

Here’s a quick vid of the set-up that also shows the current measurement config (mentioned in 1 above).

The LEDs don’t look very good in the video, due to the fact that the phone’s and LED’s refresh rates are out of whack, which causes visual flashing. But actually, the LEDs look really good in real-life 🙂

Math operations performance

The UNO R4 boasts a 32-bit architecture, higher CPU frequency, more RAM+Flash memory and a dedicated floating point processor, so I was most intrigued to see if those items would significantly contribute to improved math operations performance.

I am very impressed with the results (!) so take a look :

Data TypeMath OperationUNO R3 (uSec)UNO R4 (uSec)R4 faster than R3 by a factor of
byteADD0.430.1044.15
MUL0.6680.1046.41
DIV5.4470.15235.88
SIN119.71260.7641.97
POW230.694203.821.13
SQRT38.1523.7121.61
intADD0.870.1048.35
MUL1.4230.10513.61
DIV14.3540.17382.93
SIN120.78160.8841.98
POW232.236203.751.14
SQRT39.21823.6091.66
longADD1.7510.10416.8
MUL6.1380.10558.74
DIV38.8340.173224.34
SIN121.03360.8841.99
POW232.616203.751.14
SQRT39.4723.611.67
long longADD6.0910.22926.59
MUL24.6880.29284.49
DIV29.2722.61711.18
SIN136.56467.3472.03
POW257.129211.5781.22
SQRT59.5630.1211.98
floatADD7.8640.10575.25
MUL9.7650.10593.18
DIV30.7750.37681.76
SIN115.3045.06522.77
POW222.03341.5915.34
SQRT31.071.02530.3

OpAmp

One of the new features supported by the UNO R4 WiFi is an analog part, which is an OpAmp (Operational Amplifier).

For those not acquainted with this electronic component, it can be usually used as a voltage comparator, a voltage follower (i.e. a buffer) and as a voltage amplifier. I really found it to be cool that the designers threw in such a part (i.e. analog) into this mostly digital component.

Don’t want to go into the details, but I tested it in simple comparator/follower/amplifier use-cases and it worked very well! One good thing is that its output swings from rail-to-rail (i.e. 0V and 5V) which is not the case in most OpAmps.

The not so good thing is that the output drive capability is not that great: i.e. the output can’t source a high current, which is a bit of a drag.

But overall, I’m happy that this feature is provided, as many times there’s a need to amplify a small analog signal from a sensor, say, before routing it to the Analog-to-Digital Converter (ADC). So this integrated feature can be very handy without requiring other external components.

Digital-to-Analog Converter (DAC)

Another nice feature that has been added to the R4 WiFi is the Digital-to-Analog Converter (DAC).

We all have likely used the PWM on the Arduinos before (i.e. for dimming an LED). This was an indirect way to simulate analog behavior.

But with the DAC, one can physically create a true voltage waveform of any shape. One useful application of this is to generate audio.

The R4 WiFi has support for generating sine, square and sawtooth waveforms and here they are (captured by my el-cheapo portable oscilloscope) :

R4 WIFI - sine, square and sawtooth waveforms

Note how bad are the jaggies in the sine and sawtooth captures; this indicates that the DAC is set to a low resolution causing high granularity in the output’s waveforms.

I then decided to write a little code myself to use a high resolution, so here’s the sawtooth waveform using a 12-bit DAC (looks so much nicer!) :

R4 WIFI - sawtooth waveform using 12-bit DAC

UNO R4 WIFI Board Summary

The new UNO R4 WiFi board is quite impressive and is loaded with features and sports high-performance computational abilities. Aside from the default high-current consumption, I don’t have any real concerns or complaints and am truly liking this board so far.

I’ll continue to explore its other features (i.e. Bluetooth, debug support, compatibility, etc) and will update this thread with other new–and hopefully interesting–findings. Cheers!

AppLab Bricks open in background with actual brick

Arduino AppLab Bricks → Marketing Garbage or New Powerful Interface?

Arduino Ventuno single board computer - top side

New Ventuno Q Dual Brain Single Board Computer

AppLab Pip Install

How to Add Python Packages in Arduino AppLab (No pip install needed)

Arduino Power Section Schematic

Kit-on-a-Shield Schematic Review

Just how random is the ESP32 random number generator?

Just how random is the ESP32 random number generator?

Leave a Comment