|
|
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
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- 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...
-
DIY PCL82 Tube Amplifier, Single-Ended Amp with Amazing Sound
The idea for this project came from a local electronics magazine called EMITER, issue 12/13 from 20...
-
Simple MCP2036 SDR Radio - The Most Unusual Software Defined Radio
SDR (Software Defined Radio) is a radio communication system where many of the key electronic compo...
-
Elecrow All-in-One Arduino Starter Kit Review - 20 Projects & 16 Modules
This time I will describe a simple and practical way to enter the world of microcontrollers, specif...
-
ESP32-C3 Color Detector with TCS34725, Real-Time RGB Detection & Web Interface
Color detection is a fundamental task in many embedded systems – from industrial sorting machines t...
-
DIY ESP32 Telegram Flood Protection System - Smart Home Automation
Recently I had an unpleasant experience in my home, specifically my ground floor was flooded as a r...
-
Real-Time Air Traffic Radar using ESP32 + ADS-B Data
ADS-B, which stands for Automatic Dependent Surveillance-Broadcast, is the modern standard for trac...
-
DIY Green Laser Night Sky Object Finder - Find Stars & Galaxies Instantly with great accuracy
As an amateur astronomer, especially at the beginning, the most difficult part of observing the nig...
-
DIY Avionics Simulator with ESP32 - Artificial Horizon, Compass & Altimeter
The inspiration for this project comes from classical aircraft cockpit instruments used for navigat...
-
DIY Miniature X-Ray Machine using a TV Vacuum Tube DY86
An X-ray machine (or radiograph) is a quick, painless medical test that produces images of the struc...
-
Simple SDR Receiver Using 2x NE612 - Dual Conversion, Superheterodyne (0.1–30 MHz)
SDR (Software Defined Radio) is a radio system in which most of the functions of a classic radio (f...
-
DIY Vintage TV VU Meter with peak indicators
Some time ago in one of my projects I presented you a way to turn a black and white old mini TV int...
-
DIY Tesla Coil based Plasma Rife Machine
In several of my previous videos, I presented you with different ways to make a Rife Machine, from ...
-
ESP32 Analog VU Meter – Smooth Needle, Real Audio Response (DIY Build)
In several of my previous videos I have shown you how to make analog VU meters emulated on differen...
-
The Ultimate Smartphone VFO ESP32 & Si5351 Wireless Control
Variable frequency oscillators (VFOs) are commonly used in radio transmitters and receivers, especi...
-
DIY Shortwave Propagation Monitor - Measure Ionosphere Conditions
Shortwave Propagation is the way radio waves in the 3 to 30 MHz range travel from point A to point ...
-
Professional grade Smart Lock with ESP32, BLE and Android App Control
An electronic codelock is a security device that grants access using a numerical sequence—a PIN cod...
-
Building a 3-Input Stereo ECC83 (12AX7) Tube Preamp
Some time ago I presented you a project for a 3W stereo tube amplifier with a GU32 output vacuum t...
-
Programmable Mist Maker - XIAO / QT PY Extension
1408 2 1 -
RadioHAT - Raspberry Pi radio development platform
1187 0 3 -
QWIIC-VL53L4CD Time-of-Flight Distance Sensor Module
1394 0 1 -
-
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
3552 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
4227 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
4607 2 2







