|
|
Arduino Nano R3 |
x 1 | |
|
|
TM1637 4-digit 7-segment display |
x 1 | |
|
|
ADS1110 16bit A/D converter module |
x 1 | |
|
|
Capacitor 100 nF |
x 3 | |
|
|
Capacitor 10 µF |
x 1 | |
|
|
Resistor 100 ohm |
x 1 | |
|
|
Pushbutton Switch, Momentary |
x 1 |
|
Soldering Iron Kit |
|
|
arduino IDEArduino
|
DIY Precise Arduino Miliohmmeter
In practice, we very often need to measure low resistances. Measuring low-value resistances, especially those less than 1 ohm, is nearly impossible with a standard multimeter. On the other hand, an commercial milliohmmeter instrument is in the price range of several hundred dollars and is not cost effective for self builders.
This time I will describe to you a simple and inexpensive way to make such an instrument, for the production of which we will not need more than a few dollars. With this instrument we can measure the resistance of 0.001 Ohm or 1 milliom. The result is displayed on a 4-digit 7-segment display that is easy to read even at wide angles.

You can find the original project on the rcl-radio (http://rcl-radio.ru/?p=100859) page. Just to note that the code uses a modified STM32 library which has been modified by the author and is compatible with Arduino nano. The heart of the device is ADS1110 IC wich is a precision differential input analog-to-digital (A/D) converter with up to 16-bit resolution.

The ADS1110 uses an I2C interface to communicate with the microcontroller, and measures at 15, 30, 60, or 240 samples per second and has a built-in 1, 2, 4, 8 voltage amplifier. The measuring range is from 0 ohms to 150 ohms.
Otherwise, the device is very simple to build and consists of several componen

- Arduino Nano microcontroller (I am currently using a cheap version with LGT8F328P MCU)
- ADS1110 A/D converter
- TM1637 4-digit 7-segment display
- and a few resistors and capacitors

This project is sponsored by PCBWay. They has all the services you need to create your project at the best price, whether is a scool project, or complex professional project. On PCBWay you can share your experiences, or get inspiration for your next project. They also provide completed Surface mount SMT PCB assemblY service at a best price, and ISO9001 quality control.

The measuring leads should be as short as possible, and they need to have the same length. To calibrate the milliohmmeter, you need to accurately measure the voltage of 3.3 V (supplied from the Arduino board) and indicate it in the line:
#define U33 3.342
The accuracy of the resistance measurement is directly dependent on the accuracy of the 100 ohm reference resistance and the accuracy of the 3.3 V voltage measurement.
And now let's see how the instrument works in real conditions.
Immediately after switching on, we need to prepare the measuring instrument. For that purpose тhe circuit uses a “0” button to calibrate the zero before measuring low-resistance resistances.

To calibrate the zero, you need to short-circuit the test leads and press the “0” button. Now let's make more measurements on resistors with different values between 0 and 100 Ohms.
Finally, a short conclusion. This is an indispensable and very useful instrument for any laboratory, especially considering the fact that it is very inexpensive, and we can make it ourselves. The device is installed in a suitable box made of PVC board with thicknesses of 3 and 5 mm and covered with self-adhesive colored wallpaper. I would like to emphasize that it is preferable to power the instrument from an external stable voltage source for greater accuracy.

#include <Wire.h>
#include <STM32_TM1637.h> // http://rcl-radio.ru/wp-content/uploads/2020/02/STM32_TM1637_V1_3.zip
STM32_TM1637 tm(2,3);// CLK, DIO
#define ADDR 0x48
#define U33 3.342
int n=3;
float r,u,n_u=0.256,r0;
long dig_sum,dig;
int value,f;
void setup() {
Serial.begin(9600);
tm.brig(7); // ЯРКОСТЬ 0...7
Wire.begin();
pinMode(4,INPUT_PULLUP);// null
}
void loop() {
r = ((100.00*u)/(U33-u))-r0;
if(digitalRead(4)==LOW&&r<0.1){r0=((100.00*u)/(U33-u));delay(200);}
for(int i=0;i<10;i++){
read_u();
dig_sum = dig_sum+value;delay(10);}
read_u();if(value>0x7FFF-0xF&&n==1){delay(10);n=0;n_u=2.048;}
read_u();if(value>0x7FFF-0xF&&n==2){delay(10);n=1;n_u=1.024;}
read_u();if(value>0x7FFF-0xF&&n==3){delay(10);n=2;n_u=0.512;}
read_u();if(value<16380&&n==0){delay(10);n=1;n_u=1.024;}
read_u();if(value<16380&&n==1){delay(10);n=2;n_u=0.512;}
read_u();if(value<16380&&n==2){delay(10);n=3;n_u=0.256;}
dig = dig_sum/10;dig_sum=0;
u = dig*n_u/0x7FFF;
if(r<10){tm.print_float(r,3 ,0,0,0,0);}
if(r>=10&&r<100){tm.print_float(r,2 ,0,0,0,0);}
if(r>=100&&r<=150){tm.print_float(r,1 ,0,0,0,0);}
if(r>150){tm.print_float(r,0 ,0b01000000,0b01000000,0b01000000,0b01000000);}
Serial.println(r0,5);
}
float read_u(){
Wire.beginTransmission(ADDR);
Wire.write (0b10001100+n);
Wire.endTransmission();
Wire.requestFrom(ADDR,2);
while(Wire.available()<2);
value = (Wire.read()<<8) + (Wire.read());
}
DIY Precise Arduino Miliohmmeter
- Comments(0)
- Likes(2)
-
Mehmet Akif Ersoy Grme Eng. Okulu
Nov 29,2024
-
Kocis Julius
Mar 10,2024
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube
Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Build simple Retro Style VFO (Variable frequency oscillator) with Crowoanel 1.28 inch Round Display
Today I received a shipment with a Small round LCD display from Elecrow. The device is packed in tw...
-
Human vs Robot – Rock Paper Scissors with MyCobot 280 M5Stack
Today I received a package containing the few Elephant Robotics products. The shipment is well pack...
-
How to Build a Simple Audio Spectrum Analyzer with Adjustable Settings
An audio spectrum analyzer is an electronic device or software tool that measures and visually disp...
-
How to Make a Digital Clock on a Vintage B&W TV using Arduino
These days I accidentally came across this small retro Black and White TV with a built-in Radio, so ...
-
Build a $10 Function Generator with Frequency Meter for Your Lab
A function generator is a piece of electronic test equipment used to generate various types of elec...
-
From Unboxing to Coding - Radar Clock on Elecrow’s 2.1 HMI Display
Today I received a shipment with a large round LCD display from Elecrow. The device is packed in two...
-
Making a Retro Analog NTP Clock with Unihiker K10 - Arduino IDE Tutorial
Some time ago I presented you a way to use standard Arduino libraries on the Unihiker k10 developme...
-
Build a Cheap & Easy HF Preselector - Antenna Tuner
HF antenna preselector is an electronic device connected between an HF radio antenna, and a radio r...
-
DIY Static Charge Monitor - Electrostatic Field Detector (Arduino & TL071)
A Static Charge Monitor also known as a Static Field Meter or Electrostatic Voltmeter is a device u...
-
XHDATA D-219 Radio Short Review with complete disassembly
Some time ago I received an offer from XHDATA to be one of the first test users of their new radio m...
-
How to make Simplest ever Oscilloscope Clock
An oscilloscope clock is a unique and creative way to display the time using an oscilloscope, which...
-
DIY Digital Barograph with BME280 and ESP32 - 24 Hour Pressure Trends
A barograph is a self-recording barometer that continuously measures and records atmospheric pressu...
-
Build a Raspberry Pi Pico SDR Radio with Waterfall Display
Software-defined radio (SDR) is a radio communication system where components that have traditional...
-
DIY Magnet Polarity Detector - How to Identify Poles with a Hall Sensor from a PC Fan
Recently, while working on a project, I needed to determine the polarity of several permanent magne...
-
Light Meter Project - Making Dfrobot Unihiker K10 Work with Standard Arduino Libraries
The other day I received a shipment with a UNIHIKER K10 development board from DFRobot, which I rec...
-
DIY Simple Arduino Whack-a-Mole Game
A "Whack-a-Mole" game is a classic arcade-style game where moles pop up randomly from holes, and th...
-
Wireless Power Transmission, Long-Distance and High-Efficiency with Class-E Tesla Coil
Wireless energy transfer also known as wireless power transmission is a method of getting useful el...
-
-
AEL-2011 Power Supply Module
332 0 1 -
AEL-2011 50W Power Amplifier
306 0 1 -
-
-
Custom Mechanical Keyboard
572 0 0 -
Tester for Touch Screen Digitizer without using microcontroller
237 2 2 -
Audio reactive glow LED wristband/bracelet with NFC / RFID-Tags
241 0 1 -
-
-







