Digital display for DIY 25W dummy load – part 1 described a digital display for a DIY 25W dummy load / digital wattmeter. The original research tested implementations on an Arduino Nano (ATmega328P) and Arduino Mini Zero (ATSAMD21). Though the Zero appears the better chip (32bits, better ADC resolution etc), the dev board is so noisy (ADC wise) that the Nano produces better results.
This article documents tests on three other dev board alternatives:
- Arduino Nano Every (genuine);
- Wemos SAMD21G board; and
Seeed XIAO mini Zero.
Baseline: Arduino Nano v3.0 (clone)
Above is the initial prototype Arduino Nano v3.0 (16MHz ATmega328P) with OLED display. This clone has a CP210x serial chip, clones with a claimed FTDI chip are probably fakes, ones with CH340x chips are probably ok.
These were plentiful online at less than $10… but a world wide chip shortage has driven the price up.
This provides a baseline against which other configurations can be judged.
Be wary of 3V boards, they are an adaptation but only run 8MHz clock.
Arduino Nano Every (genuine)
A newer Arduino board, more memory but still AVR 8 bit architecture, and claimed improved ADC linearity though still only 10bit resolution, and relatively expensive. The ADC with shorted input and average of 5 successive readings had peak jitter of 100/1024, that is just 20dB below FSD, hopeless. Absolutely unsuitable for this project.
Wemos SAMD21G M0 board
A clone of the Arduino M0, a 32 bit processor with more ADC resolution, The ADC noise floor on this large format board was ok.
The ADC noise floor on the mini M0 boards was worse than the Chinese knock of of an Arduino Nano v3.0.
Seeed XIAO mini Zero (genuine)
The trial was conducted on a Seeed XIAO and Seeed expansion board, an expensive setup at around $70 for both. The expansion board was purchased to get reliable access to the SWD debug pins, but in the end other problems cut short the evaluation.
The ADC noise was not assessed, too much of the code did not work on the Seeed XIAO (serial, I2C OLED display), and effort was not put in to finding why this is really not compatible with pretty basic Arduino code that worked on four other Arduino architecture boards.
Lack of documentation was one factor that caused abandonment of this option, the Chinese are the greatest copyists, and jealously try to prevent copying of their own work, at the expense of the end user.
Fake Nano Every (ATmega4808)
Above is a board passed of as a Nano Every online, note the label on the board. On closer examination, the chip is has 32 pins (TQFP32) and is a ATmega4808 whereas the genuine Nano Every has a 48 pin chip (TQFP48) and is a ATmega4809. There are a heap of shortcomings of this board, it is an expensive low value fraud.
Improved ADC performance
As noted, most of these inexpensive development boards are not optimised for ADC noise, so they deliver poorer performance than might be obtained with a custom board design.
Another option is a separate ADC module.
The above ADS1115 module has four input channels, 16 bit conversion, flexible input mux, and were available on eBay for less than A$4, so worth a try. Whilst the achievable noise floor is worse than ideal for a 16bit conversion, it is substantially lower than the Arduino Nano v3.0 noise.
These are discussed further in the series Digital display for half wave detector with cubic spline interpolation – part 1.
The basic Arduino Nano knockoffs that were selling for well under $10 but are a bit more expensive now due to a world wide shortage of ATmega328P chips is actually the best performing ADC. The additional power and resolution of the 32bit chips is wasted due to noisy dev boards.