-
finding short on motherboards with a shorty (with display)
Posted by
kripton2035
on 03 Feb, 2021 19:06
-
-
#1 Reply
Posted by
Fraser
on 03 Feb, 2021 19:41
-
Excellent. I look forward to reading more of this unit
Fraser
-
#2 Reply
Posted by
zoltanh
on 04 Feb, 2021 00:04
-
Super!!
I built myself a shorty (designed a board with arduino nano, THT and SMD versions, but built till now only THT version; SMD PCB is done but not populated) and did several experiments and several changes. The last version is up to 5 ohms instead of 1 ohm original. I made and tried also few sketches as I changed/experimented the approach how to translate the voltage readings in tones/sound. Actually, I am very pleased, with all versions, original and mine ones how they translated the milliohms in tones. I was thinking about adding a display, and adding voice talking. I started with voice talking implementation. Then I have seen few weeks ago, on other topic hereon the forum, your post about your shorty with display. Since then I put it in hold and I was waiting to see your realization. I hardly can wait to see your schematics and source if you would like to share.
-
#3 Reply
Posted by
masterx81
on 04 Feb, 2021 09:08
-
I love the sound frequency proportional to the resistance! And seem have quite stable reading. Really interested!
-
-
the good news is that inside the box everything is wired "bugstyle" on a perfboard... I will certainly make a good pcb with groundplanes...
and add one more digit to the display !
-
#5 Reply
Posted by
natman69
on 06 Feb, 2021 17:21
-
@kripton2035: really an interesting project. This tool can be very useful. Great! And thank you for sharing...
If there is enough interest about eevblog users, I suggest you to sell a PCB or a complete kit for building shorty.
-
#6 Reply
Posted by
Fraser
on 06 Feb, 2021 17:27
-
+1 for a Shorty kit
Fraser
-
#7 Reply
Posted by
Johnny10
on 06 Feb, 2021 17:31
-
Yes,
would make a great kit!
-
-
here are some picture of the shorty with display, external and internal.
-
#9 Reply
Posted by
zoltanh
on 09 Feb, 2021 18:18
-
I hope it is fine adding something to the subject. If it is not, I apologize.
This is my shorty. I altered the schematics and use MCP601 at voltage supply of 5v, and Arduino Nano. I setup the current level for measurements at 25.5 mA, and gain of op-amp at 27.45. I have attached a picture of PCBA (THT) with LCD (I2C) not attached to it and SMD PCB on which I plan to change supply voltage at 3.3V using 3 diodes in series.
I am impressed by this device's performance and stability at 2 milliohms resolution. It produce audible differences at changes of few milliohms and together with display and a LED I added, which is in synchronism with the buzzer, it is very nice tool to work with. I did not use 4 wires connections as I subtracted the resistance value of wires into calculations. At the end for locating a short circuit I like mostly it to be setup for a range up to 1.5 ohms. I checked this simple construction against an industrial milliohm meter in measurements and I am impressed by its performance, not speaking about visual and audio aid it brings with.
Below I included one of sketches just as an example how simple it is, in my case. It does not include LCD subroutine. I list below the code as it is short.
//by Zoli on Jan 2021
const byte sensorPin = A5; // select the input pin for sensor
int buzzer = 6;//audio output
int led = 13; //signal led
long sensorValue = 0; // variable to store the value coming from the sensor
int pnp = A3; //transistor base
float voltage;
float voltagei;
float ohm;
int j;
void setup() {
Serial.begin(9600);
analogReference(INTERNAL);//using internal 1100mV reference
pinMode(sensorPin, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(pnp, OUTPUT);
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(pnp,LOW);
digitalWrite(led, HIGH);
for (int i=0; i < 20; i++) {
sensorValue = sensorValue + analogRead(sensorPin);
}
sensorValue =sensorValue/20;
voltage = ((sensorValue * 1100)/1024 );
voltagei = voltage / 27.45;
ohm = ( voltagei/25.5) - 0.05;
// print out the value you read:
Serial.println(ohm,5);
//Serial.println(voltage , 5);
//Serial.println(voltagei , 5);
//Serial.println(sensorValue);
delay (2);
if (ohm <1.5){
// change the analog out value:
digitalWrite(buzzer, HIGH);
analogWrite(6,( 4500*ohm));
digitalWrite(led, LOW);
// stop the program for <sensorValue> milliseconds:
j = 1/(.1*(ohm));
delay(j);
}
// noTone(6);
analogWrite(6, 0);
delay(10);
}
Please, let me know if you have any recommendations. I am not an expert in Arduino programming.
-
-
some work in progress ...
-
#11 Reply
Posted by
zoltanh
on 09 Feb, 2021 19:33
-
Very nice. I like it.
-
-
I have attached a picture of PCBA (THT) with LCD (I2C) not attached to it and SMD PCB
I don't see this picture ? can you post a picture with some measurment on the lcd please ?
-
#13 Reply
Posted by
zoltanh
on 09 Feb, 2021 19:52
-
I did not upload the picture with LCD attached as I had not an available one and I borrowed one from other device and the setup was temporarily and I did not take the picture at the time. I ordered a LCD and in one or two days will arrive and then I will post the pictures with measurements.
-
#14 Reply
Posted by
zoltanh
on 10 Feb, 2021 19:18
-
I remade the temporary LCD setup and made this short movie.
This is the link:
https://youtu.be/kG4-mmwKYAEI uploaded herein a picture of 1 ohm resistor' s measurement.
-
-
this white lcd is really nice, very bright and readable.
-
-
this is my work of the day.
-
#17 Reply
Posted by
natman69
on 10 Feb, 2021 21:16
-
I think the final design will be really really good
-
#18 Reply
Posted by
zoltanh
on 10 Feb, 2021 21:18
-
Super!! Very nice! I hardly can wait to see your project.
-
-
new work. implantation seems final. now the routing.
-
#20 Reply
Posted by
Fraser
on 11 Feb, 2021 21:05
-
Looking very nice
Fraser
-
#21 Reply
Posted by
BrokenYugo
on 12 Feb, 2021 04:53
-
I really needed one of these a few months ago, nifty idea. Might have to build one just to find the shorted part I gave up on finding.
-
#22 Reply
Posted by
delfinom
on 12 Feb, 2021 13:30
-
Neat. More elegant than just attaching a 15A supply to a rail and waiting for the glow.
-
-
Neat. More elegant than just attaching a 15A supply to a rail and waiting for the glow.
absolutely, or buying a $1000 thermal camera.
this tool should not cost more than $20
-
-
some work in progress ...
I would be interested in a kit if you decided to make one available
Please let us know if you decided to do a kit for this project
Thanks
-
#25 Reply
Posted by
natman69
on 16 Feb, 2021 10:22
-
@kripton2035
Which connector are you thinking to use for test leads?
Can I suggest to add a led for battery charging status?
Really thank you for sharing your project!
-
-
the connector for the probes is a 5 pins DIN (I use a lockable model but a normal one should be fine)
there is already a gauge on the top right of the display to indicate the battery level. no need for a led !
-
#27 Reply
Posted by
Miti
on 16 Feb, 2021 14:03
-
I would suggest soldering the wires directly to the PCB to avoid contact resistance issues and reduce the BOM.
I'm interested in this project.
-
-
if you don't want to use the din plug, you will of course be able to soldier the wires directly on the pcb. no problem.
but the actual prototype made with "deadbug" style is already so stable that I don't think it's necessary.
and I want to be able to change the probes from simple multimeter to tweezers to kelvin.
-
-
It does not include LCD subroutine. I list below the code as it is short.
//by Zoli on Jan 2021
const byte sensorPin = A5; // select the input pin for sensor
int buzzer = 6;//audio output
int led = 13; //signal led
long sensorValue = 0; // variable to store the value coming from the sensor
int pnp = A3; //transistor base
float voltage;
float voltagei;
float ohm;
int j;
void setup() {
Serial.begin(9600);
analogReference(INTERNAL);//using internal 1100mV reference
pinMode(sensorPin, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(pnp, OUTPUT);
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(pnp,LOW);
digitalWrite(led, HIGH);
for (int i=0; i < 20; i++) {
sensorValue = sensorValue + analogRead(sensorPin);
}
sensorValue =sensorValue/20;
voltage = ((sensorValue * 1100)/1024 );
voltagei = voltage / 27.45;
ohm = ( voltagei/25.5) - 0.05;
// print out the value you read:
Serial.println(ohm,5);
//Serial.println(voltage , 5);
//Serial.println(voltagei , 5);
//Serial.println(sensorValue);
delay (2);
if (ohm <1.5){
// change the analog out value:
digitalWrite(buzzer, HIGH);
analogWrite(6,( 4500*ohm));
digitalWrite(led, LOW);
// stop the program for <sensorValue> milliseconds:
j = 1/(.1*(ohm));
delay(j);
}
// noTone(6);
analogWrite(6, 0);
delay(10);
}
Please, let me know if you have any recommendations. I am not an expert in Arduino programming.
Can I ask you when will you post the code for the display
Thanks
-
#30 Reply
Posted by
zoltanh
on 20 Feb, 2021 19:00
-
In couple days. I am busy these days.
-
#31 Reply
Posted by
cybermaus
on 23 Feb, 2021 06:50
-
Never heard of a shorty, but that looks very useful.
-
-
-
#33 Reply
Posted by
masterx81
on 26 Feb, 2021 15:01
-
Did you plan to made some pcb's? I'm interested
-
#34 Reply
Posted by
Fraser
on 26 Feb, 2021 15:12
-
+1 on buying a PCB (populated or unpopulated) if made available
Fraser
-
-
of course I'm building a pcb right now. but it's not ready, I will make and order 10 by a chinese pcbmaker, test it, and then sell the surplus.
after that if any more interest I will sell more pcb even see if a (smd-only) populated one has interest ?
anyway it has some interest for me only if I can win some small amount of money with it.
if it is to compete with industrial chinese people making it by millions like the famous transistor tester it's not for me !
-
#36 Reply
Posted by
natman69
on 26 Feb, 2021 18:30
-
Me too! + 1 on buying a PCB (SMD populated or unpopulated).
Thx
-
#37 Reply
Posted by
cybermaus
on 26 Feb, 2021 20:28
-
Yeah dude. Depending on the price, I may take two PCB, so I can mess one up.
Question: you think it is possible to hook up the pre-op-amp probe voltages to some A/D pins of the Arduino?
Or would that disrupt the precision too much?
I am thinking, first put the inputs to high-Z, so you can measure shorty resistance.
If the measurement is out of the high-precision A/D range, then with code we could check arduino A/D and check for typical diode/NP voltage and give a "diode good" beep.
Or, if the arduino is fast enough, even check for rising capacitor voltage.
Cause thats what we always do right. Check for shorts, diodes and ceramic capacitors
-
-
Question: you think it is possible to hook up the pre-op-amp probe voltages to some A/D pins of the Arduino?
Or would that disrupt the precision too much?
don't know. something to try.
-
#39 Reply
Posted by
cybermaus
on 27 Feb, 2021 08:25
-
Well, thought about it a bit better, and of course it is not possible with the 82-2-1 ohm probe resistor network. It will never reach the required 1V probe voltage.
To make that work, you'd have to change the 2 ohm in the middle, or even hi-z it, an I am pretty sure that makes it an entire new front end, not merely a "just measure the voltages" mod.
So just KISS, and make it a great short finding device.
-
#40 Reply
Posted by
msquared
on 27 Feb, 2021 17:33
-
+1 for a PCB, populated or bare.
Thanks!
-
#41 Reply
Posted by
BobBeBob
on 01 Mar, 2021 21:32
-
me too,
-
#42 Reply
Posted by
BroMarduk
on 04 Mar, 2021 07:11
-
Yeah dude. Depending on the price, I may take two PCB, so I can mess one up.
I'm in the same boat as cybermaus and would purchase a few to play with as well.
-
#43 Reply
Posted by
nicknails
on 04 Mar, 2021 15:03
-
+1 for buying!
-
#44 Reply
Posted by
zoltanh
on 04 Mar, 2021 23:49
-
Here is a version of code including LCD. Attention: I had an exotic old customized LCD 2X20, some MIDAS brand with ST7036 controller. You must replace/include appropriate libraries for your LCD.
I built several versions of code as I kept schematics with one OpAmp either MCP601 or MCP6041 and using ADC of Arduino, doing conversion on 10 bits as it is below code or more, ie 16 bits, by oversampling in order to keep it simple and cheap. I reduced the number of digits to 4 instead of 5.
I am really very satisfied with results. I tested it in several conditions and always it was very easy to locate the short helped by readings, sound and led light. Also, the accuracy is quite impressive with 4 wires probes.
I attached a picture with one of prototypes.
//by Zoli on March 2021 version 12
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/eeprom.h>
#include <stdint.h>
#include <EEPROM.h>
#include <util/delay.h>
//this code section I found out on the arduino forum
#define FASTADC 1
// defines for setting and clearing register bits
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif
double sensorPin = A1; // select the input pin for sensor
int buzzer = 9;//audio output
int led = 8; //signal led
long sensorValue = 0; // variable to store the value coming from the sensor
long real_sensorValue = 0;
int pnp = A3; //transistor base
float voltage;
float voltagei;
double ohm;
double real_ohm;
double ohmCal;
int address = 0;
byte value;
unsigned int button_delay; // to detect long press of the button
double vRef = 1070;
#define VERSION "1.X"
#define BUTTON 11
#define EEPROM_OHMCAL_LOCATION 16
#include "ST7036.h"
#include "LCD_C0220BiZ.h"
#include <Wire.h>
#include <inttypes.h>
ST7036 lcd( 2, 20, 0x78 );
uint8_t rows = 2;
uint8_t cols = 20;
void setup() {
Serial.begin(9600);
analogReference(INTERNAL);//using internal 1100mV reference
pinMode(sensorPin, INPUT);
pinMode(buzzer, OUTPUT);
pinMode(pnp, OUTPUT);
pinMode(led, OUTPUT);
pinMode( BUTTON, INPUT_PULLUP);
lcd.init(); // Init the display, clears the display
lcd.clear ();
lcd.setCursor ( 0, 0 );
lcd.print("Sa ai o zi buna!"); // Classic Hello World!
delay(2000);
eeprom_read_block(
(void*) &ohmCal,
(void*) EEPROM_OHMCAL_LOCATION,
sizeof( ohmCal ) );
if (FASTADC) {
sbi(ADCSRA,ADPS2);
cbi(ADCSRA,ADPS1);
sbi(ADCSRA,ADPS0);
}
noTone( buzzer);}
void(* resetFunc) (void) = 0;
double calcREZ()
{
for (int i=0; i < 20; i++) {
sensorValue = sensorValue + analogRead(sensorPin);
}
sensorValue =sensorValue/20;
voltage = ((sensorValue * 1100)/1024 );
voltagei = voltage / 27.45;
ohm = ( voltagei/25.5);
return ohm;}
void loop() {
value = EEPROM.read(EEPROM_OHMCAL_LOCATION);
Serial.print(EEPROM_OHMCAL_LOCATION);
Serial.print("\t");
Serial.print(value, DEC);
Serial.println();
delay(100);
digitalWrite(pnp,LOW);
digitalWrite(led, HIGH);
//Procedure found out on forum
if (digitalRead( BUTTON) == 0) // check D11 button state
{
noTone( buzzer);
lcd.clear();
lcd.setCursor ( 0, 9 );
lcd.print("COMPENSATION");
delay(400);
button_delay = 0;
while ((digitalRead( BUTTON) == 0) && (button_delay<10))
{
button_delay++;
delay(120);
}
if (button_delay>5)
{
lcd.clear();
lcd.setCursor ( 0, 8 );
lcd.print("ZEROING PROCEDURE");
delay(2000);
ohmCal = calcREZ();
//writing calibration value into EEPROM so we don't have to calibrate on restart
// store calibration value in EEPROM
eeprom_write_block(
(const void*) &ohmCal,
(void*) EEPROM_OHMCAL_LOCATION,
sizeof( ohmCal ) );
lcd.print(" done!");
lcd.setCursor(0,1);
lcd.print("saved to EEPROM");
delay(500);
}}
ohm = calcREZ();
real_ohm = (ohm - ohmCal)*1.15;// correction factor precision class
if (real_ohm<=0) real_ohm = 0;
// print out the value you read:
//Serial.println(ohm,5);
//Serial.println(voltage , 5);
// Serial.println(real_sensorValue , 5);
Serial.println(real_ohm , 5);
delay (10);
if (real_ohm <1.5){
float ftone = -800 + (4000 +800)/(1 + pow(real_ohm,0.66));
//float ftone = 4500*real_ohm;//can replace above tone (resistance value) convertor
tone( buzzer, ftone);
lcd.clear();
lcd.print ("Resistor measurement");
lcd.setCursor ( 1, 0 );
lcd.print ("Value = ");
lcd.print (real_ohm,4);
lcd.print (" ohms");
delay(200);}
else{noTone( buzzer);
lcd.clear();
lcd.print ("Resistor measurement");
lcd.setCursor ( 1, 0 );
lcd.print ("Value > 1.5 ohms");
delay(200);}
if (real_ohm <1.5){if (real_ohm <0.00001){
lcd.clear();
lcd.print ("Resistor measurement");
lcd.setCursor ( 1, 0 );
lcd.print ("Value = ");
lcd.print (0.0000,4);
lcd.print (" ohms");
delay(5000);
lcd.clear();
lcd.print ("Acesta este scurtul");
delay (1000);
resetFunc();
}
} }
-
#45 Reply
Posted by
zoltanh
on 16 Mar, 2021 23:32
-
Few pictures with the last case design, 3D printing. The schematics and PCBA are without changes versus the previous versions. PCBA is made with SMD components and as I said the schematics is inspired from Shorty but has some important changes and I am not using an additional ADC. I used 4 wires probes and there is a compensation/calibration procedure. Actually, you compensate the resistance of tip up to its solder point to wires. The probe wires are directly soldered on PCB and I opted for power supply through Arduino's USB from charger or power bank.
I calculated the cost with components I bought from TME and is almost 40 euro with PCB made in house - ready made laminate with UV photoresist - by photo transfer method. Probably with components from China and large ordered quantity of pcb to a manufacturer the cost is 1/3 of this one but the lead time of 2-3 months is overkilling.
I would be able to build 4-5 pieces/week with components from TME but I do not think is any interest at price of 50-60 Euro/piece.
I already found out short-circuits on several multilayered PCBA in just few checks. It is a very efficient tool for locating the short-circuit, and the accuracy in comparison with the professional/industrial milliohmeters with which I checked is difficult to explain.
-
-
with the integrated 10b adc you can have sufficient resolution to find shorts, you need to be below 1mΩ to find the short precisely.
you can play with the adc amplification factor to get this right. but you loose the highest value you can measure at 400mΩ max.
with the 18b adc I use, I can go from 10µΩ to around 3.5Ω that's a far better for the use of finding shorts.
and by the way I added a new digit to the display, to read the 10µΩ and it is still quite stable reading !
on my prototype it's quite amazing .
and the pcb are coming from china, slowly I confess. but as it is a hobby work, I'm not in a hurry.
-
#47 Reply
Posted by
zoltanh
on 17 Mar, 2021 10:49
-
Your schematics is much better but also complex and based on TME prices you must add some 4-5 Euro to the cost. However, I like very much your solution and construction, and if you remember when I started to design/build my circuit you have been the first person I asked about opinion regarding shorty as at that time you built the original shorty. Also, I got inspiration of exponential tone function from you as initially I have tested several solutions which worked satisfactorily but I liked more your solution.
I opted for fast conversion and oversampling and I can go up to 1.8 ohms and down to 10 microohms accurately and stable and it seems to me it is perfect for locating the short in efficient and effective and quick manner.
After first three versions I gave up to five digits after comma as you gain little bit more speed and stability and make no difference in comparison with four digits in finding the short circuit.
I have seen at somebody from Russia a schematics of milliohmeter just with MCP 3421 without opamp and it seems also quite ok. On other hand I believe Scullcom used also oversampling with external ADC and opamp on his milliohmeters, I do not remember exactly as at the time I have seen his work I was not interested in milliohmeter subject.
Industrial made PCB are much nicer as aesthetic and easier to hand soldering as pads are tinned and isolated by soldermask.
-
-
I left the possibility to use the internat 10b adc in my schematic, the aop output goes to the arduino and the mcp3421.
if someone don't have or does not want the 18b adc he can still use the same pcb.
-
-
I was thinking of inverting the arduino and the display, because without that the display is too high on the box.
what do you think ?
-
#50 Reply
Posted by
cybermaus
on 29 Mar, 2021 20:16
-
Not sure I see the difference with your earlier rendering?
And both of these renderings are the same?
But while indeed I think the display is rather "north" and not very centered, I do not think it is very important either way.
As long as it works.
Also, if you want the display a little more centred on the box,you could place the 9V battery on the other side.
-
#51 Reply
Posted by
nikifena
on 01 Apr, 2021 09:37
-
Nice project! Thanks for sharing.
Just a few ideas. What about adding an input protection circuit - two back-to-back 5V Zener diodes or unidirectional TVS?
In order to reduce the HF noise what about a 100pF capacitor across R7 and R8 and for better HF DC filtering 100nF across C3.
And more. Using off-the-shelf battery chargers with a USB port it could be done with a li-ion battery. Here is a good example:
https://www.aliexpress.com/item/1005001466320793.html
-
#52 Reply
Posted by
nikifena
on 02 Apr, 2021 07:12
-
Hi everyone again.
I was thinking about how to improve the project, so here are my ideas:
1. Switching to tactile switches for powering and all other functions. Using 12mm tactile switches with caps has a few benefits - they sit well next to the display and the height is good to fit everything into a box. Also, having an electronic power on, there could be integrated auto power off. Two switches can be used for four different things:
SW1 short press - on/off
SW1 long-press - mute
SW2 short press - relative mode
SW2 long-press - calibration
Auto power off after some time 30-60seconds when the tester is not used.
2. Adding a lithium battery with a built-in charger and battery protection - usually, there are cheap PCBs from Aliexpress and they could be used here in order to make the project simpler. I realized that there is not necessary to have a 5V boost circuit. The voltage from a single battery can be used directly to power the Arduino and the display board. Only the current source left, so I suggest using a precision reference voltage with an enable pin. I found LT4120 as a good solution. There is a version with 2.5V output. Just an extra transistor will increase the current capabilities. A precision voltage source will improve the stability and the readings too.
3. Adding relative mode. There are two ideas:
-A classic relative mode - Just connect the probes to the circuit and press the relative mode to zero the reading or
-First select relative mode, then connect the leads to the circuit. When the value reading is stable, a beep indicates that the relative mode is used. In this mode, when a low value is measured, two fast beeps could indicate that for faster short finding.
4. Increasing the range of the unit. This could be done for the next revision of the unit. Switching some resistors could do that. There could be two more ranges - micro ohm range and ohm range (up to 100 ohms for example) The ranges could be automatically selected.
I've been working as a PCB designer for the last few years, so I'm happy to do a good-looking PCB. I can't modify the code, so I will be happy if kripton2035 will agree to improve the whole project.
I will put a schematics idea soon.
-
-
Everybody is free to do what they want with this project, that's why I published it.
so you can have a li-ion charger if you want. I prefer a simple 9v liion battery because I have plenty of them.
I HATE auto power off systems because they NEVER really switch off. and when you need the device that sat in a drawers for some time, the battery is flat
this never happens with a good old mechanical switch.
I'm already thinking at REL mode and greater range, but as you said it will be for the next release.
-
-
anyway your idea of moving the din plug and the arduino to the bottom to have room for the display and button is very nice. adopted !
-
#55 Reply
Posted by
nikifena
on 02 Apr, 2021 22:35
-
Dear kripton2035, the auto power-off circuit is not leaky and won't suck the battery. Both MOSFETs are off when the circuit is off and there is no leaky path.
For the current path resistors, I choose 2512 footprint for R2 and 1206 for the 1R resistors. The bigger resistors have higher thermal mass to keep the resistor temperature more stable over time keeping the readings accurate. I added some diode protection for protecting the frontend circuit.
The ADC is pretty good and it has a build-in PGA (programmable gain amplifier) of up to 8x gain which could be used for increasing the range of measured resistance. In this case what about reducing slightly the gain of the differential amp to 10?
Any recommendations are welcome
Niki
-
-
nikifena
Can you please show the other end of DIN 5 connector
and
I am not understanding the USB connector wiring what USB charger are you connecting to this device
( have done a lot USB charger devices [ and battery bank packs ] and have never seen one wired this way )
( most of the time the two center pins [ are shorted together or there is a resistor network ] on a USB charger are for sensing the charging current for the device that is plugged in so this where I am confused about what you have done here )
Are U2 U4 and U5 are suppose to be connected together because I am a little confused here as well
Please do not take what I have pointed out here the wrong way I am just trying to understand what you have here to understand how it is wired together and be able to troubleshoot this device if should ever have to
Thanks
-
#57 Reply
Posted by
Kean
on 04 Apr, 2021 15:07
-
I am not understanding the USB connector wiring what USB charger are you connecting to this device
( have done a lot USB charger devices [ and battery bank packs ] and have never seen one wired this way )
( most of the time the two center pins [ are shorted together or there is a resistor network ] on a USB charger are for sensing the charging current for the device that is plugged in so this where I am confused about what you have done here )
For charging nikifena mentioned above about using an off-the-shelf "cheap PCBs from Aliexpress" so I assume the USB Charger component is meant to be one of those.
Are U2 U4 and U5 are suppose to be connected together because I am a little confused here as well
Yes, they all share the I2C bus using the labelled SDA and SCL nets. Oh, he called it "SLC "...
One thing I don't like in the posted schematic is the 2x1k constant load on the battery even when powered off. It would be better the place that divider on Vcc and only sample it when Q1 is enabled, or even better duplicate the Q1/Q2 high side switch circuit off another GPIO to only supply the divider while reading the battery ADC value (less than 1ms).
-
-
prototype pcb ordered.
last pcb view is below.
-
#59 Reply
Posted by
Maximilian
on 04 Apr, 2021 17:02
-
Some time ago I built the same project from the same HackADay article with a Liion battery and it's really nice to have.
It's very handy to have to quickly find shorted capacitors and it has saved me quite some time.
The only problem with it is that the battery discharges quite quickly, I hope this can be solved.
Looking forward to building the upgraded EEV version.
-
#60 Reply
Posted by
nikifena
on 04 Apr, 2021 17:08
-
Dear Kean, thanks for the notes! You are absolutely right, the battery level calculator 1k divider resistors must be connected after the soft power switch. This divider could be made by 27k resistors since they exist in the current BOM. And yes, the I2C pin must be SCL. kripton2035, the clock and data pins on the Arduino are reversed on your schematics.
And more.
What about removing the current precision opamp gain stage and using only an ADC with built-in PGA with a variable higher gain. There are a couple of up to x128 gain ADC's with 24-bit resolution. The marked in blue MAX11270 and CS1237 are my favorites for now. What is necessary: fast readings with more digits
Anyone with programming skills to write/modify the code?
kripton2035, your design looks better now.
sam_sam_sam, There are cheap PCBs from China with a USB-C connector, a battery charger IC and battery under and over-voltage protection too. Here is a quick example:
https://www.aliexpress.com/item/1005001581000751.htmlThe DIN5 connector has a kelvin wiring to the probes as shown.
Niki
-
-
The only problem with it is that the battery discharges quite quickly, I hope this can be solved.
Looking forward to building the upgraded EEV version.
I never recharged the 9v battery I use for the prototype since the beginning of this project. hours if not days of use really.
yes. it is a mechanical switch, I prefer them to any "auto off" methods that never really off the power for that main reason.
-
-
-
#63 Reply
Posted by
de_light
on 08 Apr, 2021 08:48
-
What about removing the current precision opamp gain stage and using only an ADC with built-in PGA with a variable higher gain. There are a couple of up to x128 gain ADC's with 24-bit resolution. The marked in blue MAX11270 and CS1237 are my favorites for now. What is necessary: fast readings with more digits
Niki
I like the idea of your suggestions! Any chance you can release the schematics/gerber files on a Github or something so others can collaborate?
-
-
I've implemented 6 digits to my shorty prototype. 10µΩ resolution. with 16 bits and pgax8.
but it's not stable. only the 5th digit is ok. this is not a precision instrument. not sure if 24 bits will add a lot of usability.
you may have to change a lot of other parts of the design to achieve it.
-
#65 Reply
Posted by
cybermaus
on 08 Apr, 2021 16:00
-
You have my support @kripton2035. Stay the course, lets get a few 5 digit ones in actual use before we start over complicating based on paper specs.
-
#66 Reply
Posted by
masterx81
on 28 May, 2021 09:33
-
Any news about this?
Had to repair a notebook with a ceramic mlcc cap shorted at 1.6ohm and i really tought that with shorty it would have taken much less time to spot it instead of constantly watching the display of the milliohm meter
That sort of work that you do not too often but when you have to check dozens of caps on a mainboard can be really annoying.
-
-
I've received the pcb's.
had to deal with a voltage regulator mcp1755s not working at all when in parallel with the arduino regulator. this took quite some time to figure out.
rebuild the code to have a simple calibration procedure: you measure 0 ohm and 1 ohm and the calibration is done.
now I only have some instabilities that are not on the prototype ( ! ) that makes the measure instable at "high" ohms
you can measure in theory up to 7 ohms
I also changed the constant current (that was not one) with a zener.
we are almost there. will make a demo movie soon.
-
#68 Reply
Posted by
masterx81
on 28 May, 2021 10:09
-
Good job!
Quite interesting that on the prototype with flying wires on proto board all was stable, and with a proper pcb with good ground plane not
In the mantime i need to source an accurate 1 ohm reference
Most of the shorted things that i've found were under the 7 ohm (only few in the 30ohm range), so must be a good value.
-
-
-
#70 Reply
Posted by
DavidAlfa
on 28 May, 2021 10:31
-
This is very interesting. I looked at these DIY options last year, but hadn't time for that.
I have 4 digit decimal resolution DMMs at work (ex. 0.2145Ohms) which are great at tracing shorts, although very slow (1 reading/sec or even less when set in max precision)
However these are $$$$ expensive, I was searching something for myself, for hobby use.
I bough a $2 DT830G DMM to play with, aiming to modify it by adding an op-amp, so the 200 or 2Kohm scale become mOhms.
I'll update if I get enough accuracy out of it! It'll probably be crap but who knows
-
#71 Reply
Posted by
AndrewBCN
on 17 Sep, 2021 11:13
-
Great project, and the Arduino code is very well written, really an example of how to write clear, easy to maintain code. Thank you for sharing!
-
-
I have a pending update for the code, where I auto-measure the probes values at short and 1Ω value to auto calibrate the device...
will be there ... soon. stay tuned.
-
#73 Reply
Posted by
jaromir
on 17 Sep, 2021 12:49
-
Hello guys, I'm the author of the original project on hackaday.io
It was quick one evening work before contest deadline, serving as backup project in case the main one would have a problem. More of a toy than proper tool.
I must admit I'm delighted to see somebody found it useful and stunned by how far you brought the development, turning my quick and dirty hack into useful gear. Great job!
-
#74 Reply
Posted by
cybermaus
on 17 Sep, 2021 15:32
-
So. Is anyone already selling kits? Or ordered a bunch of PCB and have 2 to spare?
-
-
sending good with a value from france to outside of europe (even into europe) has become a pain in the a** since january 2021 and new EU VAT rules.
it will be easier for me, and cheaper for everyone, to sell a gerber file of the pcb, and people ordering 5 pcb from jlcpcb or like.
instead of me collecting many pcb's and sending them one by one to the world.
-
#76 Reply
Posted by
masterx81
on 17 Sep, 2021 16:03
-
I'm in Italy, maybe it's easier to send
-
-
When are going to make the board file available for sale with the complete source codes and a complete part sheet
Thank you for all your work on this project
-
#78 Reply
Posted by
Kean
on 01 Oct, 2021 11:31
-
it will be easier for me, and cheaper for everyone, to sell a gerber file of the pcb, and people ordering 5 pcb from jlcpcb or like.
You could use PCBWay SharedProject system which allows sharing a design for easy ordering with a (small) commission going to the designer (and I think without sharing the gerbers).
Or... I suspect a better solution is just to share the gerbers and set up a way receive small donations. Some people will certainly abuse it (like some ebay sellers), but others will be happy to donate and it also doesn't penalise those less fortunate.
Either way, you aren't likely to make a great deal of money from it unfortunately.
-
-
Either way, you aren't likely to make a great deal of money from it unfortunately.
I was already aware of that !
I've already published the schematic and code on my web site, it's free for anyone wanting do make a little effort in building it with protoboard or else.
a working pcb is quite some more work, and I did it for "glory" so I expect to get some money from it, even if little.
-
#80 Reply
Posted by
Mikka
on 16 Jun, 2022 14:15
-
Hello guys, Hello Kripton,
Is there any progress with device or code ?
Just collecting all necessary components to build one "shorty" also, so would like to know if you guys found some flaws or problems or you can suggest some improvements. Thank you.
-
-
sorry lots of work with other projects. this shorty has been put on the side for some time now...
-
#82 Reply
Posted by
slbender
on 19 Jun, 2022 11:17
-
sorry lots of work with other projects. this shorty has been put on the side for some time now...
Somehow I think there is a market of at least 100 units for over 300 people have viewed a lot of the photos posted. Myself, I would just want something that either I can solder and complete in less than two hours, to a working product, or a complete wired unit with both audio and display.
Being hard of hearing since a child, the audible part may be of little use for me, but the display should have as much resolution as possible. I have an older 2 digit “Dick Smith” ESR meter, and a “Cap Wizard” analog meter, these shorty implementations seem to serve a whole other set of needs, just as a function generator, a frequency counter, and an oscilloscope work in conjunction. I would think these “shorty” units as much like a cross between the $20. Chinese transistor L/C/R tester’s, and a poor man’s Huntron Component Tracer/Curve Tracer.
Obviously several people have done interesting and excellent work on this over the past 18 months, so there are likely a few units gathering dust in a pile, or falling off the edge of a workbench, that could well serve the purpose of someone with half a dozen Windows X86 notebooks and MacBooks in assorted states of failure and decline, as well as other items in need of repair. So while working on your later and greater versions and revisions, LMK of a working unit either listed on evil bay, or ready to ship out to New York, thanks!
Steven
-
#83 Reply
Posted by
FlightMech
on 26 Jun, 2022 15:43
-
I am also interested in purchasing two of the PCB's or the gerber file to have some made as you discussed as a possible option.
A version with SMD's would be wonderful. Nicely designed.
I like your coding style. Elegant!
-
#84 Reply
Posted by
jdobry
on 17 Jul, 2022 08:53
-
Hi all!
I want to refresh this toppic, because I am trying to redesign this tool. Replace Arduino by STM32G030F6P6, replace power source from 9V battery to 2*AAA, make it handy like a pen with wire tail, completely in SMD. It also have electronic power switch with ability to power off on inactivity.
It could be powered from anything between 0.9V~3.3V (2*AAA is perfect compromise. Small enough and will not have problem to provide ~50mA for measure current)
Pen like case will be 3D printed.
Now I have working prototype with incomplete SW (for ex it not have propper beeper).
This is something like reques for comments, I plan to publish it in 1-2 months.
Video demonstration
https://youtu.be/Kq8dAxyf5MA (sorry for the czech comment, but it not need any comment. It just works)
Schematics
https://drive.google.com/file/d/1Hv3r33Petv981_9jP7f_VT0lKGmp4XNd/view?usp=sharingAnd some pictures
https://photos.app.goo.gl/9pkDtEAfapqZDasC6Note about battery state measurement. On scematic there are two options.
- R26 - direct connection to battery. This design have minor problem with current leak thru R26 into pin of unpowered MCU
- U7+R24 to cut-off battery from MCU completely
After tests I am using option 1. (R26). Current from battery on power-off state is ~0.5uA (whole device). It is acceptable. Measure error caused by high impedance of R26 is ~3.5% and it could be compensated by SW. It is more than enough for battery indicator.
-
-
very nice and compact design, I like it !
-
#86 Reply
Posted by
nikifena
on 17 Jul, 2022 15:20
-
Nice PCB. Just wondering what is the function of the signal going to PA2 since there is a 18bit ADC there?
-
#87 Reply
Posted by
jdobry
on 17 Jul, 2022 18:12
-
I am using both ADCs.
External in 16bit mode to get 15 SPS in Continuous Conversion option.
It is fine for the high precisison measurement, but little bit slow for fast scan. I planning to implement "fast" reaction mode, to search where is second end of some wire on the PCB or cable.
This don't need precision, but fast reaction. And internal ADC is lot faster. That is all.
Due to same reason, this input have faster RC filter on input.
-
#88 Reply
Posted by
jdobry
on 09 Aug, 2022 10:53
-
First useful version of the my software.
Video have only czech comment (sorry), but I thing that any comments aren't necessary.
TODO list:
- SW - fast response mode = use internal MCU ADC to detect touch and extent "beep" to 100ms minimum to find second end of any wire
- SW - use internal ADC to measure in 3.5 ~ 10 ohm range (lower precision)
- SW - mode to use "humming" sound intead "tone"
- HW - 3D printed case
- publish it.
-
#89 Reply
Posted by
PeterSpie
on 07 Nov, 2022 18:39
-
Hi all,
I have ordered the parts for the Shorty created by @kripton2035.
Now I have one (maybe stupid question, but I really don't know): how do I connect the 5V which is in the schematic?
I only see 9V which is connected to the battery, but the 5V?
Regards, Peter
-
-
+5V is made by the arduino.
you input 9v on the Vin pin of the arduino, and there is a 5v regulator and you get the +5V on ... the +5v pin !
-
#91 Reply
Posted by
PeterSpie
on 07 Nov, 2022 18:56
-
Thanks!
Learning every day!
When I finish my version of the short I will post the result, and then I want to start with a PCB en case.
Regards, Peter
-
#92 Reply
Posted by
PeterSpie
on 08 Nov, 2022 12:53
-
I am building a BOM (Bill Of Materials) but it not easy to get all the parts from one shop, and I doubt if can get it for less than $20,-
One (for now) last question: I see 5 wires go to the probes. I understand 2 wires per probe. What about the fifth wire (ground). Where do I connect that one?
Regards, Peter
-
-
I used audio cables for that. two wires plus ground shield on it
so two wires goes to each probe, and the shield of the cable on the shield of the connector.
and this shield it not connected at the probe side.
-
#94 Reply
Posted by
jdobry
on 04 Jan, 2023 18:31
-
Hello,
I am finallising my work based on this project.
Enjoy it!
Here is complete data files for this project. Include schematics, PCB, model for 3D print and software as open source.
https://gitlab.com/jdobry/shortypen/Jiri Dobry
-
#95 Reply
Posted by
jdobry
on 04 Jan, 2023 18:59
-
Offer: I have 4 unused new
INCOMPLETE PCBs. As you can see on the photo.
Price is 9EUR on piece plus shipping (EU only, I don't know how to help you to pay VAT on import to foreign countries)
Next week I can have few pcs of complete units, but I don't know how many.
jdobry@gmail.com
-
#96 Reply
Posted by
ddrl46
on 04 Jan, 2023 19:36
-
Offer: I have 4 unused new INCOMPLETE PCBs. As you can see on the photo.
Price is 9EUR on piece plus shipping (EU only, I don't know how to help you to pay VAT on import to foreign countries)
Next week I can have few pcs of complete units, but I don't know how many.
I would be interested in a complete board (no enclosure required) if those were to become available.
-
#97 Reply
Posted by
clearchris
on 15 Jan, 2023 16:19
-
Amazing job. I hadn't considered it could be shrunk like this.
Totally interested in a mostly complete board, no enclosure, no oled, no probe tip. Probe tip seems like something that would get damaged or damage someone in transit. I have had the oled in anticipation of krypton's release, also seems like something that could get damaged.
I'm in the US, there is no vat/customs fee under 800 usd value.
https://usacustomsclearance.com/process/taxes-on-imported-goods/What is the De Minimis Value?
The de minimis value is the threshold at which taxes on imported goods will be charged. The U.S. has a de minimis value of $800,
meaning that imports under $800 will not be charged import duty or tariffs.
-
#98 Reply
Posted by
jdobry
on 17 Jan, 2023 21:45
-
Problem is't import, but for me is mandatory make custom declaration for anything with weight >50g
I will try it if it can fit into 50g letter.
Price will be same for version with/without case. For me it is same, because you can see on the picture semi-finished pcb. It need some mamual soldering and I can't send it without testing. Therefore you will receive preprogramed tested PCB.
Price will be 35EUR + 7EUR (shipping as 50g registered letter + bubble envelope)
Tomorrow I will post photo what you can receive exactly.
-
#99 Reply
Posted by
Martin72
on 17 Jan, 2023 22:15
-
And what about the complete pen ?
-
#100 Reply
Posted by
lux
on 18 Jan, 2023 11:36
-
Really great work jdobry. I would like to buy one. I am from Germany. Can you reserve one for me? When are you ready for shipping?
-
#101 Reply
Posted by
Miti
on 18 Jan, 2023 16:04
-
I’m interested in the assembled boards as well. See that I said boards.
-
-
Put me down for one when you get ready! Great work!
-
#103 Reply
Posted by
jdobry
on 18 Jan, 2023 19:53
-
Hi all,
I am little bit surprise by interest to buy it. Ok, I am just another hobbiist, therefor I am not able to saturate request.
This is my final inventory for this moment:
4 complete devices or just complete PCB. Price is 35EUR + shipping fee in both cases. (complete device is possible to send only to EU, PCB as 50g letter anywhere)
3 incomplete PCBs (see to this thread history)
For complete device I have reservation in this (datetime) order: ddrl46(thread), prog willem(email), clearchris(thread), Martin72(??thread), lux(thread), Natale Maniaci (email), Miti(thread), giovannirat(PM), trackersoft(thread)
And I have only 4 to sell
It will be ready to ship next week. I will respect this reservation order, but without confirmation till end of week i will accept next in order.
Contact me by PM, shipping fee depend to destination and selected shipping.
PS: 3 incomplete PCBs is still free. But I don't have components to finish it.
-
#104 Reply
Posted by
zoltanh
on 18 Jan, 2023 21:19
-
Hi,
Referring incomplete boards could you, please, list the missing components?
Thank you.
-
#105 Reply
Posted by
jdobry
on 18 Jan, 2023 21:53
-
-
-
Hi jdobry,
Thanks for your comprehensive work and the sharing of that interesting project.
May you provide some explanation on how you choose the value of L2 (6.3 nH) ?
I checked against kripton2035s schematics and the power supply on the bottom is new in the design, because I guess, of using much smaller AAA batteries. kripton2035 used a 9V battery.
I understand that U2 is a boost switcher that clocks around 2 MHz to create the '3V3' digital power supply rail.
A second filtering around L2, C1, C3 and C4 leads to the analog power supply rail labeled 'A3V3'.
The latter powers the MCP3421 which is a really low power device (typically 145µA during conversion @ Vdd = 3V) and the AD8628 whose supply is 1mA.
By using the Thompson formula, the 2nd order LPF built around L2, C1, C3 and C4 (6.3 nH and 10.2 µF) has a
calculated corner frequency of 627.8 kHz
6.3 nH is a really small value : it corresponds in air/vacuum to the inductance of a
1 mm diameter free hanging wire having a length of 1 cm.
What is the reason for keeping the corner frequency well above 500 KHz rather than setting it to a much lower value, that would filter out all of the switcher and digital noise coming from the µC, down to a few kHz ?
By changing L2s value to
47 µH (RDC= 5.8 Ohms Imax = 90 mA), which is about the biggest possible inductor value available in the 0603 size, the corner frequency becomes 7.2 kHz.
-
#107 Reply
Posted by
jdobry
on 19 Jan, 2023 19:40
-
About L2:
I want to use low resistance inductor just to reduce main noise source from step up (2MHz). I prefer low-resistance because I have bad experience with standard feritte pearls - unwanted feedback caused by variable current to power line voltage on another project.
But to be honest this value I just test and it works perfectly. You are right, selected inductor looks like piece of wire on ceramic substrate. Few additional mm of path on the PCB could made same service.
But I want to use 0603 part to allow change in problem case. I thing that "0R" resistor could work on this place too, but I don't test it.
Similar story is R17. I just want to have 0603 part on this place to define single point of connection between signal ground and main ground. A am using 0R, but i thing that 10R (for ex) will work too.
PS: all devices and PCBs are reserved or sold. For this moment I don't have plan to make more series (it is not my business, but just hobby project). I could co-operate with some company on the production, but made it manually is fine only for prototypes.
-
#108 Reply
Posted by
natman69
on 20 Jan, 2023 08:05
-
Very interesting project!
@jdobry: maybe you can manage to sell a kit of components and a pcb, making a small profit!!!
Or we can organize in this thread a group buying of all components, avoiding making multiple single orders on aliexpress.
-
#109 Reply
Posted by
jdobry
on 20 Jan, 2023 13:27
-
Buy & sell isn't technical problem for me. I can order for ex batch of 50 PCBs. Price will be less than $30 each include all parts (one side fully assembled, side with buttons and OLED in package as parts) include 3D printed case, 1m of cable etc. And sell it as DIY kit with price around $40.
But I have problem to do it legally (taxes, custom declaration, invoices, accounting etc). And of course worldwide shipping.
By my mean it need business partner in Cina a send it directly from China (they have experience and possibilities how to make this business). And I don't have trustful contacts for it.
But I thing that market for this device is too small to try something like kick starter and make business by this way.
Jiri
PS: series production can need some minor changes. For ex replace D2 by 2 diodes (BAS40-05-TP isn't available in JLCPBC SMT assembly service now), change type of Q1, change U1 by another chip (TPS7A20185PDBVR isn't in JLCPBC SMT assembly service now) and minimize parts in second side of PCB.
-
#110 Reply
Posted by
natman69
on 20 Jan, 2023 15:35
-
Hi Jdobry,
Of course, shipping worldwide is not easy. I was thinking really to a simpler plan: just count people interested in this thread and, at beginning, manage buying parts for all. You just will send to EU to avoid any custom declaration and taxes. After if you see that lot of people are interested worldwide you can think a different approach as a kickstarter campaign.
-
#111 Reply
Posted by
jdobry
on 20 Jan, 2023 17:53
-
OK, I can make group order for EU members.
Just one side SMT assembled PCB + parts for second side (buttons, beeper, OLED) + needeles + 3D printed parts. As DIY kit (I don't have production capacity)
Do you have idea how to organize it? Today I sold just 4+3 pieces and it took plenty of time to communicate with everybody, check payment, don't make mistake in addresses, etc.
I has some experience from history (we made bunch of 3D printers in group). And we are using shared spreadsheet. But it need 100% trust to anybody and it is possible only in closed group.
Jiri
-
#112 Reply
Posted by
natman69
on 20 Jan, 2023 18:53
-
My suggestion is you fix the price of the kit to cover all your costs. Shipping cost will be added after, depending on the destination country in EU.
Then wait people to ask for a kit with a PM. At a certain point, you will close the reservations. Decide also if you want collect money before ordering components or just when you will have kits ready to be shipped. Prepare a template with mandatory info for the shipping and send to all the buyers. This will help you to manage the shipping. Decide also how do you want to collect money (paypal, bank transfer, etc).
-
#113 Reply
Posted by
jdobry
on 21 Jan, 2023 09:37
-
OK. I can organize group order. In few steps:
1) fill form as reservation to count aprox batch size
2) Calculate final price (it depend to batch size). I expect less than $40 for complete DIY kit and less than $30 for PCB kit. Complete kit will be available only in EU (shipping)
3) wait for confirmation of pre-orders (pay it in advance) ~ February-March
4) shipping ~ April~May
It will be just as PCB kit (one side assembled PCB + all parts for second side) or DIY kit (PCB kit + 3D printed cas + needles + cable, only for EU)
Do somebody have better idea?
PS: I can start this after next week. Next week I need to send current batch.
-
#114 Reply
Posted by
mariush
on 21 Jan, 2023 11:52
-
Are you still using the DIN connector?
If you only use 4 pins for the leads, why not repurpose a 2x2 mini fit jr (cpu 4 pin) or 1x4 mini fit / milifit (smaller) and that would allow lower height devices and easy to crimp lead wires to the connector.
-
#115 Reply
Posted by
jdobry
on 21 Jan, 2023 12:12
-
-
#116 Reply
Posted by
lux
on 21 Jan, 2023 12:36
-
I think the idea with the two kits is great and your roadmap is good.
You should prepare some photos for each kit so everyone can see what they are getting.
I think it's really worth the money.
-
#117 Reply
Posted by
clearchris
on 26 Jan, 2023 03:06
-
I yield my spot in the initial list. I'm so slammed at work, I doubt I'll be able to even look at it for a few months. Give my spot to someone who can do something and provide useful feedback in the near term.
Hopefully I'll be able to surface and get in on the next batch.
-
#118 Reply
Posted by
Martin72
on 06 Feb, 2023 17:59
-
Thank you jdobry !
-
#119 Reply
Posted by
Martin72
on 06 Feb, 2023 21:47
-
It´s really not necessary in this case, but just for fun I´ve grabbed some Isabellenhuette precision (0.5%) shunt resistors and measured them.
0R01 : 0.0100
0R05 : 0.0499
1R0 : 1.0050
(best values when contact is "100%")
This is not bad...
-
#120 Reply
Posted by
PeterSpie
on 21 Mar, 2023 08:12
-
Hello everyone, and special hello to jdobry for buidling this great shorty pen.
I am planning on building the pen also, I have ordered the PCB's form the list on gitlab.
Now, I want to order the parts, but I can't find one vendor that has all the parts in stock.
I have checked Mouser, Conrad, RS-Online etc... etc...
There is a beautiful BOM in gitlab, but I just have problems with searching for the parts.
Is there anyone here who has found all the parts, so that shipping costs can be reduced?
Regards, Peter
-
#121 Reply
Posted by
PlainName
on 21 Mar, 2023 16:41
-
If there are multiple vendors then perhaps one could arrange a group buy so the vendor with just one part gets an order for multiples. Obviously not as good as getting everything from one place, but with enough buyers in the group it could make a difference
-
#122 Reply
Posted by
miklas
on 11 Apr, 2023 19:20
-
Hey, jdobry may I ask what are those probes? and where to buy them if I may?
-
#123 Reply
Posted by
abeyer
on 12 Apr, 2023 00:30
-
-
#124 Reply
Posted by
Ocela
on 24 Oct, 2023 07:21
-
Greetings to everyone on the forum!
Great project, jdobry! I will definitely repeat!
-
-
@jdobry: please make a new thread with your device details... this thread is for the shorty-with-display. thanks.
-
#126 Reply
Posted by
Miti
on 16 Jan, 2024 21:17
-
Hi jdobry,
Our troubleshooters liked your project so we created a 10 up panel and assembled 10 boards on the SMT line. I programmed them with v1.02.02 and everything looks good but I have an issue with the I2C communication, I think. The OLED goes crazy after some time, between few seconds and about a minute. The display and sound freeze with a broken display or not. The SW is still running because I can turn it off with a long press and it respond with a long beep. My guess is that the I2C is too fast for some OLEDs. Is it possible to slow it down a bit?
Thanks ,
Miti
-
#127 Reply
Posted by
Kean
on 17 Jan, 2024 10:40
-
Hi jdobry,
Our troubleshooters liked your project so we created a 10 up panel and assembled 10 boards on the SMT line. I programmed them with v1.02.02 and everything looks good but I have an issue with the I2C communication, I think. The OLED goes crazy after some time, between few seconds and about a minute. The display and sound freeze with a broken display or not. The SW is still running because I can turn it off with a long press and it respond with a long beep. My guess is that the I2C is too fast for some OLEDs. Is it possible to slow it down a bit?
Thanks ,
Miti
Without seeing them, I doubt the I2C bus is "too fast" or the ones Jiri made would not have worked. I guess the OLEDs could be marginal.
As a troubleshooting step, I would look at the I2C signals on a scope. That would confirm the speed and shape of the I2C signals.
But even before that, I see on the schematic that the I2C pullups are 10k which is a bit high for 3.3V. Maybe try decreasing R10 and R11 to something in the range of 3k3 to 4k7.
I haven't made any of these yet, but I am about to order some of the PCBs and parts.
-
#128 Reply
Posted by
Miti
on 17 Jan, 2024 13:24
-
I doubt the I2C bus is "too fast" or the ones Jiri made would not have worked. I guess the OLEDs could be marginal.
Yeap, another way of saying the same thing. Too fast for the OLED. He may have been lucky with very fast OLEDs, mine may be a bit slower.
I did play a bit with the pull ups, I soldered 4.7K in parallel with the 10K. First I soldered one on the SCL and the display didn't come on at all. Then I soldered on both SCL and SDA and it came back on but crashing again. I will post some scope screen shots.
-
#129 Reply
Posted by
Kean
on 17 Jan, 2024 13:47
-
I assume you must have used SSD1306 based OLEDs to be compatible. The SSD1306 is specified to support up to 400kHz I2C.
Do you have a link to the OLEDs you bought?
I'm not a fan of TZT stores on AliExpress, but was planning to buy the suggested ones at
https://www.aliexpress.com/item/32927682460.html
-
#130 Reply
Posted by
Miti
on 17 Jan, 2024 16:09
-
I assume you must have used SSD1306 based OLEDs to be compatible. The SSD1306 is specified to support up to 400kHz I2C.
Do you have a link to the OLEDs you bought?
I'm not a fan of TZT stores on AliExpress, but was planning to buy the suggested ones at https://www.aliexpress.com/item/32927682460.html
That’s where I bought from. I’m pretty sure that the SCK is around 800kHz so I may be right about “too fast”.
Edit: Added SCK scope shot.
Edit1: The start condition Hold Time is too short as well, minimum is 600ns.
-
#131 Reply
Posted by
Kean
on 17 Jan, 2024 19:55
-
@Miti OK, it looks like you might be right then and thanks for checking the signals.
@jdobry will need to look into this. His firmware must be enabling I2C Fast-mode Plus (~1MHz).
I didn't dig too deep into the code, but I saw it being enabled in the HAL defs file.
-
#132 Reply
Posted by
Miti
on 06 Feb, 2024 20:10
-
I don’t think Jiri is still maintaining this project.
I installed STM32 Cube and tried to change the I2C mode from FastModePlus to FastMode but I can’t figure out how to do that.
Moreover, the project doesn’t seem to be the latest one. I guess I’m
-
#133 Reply
Posted by
Miti
on 06 Feb, 2024 22:03
-
Ok, I’ve modified the I2C timing variables and the clock is now 400kHz but the display is still breaking. My displays may be junk or there’s something else wrong with the software.
-
#134 Reply
Posted by
Kean
on 07 Feb, 2024 10:10
-
Ok, I’ve modified the I2C timing variables and the clock is now 400kHz but the display is still breaking. My displays may be junk or there’s something else wrong with the software.
I will be assembling mine in the next week, so I will report back when I've done that.
Maybe you can share your modified firmware with 400kHz I2C?
-
#135 Reply
Posted by
Miti
on 08 Feb, 2024 13:24
-
-
#136 Reply
Posted by
Lagros
on 08 Feb, 2024 13:33
-
Try unsoldering R10 and R11 and turn it on without these resistors.
-
#137 Reply
Posted by
Miti
on 08 Feb, 2024 16:26
-
Try unsoldering R10 and R11 and turn it on without these resistors.
How would it work without pull-up resistors? What do you suspect?
-
#138 Reply
Posted by
Lagros
on 08 Feb, 2024 16:53
-
Pull-up resistors are present in OLED.
Try it!
-
#139 Reply
Posted by
Ocela
on 11 Feb, 2024 12:48
-
I don’t think Jiri is still maintaining this project.
I installed STM32 Cube and tried to change the I2C mode from FastModePlus to FastMode but I can’t figure out how to do that.
Moreover, the project doesn’t seem to be the latest one. I guess I’m
Miti, this is not enough. It is also necessary to change the frequencies inside the microcontroller buses
The pull-up resistors for the I2C bus and 3.3V voltage are not selected correctly. They should be equal to 1k. You can calculate this using an online calculator.
-
#140 Reply
Posted by
wacd
on 11 Mar, 2024 11:53
-
I built this Shorty on breadboard it works relatively good but there is one thing that i don't understand.
When i measure various shunt resistors it shows me strange results
0.0200R - 0.0189
0.0250R - 0.0245
0.0330R - 0.0333
0.0400R - 0.0430
0.1000R - 0.1100
Something wrong but i don't know what.
-
-
did you build MY shorty-with-display with arduino nano, or the "clone" with ST controller ?
the shorty-with-display is not a precision instrument, so the error is possible. it's only to measure relative to another point
also I suspect the device to change the value when it becomes hotter with time. it could change values
-
#142 Reply
Posted by
Antonio90
on 11 Mar, 2024 12:52
-
Hello, all results are within 5% tolerance, except the last one, which is 10%.
What is the tolerance of the shunts? 5-10%? Even if the resistors are 1% the results are well within expected values for a continuity tester IMHO.
-
#143 Reply
Posted by
wacd
on 11 Mar, 2024 13:01
-
I removed these shunts from laptop motherboards
There is something about the results , its like a pattern for example
-10
-5
-2
-0
+2
+5
+10
Sorry for not being able to explain myself i'm just a begginer at this kind of work and a complete stranger to the software side of the project.
-
#144 Reply
Posted by
wacd
on 11 Mar, 2024 13:03
-
Yes its your version Kripton. It's a clone nano. MCU has Atmel writing on it. 328P.
@Antonio90
All of them are %1
If i play around with these configs , i can get it to display the exact value of the resistor that i'm measuring. But when i change the resistor with a smaller or with a bigger value , it just does not measure it correctly. How can this be improved any suggestions?
-
#145 Reply
Posted by
wacd
on 12 Mar, 2024 07:56
-
Closest one is 0.025 , it measured 0.022
Others are way off and it gets worse with bigger value resistors.
-
-
so the inverse calc of the resistor is not as linear as the resistor value ? it can be...
-
#147 Reply
Posted by
wacd
on 12 Mar, 2024 08:33
-
I really have no idea about the programming side but the problem is, it displays lower value than it actually is under certain value resistor , and displays higher value than it actually is above certain resistor value. i hope i was able to explain myself with my broken English
-
-
this line could be modified to adjust to the measured values
-
#149 Reply
Posted by
wacd
on 12 Mar, 2024 08:55
-
Yea i played with those values for 2 days and got no real results , i guess i'll have to make do with what i have now.
-
-
the shorty is not a precision device. what you need to measure is two relative points to see at less than a milliohm if the resistance is lower or higher between the two points. the absolute ohm value is not important, and not to be trusted to the last digit !
-
#151 Reply
Posted by
wacd
on 12 Mar, 2024 10:41
-
Okay, thanks for the replies. I understand that it's not a precision device but it has very good components to be one, right? Maybe there is still room for improvement.
-
-
I will see if I can find the good function for the devices you measured, but the current may be not constant for the measure so that's why the value is not linear compared to the resistors.
-
#153 Reply
Posted by
wacd
on 12 Mar, 2024 20:30
-
Improvement on the software side would be good, what else can be done to make the circuit physically better than it is now? Constant current source maybe?
-
#154 Reply
Posted by
aeg
on 13 Mar, 2024 00:08
-
Make sure to null out the probes before measuring shorty_measured_res, and again before making your confirmation measurements.
If that's not good enough, change "Rx = Rx * calibration_factor;" to "Rx = (Rx + 0.039) * 0.916;" for linear two-point calibration.
-
#155 Reply
Posted by
wacd
on 13 Mar, 2024 06:32
-
I Appreciate all the inputs.
-
-
Yes I'm confident that a constant current source would improve the device accuracy...
-
#157 Reply
Posted by
wacd
on 13 Mar, 2024 15:01
-
Today i tried supplying constant 50mA from a lab power supply , removing the transistor and the following resistor network.
Results are promising. Funky readings went away but need a little more special care.
Edit: i didnt supply constant current but limit the current Max at 50ma.
-
-
you could try something like this
-
#159 Reply
Posted by
wacd
on 13 Mar, 2024 16:35
-
-
-
why not, but for me not a drawer component I have around, easier to get 2 ex of some basic silicon diode ?
-
#161 Reply
Posted by
Kean
on 14 Mar, 2024 04:33
-
How abour this CMJA5050
https://my.centralsemi.com/datasheets/CMJA5050.PDF
Did you review the datasheet for that part?
It has a 10% tolerance, takes over 10 seconds to come into regulation, and has a TC of -0.3mA/degC.
It is not a precision part, and it also seems to need a supply of 8V or so to regulate.
-
#162 Reply
Posted by
wacd
on 14 Mar, 2024 05:38
-
Okay, how do i limit the current to 50mA then?
These are the results when i use the lab psu limited at 0.05A its almost perfect.
-
#163 Reply
Posted by
Kean
on 14 Mar, 2024 11:42
-
Okay, how do i limit the current to 50mA then?
These are the results when i use the lab psu limited at 0.05A its almost perfect.
If you want precision, I would suggest changing the design to use an opamp controlled current source.
https://en.wikipedia.org/wiki/Current_source#Op-amp_current_sourcesSo, looking at the original Shorty schematic, R3 would be the sense resistor and selected for higher precision, and R1 would be replaced with a transistor controlled by the opamp. R2 and the DUT become the load. Assuming R3 stays at 1 ohm, you would need a voltage reference (the 5V or 3.3V rail may be OK) and divider to get the 50mV reference. Opamp would have to be selected for a low offset voltage.
-
#164 Reply
Posted by
wacd
on 14 Mar, 2024 12:32
-
Thank you for providing information. I'll go and spend some time on this to learn it better so i can implement it , hopefully
-
#165 Reply
Posted by
Kean
on 14 Mar, 2024 13:46
-
Thank you for providing information. I'll go and spend some time on this to learn it better so i can implement it , hopefully
If you don't have experience with opamps, then a much simpler but slightly less accurate solution would be using an LM317L as the current source (in place of R1).
You can get the 50mA using just the LM317L IC and a 25 ohm 1% or better resistor, and calibrate the final result in the firmware.
This will perform much better than that part you suggested earlier.
Note that 25 ohms is not a standard resistor value, so just use a 24.9 ohm, or parallel 3 x 75 or 4 x 100 ohm. Or some other combination like 10 + 15 ohm in series.
-
-
if you feed 50mA constant, I'm afraid you can't measure resistors above 0.5Ω
it would be better to stay with 30mA.
-
#167 Reply
Posted by
wacd
on 14 Mar, 2024 16:53
-
Oktay, Lm317L looks easy enough , i'll give it a go.
-
#168 Reply
Posted by
wacd
on 26 Mar, 2024 17:24
-
Hello again. I've been playin with the calibration settings and i think i finally arrived at a point that the results satisfy me.
Lower values are absolutely on point. It reads slightly lower value above 1ohm.
Ordered a couple mcp3421's , waiting for their arrival. The one i've set up on breadboard will stay for further tinkering.
And i made this pcb ordered from oshpark, hope it works as i'd like it to.
-
-
PCBs for JDobrey's Shorty Pen have arrived from JLPCB.
5 x PCBs for $4.00USD delivered. Crazy at how low cost they can make these.
I have sourced all my components from LCSC and waiting for them to arrive, and happy to share the BOM if people want it. It's a bit different from JDobrey's which was from 2022.
-
#170 Reply
Posted by
eliocor
on 01 May, 2024 07:25
-
I have sourced all my components from LCSC and waiting for them to arrive, and happy to share the BOM if people want it. It's a bit different from JDobrey's which was from 2022.
If possible, yes. TIA
-
-
-
#172 Reply
Posted by
Ocela
on 16 May, 2024 09:51
-
After a certain period of operation of the device Shorty Pen (frequent calibrations), malfunctions began.
1. After switching to left-handed mode and turning off the device, it is no longer possible to fully return it back.
Plus, calibration no longer works in this mode. At 8.2 Ohm the device turns off without making a sound..
The device does not turn off normally (there is no sound signal and turns off only after the button is released)
2. Also... if during calibration you press the save button with the probes open, the device freezes.
You need to turn off the device again and repeat the calibration process again. I noticed that different devices may have different glitches, but the meaning of glitches is the same - it occurs when information is written to the EEPROM.
The REASON seems to be an overflow of EEPROM or accumulation of errors in the EEPROM..
After reflashing the MK - everything is OK!
-
#173 Reply
Posted by
Evi
on 18 May, 2024 11:27
-
@kripton2035
what is the purpose of Q1 at all?
According code it is permanently ON.
-
-
@kripton2035
what is the purpose of Q1 at all?
According code it is permanently ON.
yes, it was connected only when measuring on the original device.
I recall it was because it had an auto shut off
here, as I use a mechanical switch to power it on, I did not need anymore.
also it should flow more current in the test probes than with the arduino outputs.