ArduTester V1.13: The Arduino UNO Transistor Tester

Sketch of transistor tester project from Karl-Heinz Kübbeler, so it's much simpler to study, modify, verify and upload to an Arduino.

Nov 21, 2018

195482 views

100 respects

Components and supplies

3

Resistor 470 k ohm 1%

1

Jumper wires (generic)

1

Standard LCD - 16x2 White on Blue

3

Resistor 680 ohm 1%

1

Perma-Proto Breadboard Half Size

1

Pushbutton switch 12mm

1

Resistor 1k ohm

1

Resistor 10k ohm

1

Arduino UNO

Project description

Code

Downloadable files

ArduTester Breadboard

How place components and wire

ArduTester Breadboard

ArduTester Breadboard

How place components and wire

ArduTester Breadboard

ArduTester Fritzing schematics

ArduTester Fritzing schematics

Comments

Only logged in users can leave comments

wainsk

6 hours ago

Hi, help. I'm clicking the download icon in the code section but nothing downloads. Any ideas how to download code? regards

aungmoekhine

3 months ago

Hi Good day! Please allow me to seek your kind support regarding this project, and I'm trying to make one for me as well. The issue I'm facing now is that there is nothing showing on my 16x02 LCD with the I2C module after uploading the sketh. I don't know and can't find the code lines to change, such as the I2C address or codes like this. I look forward to your reply with many thanks. #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); lcd.init(); lcd.backlight();

pixel8859

4 months ago

sketch_oct23d.ino:2427 : référence non définie à `wait_for_key_ms(int)' collect2 : erreur : ld a renvoyé 1 état de sortie Le code retour n'est pas 0 j'ai cette erreur qui me fatigue là

supra2343

4 months ago

hi

supra2343

4 months ago

C:\Users\supra\OneDrive\文档\Arduino\sketch_oct21a\sketch_oct21a.ino:15:11: fatal error: Makefile.h: No such file or directory compilation terminated. exit status 1 Compilation error: Makefile.h: No such file or directory

supra2343

4 months ago

hi

supra2343

4 months ago

hi

supra2343

4 months ago

C:\Users\supra\OneDrive\文档\Arduino\sketch_oct21a\sketch_oct21a.ino:15:11: fatal error: Makefile.h: No such file or directory compilation terminated. exit status 1 Compilation error: Makefile.h: No such file or directory please give me solution for this error as soon as possible . because we have project to submit

helberfs

8 months ago

Hi, how are you, I'm trying to use a 126x64 ST7920 LCD and the LCD doesn't write characters, can you help me?

breytie63

9 months ago

Can you help me with the settings needed to use a 20x4 I2C LCD. It sort-of works with the 16x4 I2C selected, but the display is semi garbled.

breytie63

9 months ago

I am building the UNO with I2C LCD version. BUT my LCD is 4 line and I do not understand enough of the code to figure out how to change things. Can someone help?

jayantibadole7323

10 months ago

How to upload code in arduino. please guide me

compacted4543

a year ago

Hi can i use this code in a soldering kit if i give you the attributes for the code?

joamerly

a year ago

hola salud, tengo una pantalla 2004 i2c pudiera funcionar con el código, que cambios tendría que hacer , gracias

joamerly

a year ago

hola tengo un lcd 2004 i2c pudiera funcionar con el código, o que cambios tendría que hacer , gracias

zolpidem006

a year ago

when I do the calibration it stucks on "t4 isolate probe" and do nothing. can you help me please? I've tried with arduino uno and arduino nano with uno bootloader but the result is the same

cecasa

a year ago

Good day. I've been trying to put this project together for 3 days, I've put it together and reassembled it several times. I don't understand what I'm doing wrong. But on the 16x2 LCD only @ and strange signs appear. Could someone help? What am I doing wrong?

wlcampoamor

2 years ago

Work fine, I have used ATMEGA328p-pu standalone with HT7550 power. thanks you good work.

hosela

2 years ago

This configuration and code worked well on Arduino nano until I tried to modify the code, I lost everything. Now I am trying hard to upload the original code and didn't succeed. Could you please help what should I do?

esp8266m

2 years ago

hi

Anonymous user

2 years ago

Very, very good. I'm do it and it's working.

Anonymous user

2 years ago

Hi Thanks for this project. I want to edit the name ("ArduTester V 1.13'') and want to replace with the name (''Component Tester'') so now where to edit this name? please help me to markout. Thank You........

plouc68000

2 years ago

look in the file Transistortester.h #if defined (WITH_SELFTEST) || !defined (BAT_CHECK) const unsigned char VERSION_str[] MEM_TEXT = "ArduTester V1.13k"; #endif

Anonymous user

2 years ago

Hi, thanks for the awesome project! I tried out your preview code Ardutester_more.ino with 2 different SSD1306 OLED displays but unfortunetly could not get anything to show up on the display:( I double checked that the i2c address was correct, and uncommented the lines #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1327 #define LCD_INTERFACE_MODE 2 #define LCD_I2C_ADDR 0x3d in makefile.h, is there anything more I am supposed to do in order to enable this display? I'm also using an arduino uno, and tried with and without the arduino uno defined in the makefile.h. Using the serial option, however, displayed the appropriate information for a tested transistor! Thanks!

plouc68000

2 years ago

if you have a 1306 OLED, you should have uncommented these lines in the 1306 I2C interface section of makefile.h: // 1306 I2C interface #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2

plouc68000

2 years ago

There was an important line missing in Makefile.h which made the code not working.... #define LCD_ST_TYPE 1306 Should be better now ! I have no 1306 to test, but tested the ST7735R 144 GreenTab from Adafruit, so today the first time the ArduTester works with a Graphical Display ! The newest .ino is linked below ( still a Testing Version ), people should validate it with their LCD and report, thanks. ( You have to edit the Makefile.h first to uncomment your LCD type, then verify & Upload ). https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview

Anonymous user

2 years ago

Shoot sorry I copied the wrong lines into my original question! The lines that you have included in your previous reply have been uncommented and the lines I originally posted are commented out, which fails to work (the screen remains blank), thanks again for the help and sorry for the confusion!

Anonymous user

2 years ago

Firstly, thank you for porting this project, I've waiting to get it working for a while. I'm using an UNO and a 4 bit 16x2 with only +-%5 resistors for now. However, I'm getting some strange results when on self testing. Testing passive components I get "No, unknown, or damaged part", diodes seem to make it boot loop. When I test a NPN or PNP transistor it seems to be working fine, occasionally it gets confused with the identification. Using the menu the capacitor test works but isn't showing the ESR? Is there a setup that I've missed? I tried clearing the eprom to see if there was a missing setup screen. Really keen to get it running so I can test some inductors, any suggestions? Thanks

Anonymous user

2 years ago

Thanks plouc68000 ! I had spent all morning looking to salvage some resistors from retired pcbs, and In my rush to try it out I had used 470Ω not 470kΩ... and 680K not 680Ω, I can't believe I overlooked it so many times. I think I will get the circuit soldered onto strip board asap as you mentioned solder less breadboards don't give the best connections. Thank you for posting the project, I'm sure you have spent countless hours getting it working.

plouc68000

2 years ago

Good, try first with the right resistors...rather then soldering the wires... if the values of RL, RH are different from 680 Ohm, 470 kOhm, you can correct this in Makefile.h, the 2 last lines.... Uncomment the 2 lines as below and indicate the new RH, RL values..... //#define R_H_VAL 10000 // 100kOhm instead of 470k //#define R_L_VAL 3300 // 330 Ohm instead of 680 Isnt this cool ? if you can't do it by hardware, do it by software ;-) Also, if you have 5% values, you can measure the R value with a Multimeter and enter the average of both RH, RL into the Makefile.h ;-)

plouc68000

2 years ago

you said : However, I'm getting some strange results when on self testing. Testing passive components I get "No, unknown, or damaged part", diodes seem to make it boot loop. When I test a NPN or PNP transistor it seems to be working fine, occasionally it gets confused with the identification. My experience, most problems are contact problems with the jumper wires...remember, the probe lines at A0,A1,A2 are sometimes high impedance when connected to the RH Resistor 470 kOhm...so the circuit is high impedance, and small oxydation or grease on the jumper wire and or breadboard can have an effect on this 470 kOhm circuit. Clean the wires with contact spray and try the difference...Also the UNO Board should be mounted on a perfect isolating plate, so the back is not touching a light conductive surface, which results in false measurements. Also think about a ground plate under the measuring circuit to minimize electric noise pickup. Remember, you have a sensitive high impedance measuring circuit. ! Also the Test button pin A3 should be connected on a 10 kOhm pullup or +5V when not using a Test Button, otherwise the tester will Reset or not work.... You said :Really keen to get it running so I can test some inductors, any suggestions? Place the inductor between Test Pins 1-2 rather then 1-3. When the Displays shows on the second line the +/- sign, there is more values available...then press Test Button to show aditional values like Resonance Frequency and Q value..( or wait 5-7 seconds to have the display showing the extra values Freq and Q ). In general, if there are more values available, Press Test to get them displayed....

Anonymous user

2 years ago

That's a great idea! Thanks plouc68000

Anonymous user

2 years ago

Would like to modify ArduTester so that it automatically switches off after say 10 seconds. Cannot get it to build the project in the latest offline Arduino IDE. Many warnings and errors: In file included from sketch/config.h:1101:0, from sketch/Transistortester.h:14, from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16: sketch/autoconf.h:80:3: warning: #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! [-Wcpp] #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! ^~~~~~~ sketch/autoconf.h:98:3: warning: #warning LCD_LINES is not correctly set! [-Wcpp] #warning LCD_LINES is not correctly set! ^~~~~~~ sketch/autoconf.h:100:4: warning: #warning SCREEN_HEIGHT is not correctly set! [-Wcpp] #warning SCREEN_HEIGHT is not correctly set! ^~~~~~~ In file included from sketch/Transistortester.h:17:0, from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16: sketch/autoconf.h:80:3: warning: #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! [-Wcpp] #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! ^~~~~~~ sketch/autoconf.h:98:3: warning: #warning LCD_LINES is not correctly set! [-Wcpp] #warning LCD_LINES is not correctly set! ^~~~~~~ sketch/autoconf.h:100:4: warning: #warning SCREEN_HEIGHT is not correctly set! [-Wcpp] #warning SCREEN_HEIGHT is not correctly set! ^~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadADC.ino:21:0: warning: "StartADCwait" redefined #define StartADCwait() ADCSRA = (1<<ADSC)|(1<<ADEN)|(1<<ADIF)|AUTO_CLOCK_DIV; /* Start conversion */\\ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:28:0: note: this is the location of the previous definition #define StartADCwait() ADCSRA = (1<<ADSC)|(1<<ADEN)|(1<<ADIF)|AUTO_CLOCK_DIV; /* Start conversion */\\ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadCapacity.ino:123:0: warning: "MAX_LOAD_TIME" redefined #define MAX_LOAD_TIME 500 /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino:73:0: note: this is the location of the previous definition #define MAX_LOAD_TIME 12500 /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_draw.ino:212:3: warning: #warning "no WITH_GRAPHICS" [-Wcpp] #warning "no WITH_GRAPHICS" ^~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_hw_4_bit.ino:159:67: warning: extra tokens at end of #else directive [-Wendif-labels] #else /* !(LCD_INTERFACE_MODE == (MODE_SPI | MODE_7920_SERIAL)) */ERIAL | MODE_I2C | MODE_7108_S ^~~~~ In file included from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16:0: sketch/Transistortester.h:82:60: warning: narrowing conversion of '2.23848633e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] /* 1400 */ 30441023.0 / (PIN_RM + PIN_RP + R_L_VAL) + 0.5}; ^ sketch/Transistortester.h:82:60: warning: narrowing conversion of '2.06085527e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.90859121e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.77662012e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.6611375e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.5592334e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.46864453e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.38758438e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.31462363e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.24860498e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.18858184e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.13377217e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.08352412e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.03729043e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '9.94607715e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '9.55081348e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '9.18373145e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '8.84191602e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '8.52283984e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '8.22430176e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.94437549e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.68136865e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.43378857e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.2003125e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.97976416e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.7710957e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.57336816e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.38573975e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.20745312e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.03782422e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.87623291e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.72212012e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.57497461e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.43433154e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.2997666e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.17089111e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.0473501e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.92881543e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.81498682e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.7055874e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.60036084e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.49907129e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.40149854e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.30744092e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.2167085e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] In file included from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16:0: sketch/Transistortester.h:122:3: warning: narrowing conversion of '9.53993591e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] }; ^ sketch/Transistortester.h:122:3: warning: narrowing conversion of '9.0311261e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '8.56834229e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '8.14557556e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '7.75782043e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '7.40087158e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '7.07116943e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '6.76568298e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '6.48181335e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino: In function 'void setup()': /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:343:14: warning: return-statement with a value, in function returning 'void' [-fpermissive] /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:702:22: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino: In function 'uint16_t GetESR(uint8_t, uint8_t)': /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:145:23: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (cap.cval_max < 0) cap_val_nF = -cap.cval_max; ~~~~~~~~~~~~~^~~ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:300:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (esrvalue > esr0) { ~~~~~~~~~^~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:304:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (((esrvalue + R_LIMIT_TO_UNCALIBRATED) < esr0) && (cap_val_nF > 4500)) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:138:11: warning: variable 'StartADCmsk' set but not used [-Wunused-but-set-variable] uint8_t StartADCmsk; // Bit mask to start the ADC ^~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino: In function 'void ReadBigCap(uint8_t, uint8_t)': /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino:77:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if ((ovcnt16 == 0) || ((MIN_VOLTAGE-cap_voltage1) < (cap_voltage1*10/ovcnt16))) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino:82:63: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] } else if ((ovcnt16 > 10) && ((MIN_VOLTAGE-cap_voltage1) > ((cap_voltage1*100)/ovcnt16))){ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/Sampling_cap.ino: In function 'void sampling_cap_calibrate()': /usr/home/arno/arduino/arno/ArduTester_1_13/Sampling_cap.ino:250:31: warning: invalid conversion from 'void*' to 'uint16_t* {aka unsigned int*}' [-fpermissive] eeprom_write_word((void*)(c_zero_tab2_lo+k),c); /* C0 from 0 to 1 */ ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:171:6: note: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' void eeprom_write_word (uint16_t *__p, uint16_t __value); ^~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/Sampling_cap.ino:251:31: warning: invalid conversion from 'void*' to 'uint16_t* {aka unsigned int*}' [-fpermissive] eeprom_write_word((void*)(c_zero_tab2_hi+k),d); /* C0 from 1 to 0 */ ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:171:6: note: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' void eeprom_write_word (uint16_t *__p, uint16_t __value); ^~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ShowData.ino: In function 'void ShowData()': /usr/home/arno/arduino/arno/ArduTester_1_13/ShowData.ino:102:33: warning: invalid conversion from 'void*' to 'const uint16_t* {aka const unsigned int*}' [-fpermissive] cc = eeprom_read_word((void *)(c_zero_tab2_lo+kk)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:144:10: note: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__; ^~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ShowData.ino:103:33: warning: invalid conversion from 'void*' to 'const uint16_t* {aka const unsigned int*}' [-fpermissive] dd = eeprom_read_word((void *)(c_zero_tab2_hi+kk)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:144:10: note: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__; ^~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino: In function 'void lcd_next_line_wait(uint8_t)': /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:168:20: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] uart_newline(); // MAURO ('H') ^ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino: In function 'void lcd_set_pixels(const unsigned char*, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)': /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1119:42: warning: unused parameter 'pdata' [-Wunused-parameter] void lcd_set_pixels(const unsigned char *pdata, unsigned char x, unsigned char y, ^~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1119:63: warning: unused parameter 'x' [-Wunused-parameter] void lcd_set_pixels(const unsigned char *pdata, unsigned char x, unsigned char y, ^ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1119:80: warning: unused parameter 'y' [-Wunused-parameter] void lcd_set_pixels(const unsigned char *pdata, unsigned char x, unsigned char y, ^ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1120:15: warning: unused parameter 'options' [-Wunused-parameter] unsigned char options, unsigned char width, unsigned char height) { ^~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1120:38: warning: unused parameter 'width' [-Wunused-parameter] unsigned char options, unsigned char width, unsigned char height) { ^~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1120:59: warning: unused parameter 'height' [-Wunused-parameter] unsigned char options, unsigned char width, unsigned char height) { ^~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/samplingADC.ino: In function 'uint16_t samplingADC(unsigned int, void*, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)': /usr/home/arno/arduino/arno/ArduTester_1_13/samplingADC.ino:3:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ /usr/home/arno/arduino/arno/ArduTester_1_13/sampling_lc.ino: In function 'unsigned int peaksearch(unsigned int*, unsigned int*)': /usr/home/arno/arduino/arno/ArduTester_1_13/sampling_lc.ino:160:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (kdiv >= delta) xx -= ((delta * 64)+ 32) / kdiv; ~~~~~^~~~~~~~ Sketch uses 26820 bytes (83%) of program storage space. Maximum is 32256 bytes. Global variables use 181 bytes (8%) of dynamic memory, leaving 1867 bytes for local variables. Maximum is 2048 bytes.

plouc68000

2 years ago

There is NO problem, since the Verify is performing right, you got the good end message: Sketch uses 26820 bytes (83%) of program storage space. Maximum is 32256 bytes. Global variables use 181 bytes (8%) of dynamic memory, leaving 1867 bytes for local variables. Maximum is 2048 bytes.

Anonymous user

2 years ago

Hi, I've built this tester as indicated, but testing of PNP (BC 557C) transistors does only start if I touch any leg of resistors (R1, R2 or R3). Without that it only shows "ArduinoTester V1.13 Testing.", which refreshes each 3 seconds. It is not a mechanical contact problem, because touching any leg of R1, R2 or R3 with a non conductive stick does not make it starting. Please note that this problem does not happen when testing NPN transistors! Any idea? Thanks for your help in advance. Thanks, Dan

plouc68000

2 years ago

Verify Test Button and pull-up. Ardutester dont work properly if Test Pin left open.....if you dont wire the Test button, the Test pin must be wired to 5V

Anonymous user

2 years ago

Dear sir, Thank you so much for this project, and your usual support to all. I used this project with LCD 1602 and i2c I faced two issues: 1- not able to select from menu I had read all comments but long press open menu then not able to change it. Can I use anything else to switch the menu, instead of push button. 2- I tried to operate this project in PCB after successful results from Uno But nothing respond I.e. work on Uno board not atmega328p in breadboard (are there any solution to operate in atmega328p breadboard) Looking for solution. Thank you in advance. Regards

Anonymous user

2 years ago

Thank you so much for your time to share your experience and support us. I did that but not operate. I don't know why. While same ic used in breadboard used in Uno board after burn the code and operate in Uno board. Thank you again for your time.

plouc68000

2 years ago

you wrote: I had read all comments but long press open menu then not able to change it. Can I use anything else to switch the menu, instead of push button. Once the menu is open, short press will scroll between the menu items, to select the desired item, a long press is needed. you wrote:I.e. work on Uno board not atmega328p in breadboard (are there any solution to operate in atmega328p breadboard) The atmega328 should be programmed first with the UNO bootloader, to look like a UNO, because the software needs some fonctions like millis()

Anonymous user

2 years ago

Здравствуйте! Я собрал данный тестер сначала на 1602 LCD, но мне не нравится вывод информации на него. У меня был 2.4" TFT LCD Display и я попытался подключить его, но не хватило памяти Ардуины. Поэтому подключил его к другой Ардуино и соединил между собой по шине I2C. Можно посмотреть здесь // http://arduino.ru/forum/proekty/transistor-tester-arduino?page=14#comment-503343//. Но хотелось все сделать на одной Ардуино, поэтому вопрос - есть ли у Вас скетч где вывод информации делался только в монитор, чтобы освободить память?

Anonymous user

2 years ago

Я это сделал, но все равно катастрофически не хватает памяти для программы. Отключаю где возможно любое упоминание LCD, но пока осилил только три параметра а их там 12, да еще с вариациями, , на остальные не хватает памяти.

Anonymous user

2 years ago

С НОВЫМ ГОДОМ!!!

plouc68000

2 years ago

For only serial monitor output, uncomment the lines marked in Makefile.h , verify and upload. https://www.cjoint.com/c/ILFsB6ivdxC

Anonymous user

2 years ago

Why did I connect everything and it only shows me on the computer monitor but not on the lcd screen?

Anonymous user

2 years ago

I make this tester. My tests showing capacitance between Tp2 and TP3. I run self test properly but the problem is not solved. I don't know why the tester showing value without connect component. Please help me 😟

Anonymous user

2 years ago

Hello, friends! Thanks to the author of this topic! I use Mega 2560. When I output to Port Monitor TT works well. But when I connect display 1306 SSD, the display rests black. SDA is connected to PA4 (74) pin and SCK is connected to PA5 (73) pin. If I load a scatch for OLED_I2C library (OLED_I2C_3D_Cube for example) to pins 73 and 74 all work well. In Makefile.h I uncomment these lines: #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2 A line //#define LCD_ST_TYPE 1306 is commented. What can I do? Help me, please.

Anonymous user

2 years ago

Sorry, Plouc68000! The sketch did not work for me. The sketch compiles without errors. When I load the sketch, the screen remains black. The Start and Reset buttons do not affect the contents of the screen. I want to clarify, the SDA is connected to the AD4 (PA4) port, the SCK is connected to the AD5 (PA5) port, right? This is indicated in the config.h and in the Karl-Heinz Ku ̈bbeler scheme. Or do I need to connect to the standard SDA and SCK for AtMEGA2560 ports PD0 and PD1? I tried to load the sketch of the standard library OLED_I2C_3D_Cube to AD4 and AD5. The sketch is working. The OLED is lit. The cube is rotating.

Anonymous user

2 years ago

If I comment lines of SSD1306 in Makefile and uncomment lines for serial port the TTester works! ArduTester V1.13k Testing.\u0003 ...... NPN 123=ECB B=20.2 Ie=.19mA + Ube=535mV

Anonymous user

2 years ago

Ok, thanks! It works! https://yadi.sk/i/cT24Y1PfULCrIw I turned the image upside down. And I uncommented some lines here: // with LCD ST 7735, uncomment next lines //#define FOUR_LINE_LCD 0 //#define WITH_LCD_ST7565 7735 //#define LCD_ST7565_RESISTOR_RATIO 4 //#define LCD_SPI_OPEN_COL #define LCD_ST7565_H_FLIP 1 //#define LCD_ST7565_H_OFFSET 0 #define LCD_ST7565_V_FLIP 1

Anonymous user

2 years ago

Maybe I should determine the address OLED: #define LCD_I2C_ADDR 0x3с? My SSD1306 has an address of 0x3с

Anonymous user

2 years ago

Thanks, I will try it.

Anonymous user

2 years ago

Ardutester V1.13k Testing ...... P-E-MOS C=3.18nF Vt=2.0V (+) <- Pause 1 RDS=.4Ohm (+) <- Pause 2 1-|<-2 Uf=663mV Как убрать паузы между выводом информации, помеченные (+)? У меня цветной 2.4" TFT LCD Display 320x240 подключенный к MEGA2560. Информация выводится за один поток, а паузы удлиняют время тестирования. https://yadi.sk/i/kyhsGiEEChZnFg

Anonymous user

2 years ago

Проблема решена, Я разобрался с паузами.

plouc68000

2 years ago

You should use the standard SCL, SDA pins of the MEGA, 21 & 20

plouc68000

2 years ago

Think you will love this ! Here a new version configured with MEGA and SSD1306 I2C https://create.arduino.cc/editor/plouc68000/7a1c38f2-3710-4e44-80b0-1b2ac3ffa4a0/preview Connect the 1306 to the MEGA SDA & SCL pins Here the proof with a SSD1306 https://www.cjoint.com/c/JAcqTBvkbfF Please test if it works for you, I am thinking about publication in project hub as a new project ! because its so cool and less wiring 🤣

plouc68000

2 years ago

Good ! Its always nice when your guys use this open Arduino code and then are able to modify yourself to fit your needs. So my efforts to make it available and simple to handle was useful 👍😉😂

Anonymous user

2 years ago

sorry I'm still confused how to find out what component he is measuring

Anonymous user

2 years ago

i found something new: "During self-calibration at "C >100nF" step; can not measure the value." I am trying this step with 220nF and 1uF solid capacitors and get error. Latest; I tried with 3300uF electrolytic and have no problem. Yours Sincerely...

Anonymous user

2 years ago

Доброго дня а у меня после загузки вашего скетча абракадабра какая то на экране подскажите пожалуйста што мне нужно я думаю библиотеки нужно где мне их взять

Anonymous user

2 years ago

I wanted to ask whether this code is compatible with Arduino Pro Mini... Like that Battery Voltage monitoring section? Can anyone tell? I am building the permanent version on a dotted board/PCB

Anonymous user

2 years ago

Good Evening. very nice job. I want your help. I opened the folder with the files and I lost so many. please can you tell me how I should burn it him controllers for arduino uno. I would appreciate watching a video.

plouc68000

2 years ago

it loads into the UNO like any other sketch.... Just Press Verify, then Upload

Anonymous user

2 years ago

Good Evening. very nice job. I want your help. I opened the folder with the files and I lost so many. please can you tell me how I should burn it him controllers for arduino uno. I would appreciate watching a video.

jacobbuckner

2 years ago

I downloaded the code but get all these errs im not good with code can some one help thanks This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Uno" ArduTester_1_13.ino:159:22: error: macro "lcd_refresh" passed 1 arguments, but takes just 0 ArduTester_1_13.ino:161:23: error: macro "uart_newline" passed 1 arguments, but takes just 0 In file included from ArduTester_1_13.ino:16: Transistortester.h:408: error: 'PC0' was not declared in this scope Transistortester.h:408: error: 'PC2' was not declared in this scope Transistortester.h:413: error: 'PC0' was not declared in this scope Transistortester.h:413: error: 'PC2' was not declared in this scope Transistortester.h:483: error: 'PB0' was not declared in this scope Transistortester.h:484: error: 'PB2' was not declared in this scope Transistortester.h:485: error: 'PB4' was not declared in this scope Transistortester.h:488: error: 'PB1' was not declared in this scope Transistortester.h:489: error: 'PB3' was not declared in this scope Transistortester.h:490: error: 'PB5' was not declared in this scope Transistortester.h:495: error: 'PC0' was not declared in this scope Transistortester.h:496: error: 'PC1' was not declared in this scope Transistortester.h:497: error: 'PC2' was not declared in this scope ArduTester_1_13:159: error: variable or field 'lcd_refresh' declared void ArduTester_1_13:161: error: variable or field 'uart_newline' declared void ArduTester_1_13.ino: In function 'void setup()': ArduTester_1_13:272: error: 'PD6' was not declared in this scope ArduTester_1_13:343: error: return-statement with a value, in function returning 'void' ArduTester_1_13:369: error: 'PC3' was not declared in this scope ArduTester_1_13:509: error: 'PC0' was not declared in this scope ArduTester_1_13:509: error: 'PC1' was not declared in this scope ArduTester_1_13:509: error: 'PC2' was not declared in this scope ArduTester_1_13:821: error: 'PC3' was not declared in this scope ArduTester_1_13:1390: error: 'PC4' was not declared in this scope ArduTester_1_13:1392: error: 'PC3' was not declared in this scope ArduTester_1_13.ino: In function 'void init_parts()': ArduTester_1_13:1629: error: 'PC0' was not declared in this scope ArduTester_1_13:1630: error: 'PC2' was not declared in this scope ArduTester_1_13.ino: In function 'void switch_tester_off()': ArduTester_1_13:1650: error: 'PD6' was not declared in this scope ArduTester_1_13.ino: In function 'void AutoCheck(uint8_t)': ArduTester_1_13:1736: error: 'PC2' was not declared in this scope ArduTester_1_13:1736: error: 'PC0' was not declared in this scope ArduTester_1_13:1737: error: 'PC1' was not declared in this scope ArduTester_1_13:1783: error: 'PB0' was not declared in this scope ArduTester_1_13:1784: error: 'PB2' was not declared in this scope ArduTester_1_13:1787: error: 'PB4' was not declared in this scope ArduTester_1_13:1798: error: 'PB1' was not declared in this scope ArduTester_1_13:1799: error: 'PB3' was not declared in this scope ArduTester_1_13:1803: error: 'PB5' was not declared in this scope ArduTester_1_13:1820: error: 'PB1' was not declared in this scope ArduTester_1_13:1823: error: 'PB3' was not declared in this scope ArduTester_1_13:1826: error: 'PB5' was not declared in this scope ArduTester_1_13:1832: error: 'PB1' was not declared in this scope ArduTester_1_13:1835: error: 'PB3' was not declared in this scope ArduTester_1_13:1838: error: 'PB5' was not declared in this scope ArduTester_1_13:1845: error: 'PB1' was not declared in this scope ArduTester_1_13:1846: error: 'PB0' was not declared in this scope ArduTester_1_13:1849: error: 'PB3' was not declared in this scope ArduTester_1_13:1850: error: 'PB2' was not declared in this scope ArduTester_1_13:1853: error: 'PB5' was not declared in this scope ArduTester_1_13:1854: error: 'PB4' was not declared in this scope ArduTester_1_13:2159: error: 'PB5' was not declared in this scope ArduTester_1_13.ino: In function 'uint8_t AllProbesShorted()': ArduTester_1_13:2325: error: 'PC0' was not declared in this scope ArduTester_1_13:2325: error: 'PC1' was not declared in this scope ArduTester_1_13:2326: error: 'PC2' was not declared in this scope ArduTester_1_13.ino: In function 'void GetIr(uint8_t, uint8_t)': ArduTester_1_13:2365: error: 'TP_MIN' was not declared in this scope ArduTester_1_13:2369: error: 'LoPinR_L' was not declared in this scope ArduTester_1_13:2369: error: 'PinRHRLADCtab' was not declared in this scope ArduTester_1_13:2369: error: 'TP_MIN' was not declared in this scope ArduTester_1_13:2386: error: 'PinRHRLADCtab' was not declared in this scope ArduTester_1_13:2386: error: 'TP_MIN' was not declared in this scope Calibrate_UR.ino: In function 'void Calibrate_UR()': Calibrate_UR:24: error: 'PC4' was not declared in this scope Calibrate_UR:49: error: 'PC0' was not declared in this scope Calibrate_UR:51: error: 'PB0' was not declared in this scope Calibrate_UR:51: error: 'PB2' was not declared in this scope Calibrate_UR:51: error: 'PB4' was not declared in this scope Calibrate_UR:58: error: 'PC1' was not declared in this scope Calibrate_UR:65: error: 'PC2' was not declared in this scope CheckPins.ino: In function 'void CheckPins(uint8_t, uint8_t, uint8_t)': CheckPins:106: error: 'TP_MIN' was not declared in this scope EntladePins.ino: In function 'void EntladePins()': EntladePins:26: error: 'PB5' was not declared in this scope EntladePins:26: error: 'PB4' was not declared in this scope EntladePins:26: error: 'PB3' was not declared in this scope EntladePins:26: error: 'PB2' was not declared in this scope EntladePins:26: error: 'PB1' was not declared in this scope EntladePins:26: error: 'PB0' was not declared in this scope EntladePins:27: error: 'PC0' was not declared in this scope EntladePins:28: error: 'PC1' was not declared in this scope EntladePins:29: error: 'PC2' was not declared in this scope GetESR.ino: In function 'uint16_t GetESR(uint8_t, uint8_t)': GetESR:170: error: 'TP_MIN' was not declared in this scope GetESR:171: error: 'TP_MIN' was not declared in this scope GetESR:176: error: 'TP_MIN' was not declared in this scope GetESR:177: error: 'TP_MIN' was not declared in this scope GetESR:299: error: 'TP_MIN' was not declared in this scope GetResistance.ino: In function 'void GetResistance(uint8_t, uint8_t)': GetResistance:50: error: 'TP_MIN' was not declared in this scope GetVloss.ino: In function 'void GetVloss()': GetVloss:30: error: 'TP_MIN' was not declared in this scope GetVloss:34: error: 'TP_MIN' was not declared in this scope PinLayout.ino: In function 'uint16_t Rnum2pins(uint8_t)': PinLayout:103: error: 'PC0' was not declared in this scope PinLayout:104: error: 'PC2' was not declared in this scope PinLayout:105: error: 'PC1' was not declared in this scope PinLayout:106: error: 'PC1' was not declared in this scope ReadBigCap.ino: In function 'void ReadBigCap(uint8_t, uint8_t)': ReadBigCap:47: error: 'TP_MIN' was not declared in this scope ReadBigCap:51: error: 'TP_MIN' was not declared in this scope ReadBigCap:52: error: 'TP_MIN' was not declared in this scope ReadCapacity.ino: In function 'void ReadCapacity(uint8_t, uint8_t)': ReadCapacity:64: error: 'TP_MIN' was not declared in this scope ReadCapacity:264: error: 'PC0' was not declared in this scope ReadCapacity:264: error: 'PC1' was not declared in this scope ReadCapacity:264: error: 'PC2' was not declared in this scope ReadInductance.ino: In function 'void ReadInductance()': ReadInductance:70: error: 'TP_MIN' was not declared in this scope ReadInductance:74: error: 'TP_MIN' was not declared in this scope Sampling_cap.ino: In function 'int32_t sampling_cap(byte, byte, byte)': Sampling_cap:214: error: 'TP_MIN' was not declared in this scope Sampling_cap.ino: In function 'void sampling_cap_calibrate()': Sampling_cap:250: error: invalid conversion from 'void*' to 'uint16_t*' Sampling_cap:250: error: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' Sampling_cap:251: error: invalid conversion from 'void*' to 'uint16_t*' Sampling_cap:251: error: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' ShowData.ino: In function 'void ShowData()': ShowData:102: error: invalid conversion from 'void*' to 'const uint16_t*' ShowData:102: error: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' ShowData:103: error: invalid conversion from 'void*' to 'const uint16_t*' ShowData:103: error: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' function_menu.ino: In function 'void show_C_ESR()': function_menu:512: error: 'PC2' was not declared in this scope function_menu:512: error: 'PC0' was not declared in this scope function_menu.ino: In function 'void make_frequency()': function_menu:673: error: 'PB0' was not declared in this scope function_menu:673: error: 'PB4' was not declared in this scope function_menu:676: error: 'PC0' was not declared in this scope function_menu.ino: In function 'void do_10bit_PWM()': function_menu:870: error: 'PB0' was not declared in this scope function_menu:870: error: 'PB4' was not declared in this scope function_menu:873: error: 'PC0' was not declared in this scope lcd_routines.ino: In function 'void lcd_testpin(unsigned char)': lcd_routines:42: error: 'TP_MIN' was not declared in this scope message_key_released.ino: In function 'void message_key_released(const unsigned char*)': message_key_released:27: error: 'PC3' was not declared in this scope sampling_lc.ino: In function 'void sampling_lc_calibrate(byte)': sampling_lc:507: error: 'PC0' was not declared in this scope sampling_lc:507: error: 'PC2' was not declared in this scope show_Resis_Cap.ino: In function 'void show_Resis13()': show_Resis_Cap:245: error: 'PC2' was not declared in this scope show_Resis_Cap:245: error: 'PC0' was not declared in this scope show_Resis_Cap.ino: In function 'void show_Cap13()': show_Resis_Cap:401: error: 'PC2' was not declared in this scope show_Resis_Cap:401: error: 'PC0' was not declared in this scope wait_for_key_ms.ino: In function 'uint8_t wait_for_key_ms(int)': wait_for_key_ms:61: error: 'PC3' was not declared in this scope wait_for_key_ms:85: error: 'PC3' was not declared in this scope

Anonymous user

2 years ago

Hi, great job... I2 did your project with atmega 328p-pu. Sometimes screen fills up with big dots :) but It works well. how about the new revisions, or news? Thank you

Anonymous user

2 years ago

can you have to build video from this project make full video. i think is more important to peoples

plouc68000

2 years ago

Looks like "Electro Retro" has made a full video.... https://www.youtube.com/watch?v=crQiHfSg97I

Anonymous user

2 years ago

What inductance values I can test with it

Anonymous user

2 years ago

Altough the code compiled OK I've got too many warnings. What did I wrongly?: I choose to receive only standard compiler wranings in the Arduino IDE.

Anonymous user

2 years ago

I am running a capacitor test and I keep getting not calibrated. How do you calibrate the tester?

Anonymous user

2 years ago

@plouc86000 Hello I made this device, when probes are empty it shows capacitor with random capacity and that this element is plug in 1 and 31 probe. Meter don't Measurement ESR and smaller capacitors. Everything is ok but capacitor Measurement is strange. What can be wrong? Please help me. Thanks!

Anonymous user

2 years ago

If test a capacitor in pin 1 - 2 the measurement is very strange, but it's "ok" if I use the pin 2-3 or pin 1-3.

Anonymous user

2 years ago

I have the same problem... The capacity measurement it's very bad =(

Anonymous user

2 years ago

sketch error ... #include <avr / io.h> ( /tmp/092461218/ArduTester_1_13/ArduTester_1_13.ino:2:22: errore fatale: avr / io.h: nessun file o directory di questo tipo compilazione terminata. stato di uscita 1 )

plouc68000

2 years ago

de-install and re-install your IDE, the problem is not in Ardutester...

Anonymous user

2 years ago

I have done all the things correctly but my LCD does not shows anything!! should I have to add any library for this project? I was tried to check my LCD with example codes given in IDE but same problem happening... please help me anyone kindly please...

Anonymous user

2 years ago

Good day! Thanks for a good project, I would like to develop it further, but I cannot get a working copy with display 1602 and interface I2C. Tell me, please, what should be the configuration of Makefile.h for display 1602 with interface I2C? The current version managed to be compiled only under serial monitor, disables LCD.

plouc68000

2 years ago

Hello, here a version with the full lcd_hw_4_bit.ino file translated to Arduino, so the support for I2C interface should be inside... However, its untested and no peer review yet. You need to uncomment the suitable display lines in Makefile.h to select the display you want, by default as it is now, its the 4 bit parallel 16 X 2 1602 2 lines display. The untested software has a separate Link, I merge it in the project when fully tested. https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview Just Verify and upload, or Edit Makefile.h, Verify and upload. You may write to my email if you dont want to overload the discussion here.... Thanks for having a look and trying your LCDs....

plouc68000

2 years ago

The Current Sketch only works with the 4 Bits 1602 LCD which is included in most Arduino UNO Starter Kits. It is not impossible to add the I2C support, there is still work to do in converting the original LCD support file written in assembler to a Arduino .ino file. lcd_hw_4_bit.S into the lcd_hw_4_bit.ino I have little time to expand this project further, but if some Arduino enthusiast has made further conversion to Arduino of the LCD support assembler file, I will be pleased to update the corresponding.ino files of this project. Contact me for that purpose only on my email ( see contact information in ReadMe.adoc ). PS: the current version as published supports the 4 Bits 1602 LCD and not the serial monitor, the ReadMe.adoc stating this was the wrong version, this is corrected now.

Anonymous user

2 years ago

Hello!! Is it possible to use an Arduino Nano module? Does it affect its final performance? Thank you.

Anonymous user

2 years ago

Hello, I tried to upload the sketch to an Arduino Uno and an Arduino Nano but I always get the following error message: Arduino: 1.8.19 (Mac OS X), Board: "Arduino Nano, ATmega328P (Old Bootloader)" wiring.c.o (symbol from plugin): In function `__vector_16': (.text+0x0): multiple definition of `__vector_16' sketch/ArduTester_more.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here collect2: error: ld returned 1 exit status exit status 1 Fehler beim Kompilieren für das Board Arduino Nano (in English: Compilation error for Arduino Nano)

plouc68000

2 years ago

This is the typical error message if you try to enable the FreQ. Counter with the UNO..... The raison is very simple, alltrough you can have the Freq. Counter with the AVR Assembler Code, YOU CANNOT HAVE IT with the Arduino UNO System, means with the .ino files, because these Timer ressources are taken from the Arduino System. If You follow the Makefile:h instructions for the UNO given above for the Millenium Project, you will not get this error...😃 in particular the line #define NO_FREQ_COUNTER // uncomment when UNO Board , FREQ counter function only with MEGA 2560 Board should not be commented out.😦 If you comment out this line with the UNO, you will get this error In function __vector_16': (.text+0x0): multiple definition of__vector_16' To have the FreQ. Counter with the ArduTester .ino software running under Arduino System , you MUST use the MEGA Board. 😃

hosseinrahmati

2 years ago

The device shows a high capacitance of one and a half times what should I do...

Anonymous user

2 years ago

Hi, can isso use it only as a encoder Tester? i work with encoder bearings on my job, and I was thinking to use this to have a fastest test , because on site i only have a multimeter, so isso only can see the average voltage output for chanal A and B. but by this Way I cant have a real análises if it's fauly or not, I work with 24v or 12v on encoder input, but o think this isnt a problem because the encoder probably work with 5v from the Arduino because other way is only connect the chanals a and b to the Tester, but I have to find a way to convert the output voltage so I dont burn the Arduino. iam on a good way or I Am completly out of way I forget to say I Am a Arduino beginner thanks

bashomil

2 years ago

I will try make like this but not work exist the screen dot appear a component and when download ardutester_v113 from sketch >include library> ardutester_ v113 appear this message : Arduino: 1.8.9 (Windows 10), Board: "Arduino/Genuino Uno" In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: storage size of 'RELPROBE' isn't known #define MEM_TEXT PROGMEM ^ C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:518:34: note: in expansion of macro 'MEM_TEXT' const unsigned char RELPROBE[] MEM_TEXT; ^ Transistortester.h:95:26: error: conflicting declaration 'const uint16_t LogTab []' const uint16_t LogTab[] PROGMEM = {0, 20, 41, 62, 83,105,128,151,174,198,223,248,274,301,329,357,386,416,446,478,511,545,580,616,654,693,734,777,821,868,916,968,1022,1079,1139,1204,1273,1347,1427,1514,1609,1715,1833,1966,2120,2303,2526,2813,3219,3912,7065 }; /* last value is replaced by (-1000*ln(0.001)-3912)/19*20 + 3912 */ ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:598:19: note: previous declaration as 'uint16_t LogTab []' extern uint16_t LogTab[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char SELFTEST []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:171:35: note: in expansion of macro 'MEM_TEXT' const unsigned char SELFTEST[] MEM_TEXT = "Selftest mode.."; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:517:23: note: previous declaration as 'const unsigned char SELFTEST' const unsigned char SELFTEST MEM_TEXT; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char mosfet_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:226:35: note: in expansion of macro 'MEM_TEXT' const unsigned char mosfet_str[] MEM_TEXT = "-MOS"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:522:24: note: previous declaration as 'unsigned char mosfet_str []' extern unsigned char mosfet_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char jfet_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:227:33: note: in expansion of macro 'MEM_TEXT' const unsigned char jfet_str[] MEM_TEXT = "JFET"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:523:24: note: previous declaration as 'unsigned char jfet_str []' extern unsigned char jfet_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char igbt_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:228:33: note: in expansion of macro 'MEM_TEXT' const unsigned char igbt_str[] MEM_TEXT = "-IGBT"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:524:24: note: previous declaration as 'unsigned char igbt_str []' extern unsigned char igbt_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char NPN_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:245:32: note: in expansion of macro 'MEM_TEXT' const unsigned char NPN_str[] MEM_TEXT = "NPN"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:520:24: note: previous declaration as 'unsigned char NPN_str []' extern unsigned char NPN_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char PNP_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:246:32: note: in expansion of macro 'MEM_TEXT' const unsigned char PNP_str[] MEM_TEXT = "PNP"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:521:24: note: previous declaration as 'unsigned char PNP_str []' extern unsigned char PNP_str[]; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:38:0: tt_resistor.h:8:18: error: redefinition of 'long unsigned int inductor_lx' unsigned long inductor_lx; // inductance 10uH or 100uH ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:12:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/tt_resistor.h:20:18: note: 'long unsigned int inductor_lx' previously declared here unsigned long inductor_lx; // inductance 10uH or 100uH ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:38:0: tt_resistor.h:9:11: error: redefinition of 'int8_t inductor_lpre' int8_t inductor_lpre; // prefix for inductance ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:12:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/tt_resistor.h:21:11: note: 'int8_t inductor_lpre' previously declared here int8_t inductor_lpre; // prefix for inductance ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/USBAPI.h:25:0, from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:233, from sketch\\ArduTester_1_13.ino.cpp:1: ArduTester_1_13:48:24: error: conflicting declaration 'const int8_t RefDiff' const int8_t RefDiff EEMEM = REF_R_KORR; // correction of internal Reference Voltage ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:573:17: note: previous declaration as 'int8_t RefDiff' extern int8_t RefDiff; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/USBAPI.h:25:0, from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:233, from sketch\\ArduTester_1_13.ino.cpp:1: ArduTester_1_13:51:29: error: conflicting declaration 'const int16_t ref_offset' const int16_t ref_offset EEMEM = REF_C_KORR; // default correction of internal reference voltage for capacity measurement ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:574:19: note: previous declaration as 'uint16_t ref_offset' extern uint16_t ref_offset; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/USBAPI.h:25:0, from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:233, from sketch\\ArduTester_1_13.ino.cpp:1: ArduTester_1_13:54:31: error: conflicting declaration 'const uint8_t c_zero_tab []' const uint8_t c_zero_tab[] EEMEM = { C_NULL,C_NULL,C_NULL+TP2_CAP_OFFSET,C_NULL+2,C_NULL+TP2_CAP_OFFSET,C_NULL,C_NULL }; //table of zero offsets ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:575:18: note: previous declaration as 'uint8_t c_zero_tab []' extern uint8_t c_zero_tab[]; ^ exit status 1 storage size of 'RELPROBE' isn't known This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

bashomil

2 years ago

I make like this circuit but give me appear on screen no correct like component ,example I test led and appear on screen mosft

SkiBum326

2 years ago

Hey plouc68000! Awesome project! I would love to invite you to also share your project on WikiMakes (www.WikiMakes.com) to get additional visibility for your work! Austin

Anonymous user

2 years ago

I re-uploaded the software then "Can not enter menu. (with long press)" problem fixed. News: -During self-calibration at "C >100nF" step; can not measure the value. No problem at next "C 4-30nF" step. -When no parts connected to probes: display shows capacitor and ESR measurement between probe 2 and 3. (usually showing 7000-9000nF 70kL and ESR:20 Ohm) -When a capacitor(testing with 220nF) connected between all probe combinations: can not measure the value and freeze for a moment. -Coil measurement is usually lower(-20uH error @ 100uH) than the value. Thanks everybody very much, have a nice day...

Anonymous user

2 years ago

First of all; Thank you very much for your work. I build the unit as instructed but: Can not calibrate using self test function. (with shorting 3 test points) Can not enter menu. (with long press) Have a nice day...

Anonymous user

2 years ago

Let me try with Rotary encoder and update.

Anonymous user

2 years ago

Tolle Leistung Funktioniert Eiwandfrei! Habe eine Platine Angefertigt mit dem" Atmega328P" und ein Plexi-Gehäuse Angefertigt. Danke!

Anonymous user

2 years ago

Hi and thanks for a great Arduino port! I am trying to get this working on the new Arduino Nano Every and am hitting compile errors around things like the port definitions. Where would I start looking if I wanted to add a new MCU to the project? I can see that in config.h at least I need to add the processor type in and map it to something - I could pretend it's just a regular Nano, or I can run the Every in Mega328 register compatible mode, but it has more memory, speed and PWM than a Nano so might be worth adding specifically. I am also building the project with the Eclipse Arduino environment and it has pointed out some errors as well. I switched to one of the supported MCUs and the errors were still there. The first one is in show_Resis_Cap.ino and it's caused by the following code: #if FLASHEND > 0x3fff void show_cap(uint8_t how) #else void show_cap_simple(void) #endif { Since the use of how is removed by other defines within the function, this can be rewritten like below, removing the #ifdef around the function definition and it fixes the error: void show_cap_simple(void) { show_cap(0); } void show_cap(uint8_t how) { The second error is appearing in ArduTester_1_13.ino at these liines: #ifndef INHIBIT_SLEEP_MODE // prepare sleep mode EMPTY_INTERRUPT(TIMER2_COMPA_vect); #endif #if !defined(INHIBIT_SLEEP_MODE) || defined(SamplingADC) // ADC_vect is always required by samplingADC() EMPTY_INTERRUPT(ADC_vect); #endif The line EMPTY_INTERRUPT(ADC_vect); is being flagged as a redefinition once the macro is expanded. I am still trying to work out where the problem is, so if you have any ideas it would be welcome.

Anonymous user

2 years ago

How can we do this project with 5110 lcd. I will be very happy if you can help.

Anonymous user

2 years ago

Was Just wandering why it wont test ant voltage regulators like the lm317 or 7805s

Anonymous user

2 years ago

Sir.... i want to convert this sketch to work with 1602 i2c lcd Will You pls Kindly Elaborate How Can i Do tHat.......

Anonymous user

2 years ago

Firstly thank you so much for such a great project share. I have made up each version, UNO, or Mega, with LCD or OLED displays. For the final version I made the project up with a Pro Mini, but flashed with the UNO bootloader, this seems to free up enough memory to allow the full menu option. Managed to get it into a tiny enclosure which is powered via 3 button cells.

Anonymous user

2 years ago

Thank you very much for the sketch.I'm trying to configure and upload it.The problem is that I can't find where to write the display address I have 3f. And do I need to uncomment #include <LiquidCrystal_I2C. h>. And whether to add the library LiquidCrystal_I2C. h it is not there. The sketch loads normally but the screen shows only squares. Thanks.

plouc68000

2 years ago

you may change the adr in the 2 files ( change in both and verify ) lcd_routines.ino line 446 ( change 0x27 in 0x3f ) lcd_hw_4_bit.ino line 1056 (change 0x27 in 0x3f ) I was thinking all LCD are at 0x27....if not, I will make it possible to change the adr in the Makefle.h I have imbedded the few things I needed from LiquidCrystal_I2C in the sketch, so this Library is not needed.

Anonymous user

2 years ago

Thanks. Everything worked. Only I still didn't understand where to write the display address.Specify the place where you want to change it.

Anonymous user

2 years ago

This project makes famous transistor-tester really open and easy-to-use! Thank you Author! Great job! As my display is 1602 I2C and there was no support for this configuration until a couple of days ago, I found a way out with the help of send method from popular I2C LCD library. I needed only to move send method from private to public section in LiquidCrystal_I2C.h. The modification to lcd_hw_4_bit.ino is high-level and simple: #include <Wire.h> #include <LiquidCrystal_I2C.h> //This LCD I2C library was downloaded from https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library //Send method should be moved from private to public section in LiquidCrystal_I2C.h in order to use it in a sketch. LiquidCrystal_I2C lcd(0x27, 16, 2); // My display is using address 0x27 void i2c_init() { lcd.begin(); lcd.backlight(); // not necessary, because backlight is on by default on startup } void _lcd_hw_write(unsigned char preg_1, unsigned char preg_2){ lcd.send(preg_2,preg_1); } Please write. Where to put exactly LiquidCrystal_I2C.h to earn LCD I2C 1602

plouc68000

2 years ago

Hi Serlen, you are lucky, stucked home because the Covid-19 sanitary emergency, I have produced a more advanced version of the ArduTester, with most common Display drivers. This version I am Testing and then publishing as a new Project, with focusing on 4 Harware Configurations: ( Config. changes only by editing the Makefile.h, then Verify and Upload ). - The UNO with 1602 LCD Parallel interface - The UNO with 1602 LCD with I2C Interface - The MEGA with 1602 LCD with I2C interface ( and Freq Counter ) - The MEGA with Graphic Display 1306 OLED 128 X 64 with I2C interface ( and Freq. Counter ) Here the code for a UNO with a 1602 LCD with I2C interface ( adr. 0x27) https://create.arduino.cc/editor/plouc68000/629cf0ba-4afa-459e-8165-2407f51bbedf/preview SDA,SCL are the standart UNO Pins for I2C. SDA is A4, SCL is A5, Test Button D7, Test Pins A0..A2, RL,-RH D8..D13 Hope it works for you ! Thanks to alanpo for his inputs about the I2C for the 1602 LCD, it was all good hints !

Anonymous user

2 years ago

Hello everyone and a greeting in particular to the master plouc68000 for the great work done and his availability. Recently I approached the immense world of Arduino and recently, after damaging the T4 transistortester, I built your project using a compatible Arduino Uno using a Clover Display M392 display recovered from an old Panasonic Fax but some characters were not compatible (sorry because it was very compact). Now I have a 16x4 display but I'm not able to figure out where to modify to adapt the interface. The display is WINSTAR WH1604A-TMI-ET # (1604A REV.C) blue backlight and white characters. Currently with defoult's 1602 configuration he fills the remaining two lines with another that has nothing to do with the measurement made. At this point I need the hand of an expert. I could kindly ask you to explain to me in an elementary way the procedures so I begin to understand where to intervene on the selection of the hardware and the various configurations? Maybe this will be useful to other enthusiasts. Sorry for my English. Thanks P.S. Despite being a neophyte I have my professional quality equipment for electronic repairs and small DIY projects that I do for hobby and passion investing a lot of time and money like in many hobbies.

plouc68000

2 years ago

You can try this, I have no 4 line LCD to test..... Look for the Tab Makefile.h in the Arduino IDE, thats where the selection of the various configurations is. Remove the comment // on the line #define FOUR_LINE_LCD 0 to enable this line, then verify and upload. // if no LCD specified, its 4 bits parallel // with LCD 7920 serial #define FOUR_LINE_LCD 0 //#define WITH_LCD_ST7565 7920 //#define LCD_INTERFACE_MODE 5

Anonymous user

2 years ago

Thank you for answering. Unfortunately nothing changes or little by deleting //. He does nothing, I will wait for a 1602 LCD to arrive.

Anonymous user

2 years ago

Hi, How to fix Not calibrated! Message..... not solve this code //measure Zero offset for Capacity measurement PartFound = PART_NONE; lcd_clear(); lcd_MEM_string(C0_str); //output "C0 " do { ReadCapacity(TP3, TP1); adcmv[5] = (unsigned int) cap.cval_uncorrected.dw; } while ((adcmv[5] > 190) || (adcmv[5] < 10)); // add some filtering debug JLG do { ReadCapacity(TP3, TP2); adcmv[6] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:3 } while ((adcmv[6] > 190) || (adcmv[6] < 10)); // add some filtering do { ReadCapacity(TP2, TP1); adcmv[2] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 1:2 } while ((adcmv[2] > 190) || (adcmv[2] < 10)); // add some filtering do { ReadCapacity(TP1, TP3); adcmv[1] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:1 } while ((adcmv[1] > 190) || (adcmv[1] < 10)); // add some filtering do { ReadCapacity(TP2, TP3); adcmv[4] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:2 } while ((adcmv[4] > 190) || (adcmv[4] < 10)); // add some filtering do { ReadCapacity(TP1, TP2); adcmv[0] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:1 } while ((adcmv[0] > 190) || (adcmv[0] < 10)); // add some filtering

Anonymous user

2 years ago

Good Evening. very nice job. I want your help. I opened the folder with the files and I lost so many. please can you tell me how I should burn it him controllers for arduino uno. I would appreciate watching a video.

plouc68000

2 years ago

it loads into the UNO like any other sketch.... Just Press Verify, then Upload

Anonymous user

2 years ago

How could I always display value of inductor in micro H instead of mili H in decimals?

Anonymous user

2 years ago

Very nice work, thanks for sharing. can I use a rotary encoder? If so, where should I conect it. Or the rotary encoder code is just for testing a rotary?. I would like to use it over the menu.

bashomil

2 years ago

How place components and wire because not appear on breadboard

Anonymous user

2 years ago

Tester can testing inductor?tx u

Anonymous user

2 years ago

If this project works believe me I will be very happy with it. I love the idea of making my own test equipment, and this project idea is a perfect example of this. Thanks. I hope to return the favor one day.

Anonymous user

2 years ago

Sir proteous simulation of this circuit doesn't work. And how put so many .ino files in audrino. can it vertual run is possible??

Anonymous user

2 years ago

I like this project However I would like to ask what needs to be done to be used with Arduino LCD keypad Shield Thank you

Anonymous user

2 years ago

Thank you again for you time I have tested however I am experiencing a conflict with test pin and backlight of LCD here is attached the info of the LCDpad https://wiki.keyestudio.com/Ks0256_keyestudio_LCD1602_Expansion_Shield

plouc68000

2 years ago

you can try this version I modified for the LCD_KeyPad_Shield https://create.arduino.cc/editor/duemilaventi/6c27ed2f-3415-4832-a1ba-dc0adf4acdd2/preview?F=config.h

Anonymous user

2 years ago

Great help and many thanks for this project Much appreciated!

Anonymous user

2 years ago

I am having slightly different Pin 10 is backlight LCD/if i am not wrong RH1 pin 3 RL1 pin 2 RH2 pin 13 RL2 pin 12 RH3 pin 11 RL3 pin 10/LCD/available is pin digital pin 1 What correction I need for that Appreciate your time and many thanks for the help

Anonymous user

2 years ago

Hello again I have modified the shield and isolated pin 10 making it available as RL3. In general it works but I am experiencing a lot of unreadable symbols on the LCD like missing symbols or first line not readable what is the cause for that? Eventually on 5 or 6th attempt will show complete reading ?

plouc68000

2 years ago

That's a good idea to use this shield ! There are some pins redefinition to do in the software, I can look, but first must organize such a shield....

plouc68000

2 years ago

Test pins in your case should be A1, A2, A3 rather then A0,A1,A2 because A0 is taken for keypad. Test button is Key Right

Anonymous user

2 years ago

Many thanks for that! one question: what about the digital pins for the testing terminal? What are their numbers These are occupied by LCD: LCD RS pin to digital pin 8 * LCD Enable pin to digital pin 9 * LCD D4 pin to digital pin 4 * LCD D5 pin to digital pin 5 * LCD D6 pin to digital pin 6 * LCD D7 pin to digital pin 7 * Button pin to analog pin A0

plouc68000

2 years ago

Thanks for the feedback, I have exactly the same behavior... The solution you have is the best possible for the moment..... The problem is that the LCD Shield has the LCD Signals spread on both Ports, Port D ( DB4...DB7) and Port B ( RS, E ) Port B is used for the Test Resistors ( digital 8 ...13 ) and should not be mixed with the LCD Pins RS, E It would need much deeper changes in the software then only config.h to solve this issue..... Here the warnings in the software concerning the Pins for the Test Resistors : /* ************************************************************************* */ /* Port for the Test resistors */ /* ************************************************************************* */ /* The Resistors must be connected to the lower 6 Pins of the Port in following sequence: RLx = 680R-resistor for Test-Pin x RHx = 470k-resistor for Test-Pin x For ATmega328 you can define any pin number for every resistor in any order. For other processors the RHx pin must one number higher than the RLx. The default layout is: RL1 an Pin 0 RH1 an Pin 1 RL2 an Pin 2 RH2 an Pin 3 RL3 an Pin 4 RH3 an Pin 5

plouc68000

2 years ago

RH1 pin 3 RL1 pin 2 RH2 pin 13 RL2 pin 12 RH3 pin 11 RL3 pin 10

Anonymous user

2 years ago

I do appreciate your effort in looking into

Anonymous user

2 years ago

can somebody give me component tester sketch for pro micro... because i only have one arduino pro micro. and i want to see component's test result on pc on serial monitor because i don't have any display for arduino.... i want to fix an lcd panel and for that i need to test some components on that lcd panel board ....

plouc68000

2 years ago

sorry, the original Transistor Tester and therefore the Arduino sketch works only for UNO and MEGA... I tryed to run in mega32U4, which is the chip for Pro Micro, but found too much issues to solve...... Here the listing of chips working..... // select the right Processor Typ #if defined(__AVR_ATmega48__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega48P__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega88__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega88P__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega168__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega168P__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega328__) #define PROCESSOR_TYP 328 #elif defined(__AVR_ATmega328P__) #define PROCESSOR_TYP 328 #elif defined(__AVR_ATmega324__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega324P__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega324PA__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega644__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega644P__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega644PA__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega1284__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega1284P__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega640__) #define PROCESSOR_TYP 1280 #elif defined(__AVR_ATmega1280__) #define PROCESSOR_TYP 1280 #elif defined(__AVR_ATmega2560__) #define PROCESSOR_TYP 1280

Anonymous user

2 years ago

This project makes famous transistor-tester really open and easy-to-use! Thank you Author! Great job! As my display is 1602 I2C and there was no support for this configuration until a couple of days ago, I found a way out with the help of send method from popular I2C LCD library. I needed only to move send method from private to public section in LiquidCrystal_I2C.h. The modification to lcd_hw_4_bit.ino is high-level and simple: #include <Wire.h> #include <LiquidCrystal_I2C.h> //This LCD I2C library was downloaded from https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library //Send method should be moved from private to public section in LiquidCrystal_I2C.h in order to use it in a sketch. LiquidCrystal_I2C lcd(0x27, 16, 2); // My display is using address 0x27 void i2c_init() { lcd.begin(); lcd.backlight(); // not necessary, because backlight is on by default on startup } void _lcd_hw_write(unsigned char preg_1, unsigned char preg_2){ lcd.send(preg_2,preg_1); }

Anonymous user

2 years ago

Hi, when i try to verify the code it gives me an error in "ArduTester_1_13"; it says:"redefinition of 'void setup()'. any solutions to solve that?

Anonymous user

2 years ago

It works very well! thanks a lot...

Anonymous user

2 years ago

Happy New Year! Connect the display ST7735 from the last link. In the config.h I changed the pins as I like. Works. But the menu consists of five items and change is not possible. Fonts do not change. The measurements are correct. After the measurement goes into reboot. I will continue to test. Thanks for the work you've done!

plouc68000

2 years ago

Happy new year ! Thanks for your testing efforts..... I know there are still things to improve...its a exciting project. () fix the Not calibrated message ( I guess the EEPROM storage is not working propperly ) and Arduino IDE cannot burn the initial values in EEPROM from the original TransistorTester.eep file, so there is some Arduino Code to write to go around this problem.. ()fix the reboot problem. My observations, I have a MEGA 2560 hardware with a Adafruit LCD , it starts better ( no reboot ) when you start without a device under Test connected, means TP1, TP2, TP3 open. After a reset on Arduino, you get ( mostly ) No, unknown or damaged part ? then the Not calibrated! then short press on Test restart a Testing.... A long Press gives the menu, short press moves the selection, long Press to go into Selected Item. The menu Items are fully functional ! For the frequency menu item, this works only on a MEGA2560, the UNO is not enought because Timer is used by Arduino System routines. Thanks for your testing efforts, continue to report what you find, I will report when I have made improvements in the code .

Anonymous user

2 years ago

Hello. Great work done !!! I will try to attach the display ST7735. It turns out or not, what is your opinion? Thank.

Anonymous user

2 years ago

Nice job well done I respect your project Pls I would be so happy if I can have the code send to my email I can't copy the one I downloaded is complaining of resistor tester not in the library okunlolaayo@gmail.com

plouc68000

2 years ago

Hello, here a version with the full lcd_hw_4_bit.ino file translated to Arduino. However, its untested and no peer review yet. You need to uncomment the suitable display lines in Makefile.h to select the display you want, by default as it is now, its the 4 bit parallel 16 X 2 1602 2 lines display. The untested software has a separate Link, I merge it in the project when fully tested. https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview Just Verify and upload, or Edit Makefile.h, Verify and upload. You may write to my email if you dont want to overload the discussion here.... Thanks for having a look and trying your LCDs....

plouc68000

2 years ago

The Current Sketch only works with the 4 Bits 1602 LCD which is included in most Arduino UNO Starter Kits. It is not impossible to add other displays, not shure if graphical display support will fit in the Arduino UNO Memory size, but certainly in the MEGA 2560, there is still work to do in converting ALL the original LCD support assembler file lcd_hw_4_bit.S into the lcd_hw_4_bit.ino ( the actual version also supports the LCD 7920 Serial in Text Mode, this was done together with a Arduino UNO enthusiast from Italy ). I have little time to expand this project further, but if some Arduino enthusiast has made further conversion to Arduino of the LCD support assembler file, I will be pleased to update the corresponding.ino files of this project. Contact me for that purpose only on my email ( see contact information in ReadMe.adoc ).

plouc68000

2 years ago

Thanks, I will tell here when the ST7735 support will be implemented in Arduino Code, so you may test it....I guess before Christmas......(:-)

Anonymous user

2 years ago

OK!

Anonymous user

2 years ago

Hello. All attempts to connect ST7735 are unsuccessful ((. After reviewing the sketch, I realized that there is no support for many displays. I cannot disassemble, but I can test the sketch in work. Thank you.

Anonymous user

2 years ago

Sir i want to add 1306 i2c lcd how can i do that

Anonymous user

2 years ago

Hello, I would like to let you know that your transistor tester does not work for me at all. I have hardware-wise everything wired and connected to arduino uno and then uploaded the software, but the display remains blank. the display is a 16x2 display. I would like to see it working, can you help me with this .. ??

Anonymous user

2 years ago

Sorry for the bad English. Can I use an old Adafruit Graphic ST7565 Negative LCD (128x64) with RGB display? If so what changes do I have to make to the sketch to make it work? Can I use an Arduino Nano (does the display have CS-RST-A0, -SD (SPI_MODE)? Sorry for the many questions and thanks for the possible answer. Vittorio

plouc68000

2 years ago

Look in the Makefile.h You have to uncomment this Display selection /* with LCD ST 7735, uncomment next lines */ //#define FOUR_LINE_LCD 0 //#define WITH_LCD_ST7565 1 //#define LCD_ST_TYPE 7735 //#define LCD_ST7565_RESISTOR_RATIO 4 //#define FONT_8X12thin //#define ICON_TYPE 2 //#define BIG_TP //#define LCD_INTERFACE_MODE MODE_SPI //#define VOLUME_VALUE 25 //#define DLCD_ST7565_V_FLIP 1 //#define DLCD_ST7565_H_FLIP 1 //#define DLCD_ST7565_H_OFFSET 4 make this board selection to UNO /* Board selection UNO or MEGA */ //#define PARTNO m2560 // uncomment in case of MEGA 2560 board #define ARDUINO_UNO // uncomment in case of UNO board #define NO_FREQ_COUNTER // uncomment when UNO Board , FREQ counter function only with MEGA 2560 Board and disable the MENUso the Code size fits //#define WITH_MENU 0 The Pinout from Paralell LCD to SPI is probably DB4 -> RST-RE DB5 -> RS -A0-DC DB6 -> SCL-EN DB7 -> SDA-B0 RS -> E -> CS-E-CE

plouc68000

2 years ago

Honestly I have Tested the SPI several month ago with the MEGA... I havent checked with the UNO, because the memory size is limiting the MENU.... You could test with a MEGA ? I could look for a UNO ( to verify and tell you the pinout for the LCD ) , but give me a few days.... But why you want SPI when you could use much simpler I2C for Graphic Display ( look the 4 configurations I recommand with the Millenium Project ) ?

plouc68000

2 years ago

I have Tested the 1306 SPI with the UNO the right pins for SPI mode are... ( there is a big variability in SPI Display pin Names, so I noted the equivalent pins ) Digital 0 - RST or RES Digital 1 - RS or DC or A0 Digital 2 - EN or D0 or SCL Digital 3 - B0 or D1 or SDA Digital 5 - CE or CS or E

Anonymous user

2 years ago

Thanks for the reply, but the display does not work with DB4, DB5, DB6, DB7 or pin2 pin3, pin4, pin5, or pin 4, pin5, pin6, pin7. In the configuration.h file for the mega328 processor (UNO or Nano) there are 4 possibilities for SPI_MODE, three with STRIP_GRID_BOARD and one without STRIP_GRID_BOARD. I have tried all four, but the display remains white. I have tested the display with an example schetch that uses the ST7565.h library and it works. Sorry again for the questions. Kind Regards Vittorio

Anonymous user

2 years ago

Thanks for your patience. I just wanted to try this display I had at home. I will try with a mega, but mine was only a test, the final version will be with the millenium project, but with a larger display, at my age my eyesight is poor. Thanks again Kind greetings Vittorio

Anonymous user

2 years ago

How donlod lybrary file

Anonymous user

2 years ago

Hi, I am a complete novice to Arduino, and electronics generally, however, I recent bought an Arduino based kit and have 'built' the ardutester on on the breadboard. I am using a Mega2560 R3 and the display says 1602A and QAPASS on the rear. It is the display which came with the Elegoo Most Complete Starter Mega 2560 kit. I have uploaded the sketch, and added the zip file to the library, but when I power up the board I just get a series of 16 blocks on the top row of the display. Pressing the reset button on the Arduino board or the breadboard doesn't do anything at all. I have completed the wiring as per the schematic and checked it several times. Do I have to make any changes to the sketch? Please bear in mind that I am a very naive, but willing to learn, novice and I apologise if this is not the forum to post such a basic question. Thanks

plouc68000

2 years ago

look also in my Millenium Project for the wiring of the MEGA https://create.arduino.cc/projecthub/plouc68000/ardutester-millenium-the-ultimate-uno-mega-versions-c81db4?ref=user&ref_id=680368&offset=0 Look at MEGA with 1602 I2C then change display wiring to parallel as indicated above.

plouc68000

2 years ago

you said : Also, pressing the test button doesn't do anything at all. I have wired it with 5v going through a 10k ohhm resistor which is then connected to one side of a switch and to pin 29. The other side of the switch is connected to ground. Is that correct? Yes, but the swich has 4 pins, they are not all equal. Verify that pin 29 has 5V when switch no pressed and 0V when switch pressed. you said : However, after the initial boot screen, showing Ardutester v1.13, it then says it is testing, with dots showing the progress, then, whether anything is connected or not I get the following on screen: - N-JFET 123=?G? I=3.5mA@Vg=0mV +- I guess you have wiring errors with the test pins or the test resistors. When I give express wiring instructions for the MEGA Express wiring instruction : TP1..3 - A0..A2, RL..RH - A8..A13, Test - D29 it means : Test Pin 1 =A0 ( Analog In of Mega ) Test Pin 2=A1 Test Pin 3=A2 RL is 680 Ohm ( Resistor Low), there are 3 of them, RL1, RL2, RL3 RH is 470 kOhm ( Resistor High ), there are 2 of them RH1, RH2, RH3 RL1 is connected between A8 an TP1 RH1 is connected between A9 and TP1 RL2 is connected between A10 an TP2 RH2 is connected between A11 and TP2 RL3 is connected between A12 an TP3 RH3 is connected between A13 and TP3 Check your wiring with this and it will work ! You said : That stays on screen for a few seconds and then it changes to: - Not calibrated! Thats normal behavior, dont care about this message

plouc68000

2 years ago

Check the wiring ( Mega 2560 and paralell 1602 ) against this list below : Digital 29 Test button to GND and Pullup 10K to 5V ( will not work if you leave D29 open ) 22 D4 of 1602 23 D5 24 D6 25 D7 26 RS 27 E Then the Makefile.h is made for UNO, you must edit a bit you must have at least #define PARTNO m2560 (uncomment this line ) #define ARDUINO_MEGA (uncomment this line ) //#define ARDUINO_UNO (comment out this line) Then verify and Upload

Anonymous user

2 years ago

I have now got the Ardutester to boot up, following the changes you suggested I make. Thanks. However, after the initial boot screen, showing Ardutester v1.13, it then says it is testing, with dots showing the progress, then, whether anything is connected or not I get the following on screen: - N-JFET 123=?G? I=3.5mA@Vg=0mV +- That stays on screen for a few seconds and then it changes to: - Not calibrated! Also, pressing the test button doesn't do anything at all. I have wired it with 5v going through a 10k ohhm resistor which is then connected to one side of a switch and to pin 29. The other side of the switch is connected to ground. Is that correct? Thanks.

Anonymous user

2 years ago

Hi plouc68000, Thanks for bearing with me on this, although I still cannot get the tester to work. It goes through the boot process, starts to test, but then comes up with different types of component and sometimes says 'component damged or not known'. Below I have listed every connection I have coming from the Arduino Mega2560 and the display. SCL to 21SCL on the borad SDA to 20SDA on the board Digital PWM 8 to 1 leg of the 680 ohm resistor Digital PWM 9 to 1 leg of the 470 ohm resistor Digital PWM 10 to 1 leg of the 680 ohm resistor Digital PWM 11 to 1 leg of the 470 ohm resistor Digital PWM 12 to 1 leg of the 680 ohm resistor Digital PWM 13 to 1 leg of the 470 ohm resistor AO to the other legs of both resitors -TP1 A1 to the other legs of both resitors -TP2 A2 to the other legs of both resitors -TP3 Digital 22 to D4 on the display Digital 23 to D5 on the display Digital 24 to D6 on the display Digital 25 to D7 on the display Digital 26 to RS on the display Digital 27 to E on the display Digital 29 is connected to 5v via a 10k ohm resistor and ground via a switch VSS on the display is connected to ground VDD is connected to 5v VO on the display is connected to ground via a 1k ohm resistor RW on the display is connected to ground K on the display is connected to ground A on the display is connected to 3.3v on the Arduino board. The only changes I have made to the sketch are in the makefile.h and are as follows: - #define PARTNO m2560 // uncomment in case of MEGA 2560 board, by default ist Genuino UNO #define ARDUINO_MEGA /* if no graphical type LCD specified below, its 4 bits parallel mode 1602 LCD by default */ #define WITH_1602_I2C #define LCD_I2C_ADDR 0x27 Does this look right, or have I done something wrong? Thanks in anticipation.

Anonymous user

2 years ago

Hi again plouc6800, I think I have made school boy error!!!!!! I have just re-read your previous message and have seen that you say that RH is 470k ohms, and not 470 ohms, as I read it. I have had to order some of these, so I will let you know how I get on when they arrive. Thanks again.

Anonymous user

2 years ago

Thanks very much for your reply plouc68000. I will give that a go later. Is there a Fritzing schematic for the Ardutester for a Mega 2560? I have got the schematic from page 33 of Karl-Heinz Kübbeler article but, being a complete novice and learner, I cannot understand how the test switch wiring works. Is it the same as it is for the UNO, as shown above, but with pin 29 being used rather than A3? I appreciate you bearing with me on this. Cheers

Anonymous user

2 years ago

Hi. Does this code work with the arduino NANO? Thank you.

plouc68000

2 years ago

it should, because nano is a small sized UNO. Have you tried ?

plouc68000

2 years ago

you haven't tried hard enough... Here a photo with a Nano https://www.cjoint.com/c/IKvnjTaqsjC Here a photo with a Pro Mini https://www.cjoint.com/c/IKvnmrJNZPC Check the wiring with the file ReadMe.adoc == Step 2: Assemble the circuit Assemble the circuit following this instruction: 1. Look at your Arduino/Genuino Uno pins: -Pin ANALOG IN A0 (PC0) is TP1 ( ArduinoTester Pin 1 ) -Pin ANALOG IN A1 (PC1) is TP2 ( ArduinoTester Pin 2 ) -Pin ANALOG IN A2 (PC2) is TP3 ( ArduinoTester Pin 3 ) -Between A0 and DIGITAL 8 (PB0) connect a 680 Ohm Resistor -Between A0 and DIGITAL 9 (PB1) connect a 470 kOhm Resistor -Between A1 and DIGITAL 10 (PB2) connect a 680 Ohm Resistor -Between A1 and GIGITAL 11 (PB3) connect a 470 kOhm Resistor -Between A2 and DIGITAL 12 (PB4) connect a 680 Ohm Resistor -Between A1 and DIGITAL 13 (PB5) connect a 470 kOhm Resistor -Pin ANALOG IN A3 to a 10 kOhm pullup Resistor at 5V and via the Test Button to GND 2. Look at your 2 Line LCD HD44780 Compatible ( 4 Bits Data ): -Connect DIGITAL 5 to LCD DB4 -Connect DIGITAL 4 to LCD DB5 -Connect DIGITAL 3 to LCD DB6 -Connect DIGITAL 2 to LCD DB7 -Connect DIGITAL 7 to LCD RS -Connect DIGITAL 6 to LCD E -LCD LED- to GND -LCD LED+ to 3,3V -LCD VDD to 5V -LCD VSS to GND -LCD R/W to GND -LCD VO to 10 kOhm Pot. ( Contrast Adjust. ) == Step 3: Load the code

Anonymous user

2 years ago

Si, probe pero no pude hacerlo andar :(

Anonymous user

2 years ago

Hola, muy bonita tarde; de entrada permítame felicitarle por este trabajo que resulta de mucha utilidad. He intentado reproducir este proyecto y he seguido los comentarios en esta página; pero los resultados que he obtenido no son completamente satisfactorios, usando la versión ArduTester_more6, resulta que no funciona el botón de prueba, como si no existiera, y no hay tiempo suficiente para leer los resultados, como si el ciclado no le permitiera hacer pausas; francamente solo soy un humilde aficionado y no me atrevo a modificar el boceto; sin embargo probé la versión TT_1_13_UNO y funciona muy bien, claro este no presenta el menú y tiene algunas otras limitaciones. No se si halla forma de apoyarme a saber que sucede para lograr que la ultima versión funcione como debe. De antemano gracias por su valiosa aportación y tiempo.

Anonymous user

2 years ago

Disculpa, cometí un error en mi comentario anterior, la versión que me funcionó muy bien es el 1.08a y no el TT_1_13_UNO.

Anonymous user

2 years ago

I would like to thank you for all the fantastic support you have shown here. it seems i am not the only newbie and i see you seem to address everyone's issues and struggles. Thank you. I would also like to ask about my switch showing no response. I have the Mega mcu and the "ArduTester_more6" firmware connected to a 1602 i2c display. My pin 29 shows 4.71 v without the button pressed and 0 v with the button pressed. It makes no difference to the tester, long press or short press. I cannot get to the menu which is the reason for the switch to the Mega from the Uno. The tester will test what i have connected such as transistors and mosfets (as far as i can tell, it gives me values but i haven't yet learned what to do with them all) but i have a resistor hooked up and the tester tells me that it finds nothing, maybe i need to get into the menu and go into the resistor mode but i am stumped. Thank you in advance. And please keep up the great support, this is my first project and i really enjoy building my own tools.

plouc68000

2 years ago

You are shure you are on pin 29 ? ( there are many pins on this connector, a mistake is easy possible ). Does a short press on Test Button re-initiate the Test ? if yes, long Press should work yoo. You should do long Press after the Test is done...Press long until you see the menu....

Anonymous user

2 years ago

Hi i tried this project using 1602 lcd and arduino uno but my lcd shows some random things. can anyone pls help me to solve this problem?

Anonymous user

2 years ago

I had some troubles too, make sure you are connecting 1602 pins to arduino the right way, arduino pin 2 to ldc D7, arduino pin 3 to lcd D6, arduino pin 4 to lcd D5, arduino pin 5 to lcd D4, arduino pin 6 to lcd E, arduino pin 7 to lcd RS.

Anonymous user

2 years ago

I will try to make it work with the Lylipad, any toughts? At first I was only going to make a capacitance meter (www.electronoobs.com/eng_arduino_tut10_1.php) because my multimeter don't read small and big capacitors, but this one covers so many things..

liron288

2 years ago

hi ty for making this project. i want to make the same priject but i want to show the h-parameters graphs of bjt and ID/VGS graphs of FET is that possible with this project and can you give me points on how to do it? ty.

liron288

2 years ago

hi will it work with Arduino Due? ty.

Anonymous user

2 years ago

There is 23 .h libery file like makefile.h transistortester.h , maths.h , config.h i cant find it

Anonymous user

2 years ago

Hello! This does it work with arduino nano?

Anonymous user

2 years ago

Hi Nice job Well done I like your project. I have an issue with ArduTester_more Arduino MEGA2560 and OLED display ----------------------------------- #endif const unsigned char bmp_one_data[(TP_DATA_COUNT * 1) + 2] PROGMEM ={ -------------------------------------------------- Using library Adafruit_BusIO at version 1.11.3 in folder: /home/petty/Arduino/libraries/Adafruit_BusIO Using library Wire at version 1.0 in folder: /home/petty/.arduino15/packages/arduino/hardware/avr/1.8.5/libraries/Wire exit status 1 redefinition of 'const unsigned char bmp_one_data [7]' Thanks.

plouc68000

2 years ago

Fix for the "Not Calibrated" Message..... replace code section by this one in file ArduTester_1_13.ino search on "//measure Zero offset for Capacity measurement" to find where... Then verify, upload and enter Calibrate mode by shorting TP1,TP2,TP3 and Test. After successfull Calibrate, the message "not Calibrated" will disappear. //measure Zero offset for Capacity measurement PartFound = PART_NONE; lcd_clear(); lcd_MEM_string(C0_str); //output "C0 " do { ReadCapacity(TP3, TP1); adcmv[5] = (unsigned int) cap.cval_uncorrected.dw; } while ((adcmv[5] > 190) || (adcmv[5] < 10)); // add some filtering debug JLG do { ReadCapacity(TP3, TP2); adcmv[6] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:3 } while ((adcmv[6] > 190) || (adcmv[6] < 10)); // add some filtering do { ReadCapacity(TP2, TP1); adcmv[2] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 1:2 } while ((adcmv[2] > 190) || (adcmv[2] < 10)); // add some filtering do { ReadCapacity(TP1, TP3); adcmv[1] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:1 } while ((adcmv[1] > 190) || (adcmv[1] < 10)); // add some filtering do { ReadCapacity(TP2, TP3); adcmv[4] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:2 } while ((adcmv[4] > 190) || (adcmv[4] < 10)); // add some filtering do { ReadCapacity(TP1, TP2); adcmv[0] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:1 } while ((adcmv[0] > 190) || (adcmv[0] < 10)); // add some filtering

Anonymous user

2 years ago

I bought a LCR-T4 Mega328 tester, but there are problems with Mosfet and 2 diodes. A software version is not displayed. I wanted to use version V1.13. If that doesn't work, I won't get the current firmware again and can dispose of the tester. That's why I took an Arduino-Uno. Some resistors, a button on a breadboard circuit board and the display via serial monitor to test the usability. Transistors are correctly overlooked. Resistance cannot be recognized. 1 KOhm display correct. 10 KOhm as 13 KOhm and 20 KOhm as 15 KOhm! Comes without a connected component 15:17:04.363 -> Testing. 15:17:04.827 -> ...... 15:17:07.609 -> 15:17:07.609 -> 2-||-32 67.75kL 15:17:08.006 -> 260.9kh 260.9kH 15:17:08.006 -> 454.0kd RR-3 15:17:08.006 -> 207.5uF ESR=13Ohm 15:17:39.969 -> 15:17:39.969 -> ArduTester V1.13k 15:17:40.134 -> 15:17:40.134 -> Testing. 15:17:40.565 -> ...... 15:17:45.334 -> 15:17:45.334 -> 1-||-3 [C] 15:17:45.334 -> ? 15:17:47.454 -> 1-||-31 68.10kL 15:17:47.984 -> 260.9kh 260.9kH 15:17:47.984 -> 453.6kd RR-3 [C] 15:17:47.984 -> 42.16uF ESR=13Ohm 15:17:50.269 -> 1-||-3 [C] 15:17:50.369 -> .00pF 15:17:52.654 -> 1-||-3 [C] 15:17:52.754 -> .00pF 15:17:54.907 -> 1-||-3 [C]

krakun113

2 years ago

How to fix ardutester problems: - Capacity measured on empty entry. - Do not store configurations. https://youtu.be/Gh-NDk-FYR0 https://arduinojehra.infinityfreeapp.com/nanohtmlen/ArduTester-en.html

plouc68000

2 years ago

Good catch with D13 and the Led Problem ! For the not store calibration, its solved, look the post before Fix for the "Not Calibrated" Message.....

Anonymous user

2 years ago

Hi! I have this problems but I use Arduino UNO R3. Try removing L led = nothing Try connecting the 9v battery in jack connector = nothing Try connecting a external power supply and the capacity measured on empty entry is gone, but not store configurations. Any idea?

Anonymous user

2 years ago

Hallo, at first i must say it´s a great thing you made with the Ardutester making it possible to build it up with an Arduino! I´ve made it with your newest Code from 02.04.2020 with I2C and 1602. It works very fine!!! But i got a few questions on it. Every time while no component is connected it measures some capacity of about 60µF-500µF and doesn´t say "No, damaged component connected". My Controller is an Arduino NANO and of course i´ve tried it with several Microcontrollers like "Maker Uno", Arduino from "Velleman" and another NANOs. Another Breadboard didn´t help me neither. Do you have a good tip for a solution of the problem or depends it on the Breadboard and the cables etc. itself? Does anyone else have any Problems like this? Another question is, what is the best display you can refer to and how could i get it on the sketch to work? Furthermore i want to control it with a rotary encoder. What do you recommend for me an a rotary encoder. Works it with the R.Enc. from the Arduino SET from "ELEGOO" ? Millegrazie for your help and stay healthy!!! Greetings from Bavaria / Germany Tom ;-)

Anonymous user

2 years ago

Im too 😥

plouc68000

2 years ago

you said : Greetings from Bavaria / Germany Wir spechen Deutsch, ich Elsass, momentan Arduino Labor auf CaboVerde..... You said : Every time while no component is connected it measures some capacity of about 60µF-500µF and doesn´t say "No, damaged component connected" I had this from time to time... May be a hardware issue....You have your Arduino on a working table ? Because the Arduino back side should not touch a surface which is not perfectly isolating. Nano Ampere leakage is enough to disturb the C Testing.....Try with a plexiglass or transparent plastic sheet under the Arduino and Report..... You said : Another question is, what is the best display you can refer to and how could i get it Dont full understand the question, but I2C LCD 16X2 is cool, the I2C OLED 1306 is a bit too small, I guess there are bigger OLED available, but havent searched yet. If somenone knows about, tell here.... You said : Furthermore i want to control it with a rotary encoder. What do you recommend for me an a rotary encoder. Works it with the R.Enc. from the Arduino SET from "ELEGOO" ? Havent't looked for rotary function yet, its on my list.....Problem, where I am, no way to find a rotary switch. If you like to send one to me, I give you my postal address from Caboverde by email plouc68000@gmail.com. Und Tchüss !

Anonymous user

2 years ago

Hello plouc68000 and other, Nice made project with the Arduino, but...... The Problem... The same problem as Demonic87 have i also with a lot of my tested versions. "Every time while no component is connected it measures some capacity of about 60µF-500µF and doesn´t say "No, damaged component connected" I have tested it with several NANO versions (with blue board) all the same problem, but when i tested it with two NANO's from ROBODYN, it works fine.YES no problem! Same processor number MEGA328P. All the boards are new and working normally good. I have also tested it with a UNO board, (i use for my trainings, i am a Arduino teacher) (The red RICH-UNO board) i have the same problem, i have tested it with several ATMEGA328 processors, but all the same. With the NANO, i use the parallel LCD 1602 display, with the RICH-UNO board the I2C display. The displays works in all these cases good, but the same problem, nothing connected, mostly, 55uF value. I have tested and measured, the is no leakage or something else on the board. There must be something special, most of my boards have the problem decribed by Demonic87. Please can you look at this problem with the hardware. Question 1 When a value is measured, i always see 1-||-3 and directly there behind a 1, what will that indicate? Is it good? Now it looks 1-||-31. 31 at the end, No 3. Question 2 Is it possible to change the button to another pin, and inverted. (active pos) My RICH-UNO board has some (fixed) keys on board, i will use them. Greetings from the Netherlands, Ruud vd Meer.

Anonymous user

2 years ago

I have tested the same situation with an old version of the Version 0.7 Ardutester. The same result, only the NANO version from Robotdyn is working correct. I have a few of them, all are working good. But other boards give the same result. By testing without components i get a value on the display of 40 - 60 uF. NO pf, but uF that is off course wrong. It makes no different, DIL of SMD version. Also after, testing, (a sort of calibrating) the same. But with the old SW after testing, (with the wrong boards) i get an Error! message. With the good boards everything works fine. But i will use the software on the Rich-UNO board, (with an DIL ATMEGA328P) Yes i have tested it also on an SMD UNO board, with the same wrong result. And that will not work good. Recognize somebody this problem, who know a solution for it? Thanks. Ruud

Anonymous user

2 years ago

Hello master, I am very interested in your ardutester project. I have studied and then practiced your ardutester circuit and sketch. I use an arduino uno board and a standard 1602 LCD. They measure the components with precision. Because there is no frequency counter and f-scaler for the board arduino uno, next I want to add a frequency counter and f-scaler to your sketch. What should I do for your sketch?

plouc68000

2 years ago

The FREQ counter is included, however it need a Arduino MEGA2560 Board.....to work with the Arduino environment ( more Program memory and Timers in the MEGA ).

Anonymous user

2 years ago

Hello sir, I have succeeded with Arduino Uno Clone. But there is a problem with the Arduino Nano Clone, it can still measure components. if no components are measured, the LCD always displays a capacitor with a value of 48uF and ESR = 120Ohm. what is the cause?

plouc68000

2 years ago

the most likely is a wiring error to the RL, RH Resistors or Test Pins and Nano Pins. Here the picture with the nano and LCD parallel interface from above in comments. https://www.cjoint.com/c/IKvnjTaqsjC

Anonymous user

2 years ago

Can I have pintout connection for Mega2560 as I am finding issue with D4,D6,D7 of Uno in config.h. Also PE6-->INT6 is not availablein Mega pinout daigram.

plouc68000

2 years ago

Chapter2.9 https://github.com/svn2github/transistortester/blob/master/Doku/trunk/pdftex/english/ttester.pdf

Anonymous user

2 years ago

I have the missing fonts folder as collect it from old archives and I started on 7735 Display.How can I add missing fonts to zip ?. Note: Make file was missing "#define LCD_ST_TYPE 7735" to enable ST7735 display.

plouc68000

2 years ago

You should use this testing link to download the sketch , the fonts are included in this project https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview

Anonymous user

2 years ago

What do I do with the file I have downloaded the code.

Anonymous user

2 years ago

What do you do with the file that is downloaded, I'm using a mobile app to configure my uno (arduinodroid).

Anonymous user

2 years ago

**SSD1306 isn't working.** I have uncommented the following lines in Makefile.h: #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2 #define LCD_ST_TYPE 1306 _(my lcd's I2C address is 0x3C)_

Anonymous user

2 years ago

Hello, if you have the time and means, can you help me online with this project for my bachelor's thesis, thanks in advance for your reply.

Anonymous user

2 years ago

Going back to my amazing-vacuum-tubes.com site, I just saw a link to your posts! A treasure of knowledge and congratulations on it! Well done, it's a pleasure to read you...

softsubu

2 years ago

Hi, How to fix Not calibrated! Message.....

Anonymous user

2 years ago

Hello what choose uH,MH idicator testing cod 🤔

Anonymous user

2 years ago

Hello, I have problems when I tried run whit nano and oled 1306, in th the makefile I changed this lines: // if no LCD specified, its 4 bits parallel // with LCD 7920 serial #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2 #define LCD_ST_TYPE 1306 #define LCD_I2C_ADDR 0x3c But the code don´t compiled, well how can I make it work whit arduino nano and OLED1306?

plouc68000

2 years ago

Look at the Project update here https://www.hackster.io/plouc68000/ardutester-millenium-the-ultimate-uno-mega-versions-c81db4 The use case 4 describes the use with a OLED 1306 I2C and the makefile changes, however, it needs a MEGA2560, it will not work with a UNO or nano Cheers !

RafaelAvila

2 years ago

Hi Plouc68000, i have one question.. is possible use one TFT ILI9341 with your code? or how to adapt? the tft in question is a ILI9341 serial (ID == 0x7575)

Anonymous user

2 years ago

There is 23 .h libery file like makefile.h transistortester.h , maths.h , config.h i cant find it

Anonymous user

3 years ago

Why did I connect everything and it only shows me on the computer monitor but not on the lcd screen?

softsubu

3 years ago

Hi, How to fix Not calibrated! Message..... not solve this code //measure Zero offset for Capacity measurement PartFound = PART_NONE; lcd_clear(); lcd_MEM_string(C0_str); //output "C0 " do { ReadCapacity(TP3, TP1); adcmv[5] = (unsigned int) cap.cval_uncorrected.dw; } while ((adcmv[5] > 190) || (adcmv[5] < 10)); // add some filtering debug JLG do { ReadCapacity(TP3, TP2); adcmv[6] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:3 } while ((adcmv[6] > 190) || (adcmv[6] < 10)); // add some filtering do { ReadCapacity(TP2, TP1); adcmv[2] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 1:2 } while ((adcmv[2] > 190) || (adcmv[2] < 10)); // add some filtering do { ReadCapacity(TP1, TP3); adcmv[1] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:1 } while ((adcmv[1] > 190) || (adcmv[1] < 10)); // add some filtering do { ReadCapacity(TP2, TP3); adcmv[4] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:2 } while ((adcmv[4] > 190) || (adcmv[4] < 10)); // add some filtering do { ReadCapacity(TP1, TP2); adcmv[0] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:1 } while ((adcmv[0] > 190) || (adcmv[0] < 10)); // add some filtering

hosseinrahmati

3 years ago

The device shows a high capacitance of one and a half times what should I do...

SkiBum326

3 years ago

Hey plouc68000! Awesome project! I would love to invite you to also share your project on WikiMakes (www.WikiMakes.com) to get additional visibility for your work! Austin

Anonymous user

3 years ago

Hello, I tried to upload the sketch to an Arduino Uno and an Arduino Nano but I always get the following error message: Arduino: 1.8.19 (Mac OS X), Board: "Arduino Nano, ATmega328P (Old Bootloader)" wiring.c.o (symbol from plugin): In function `__vector_16': (.text+0x0): multiple definition of `__vector_16' sketch/ArduTester_more.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here collect2: error: ld returned 1 exit status exit status 1 Fehler beim Kompilieren für das Board Arduino Nano (in English: Compilation error for Arduino Nano)

plouc68000

2 years ago

This is the typical error message if you try to enable the FreQ. Counter with the UNO..... The raison is very simple, alltrough you can have the Freq. Counter with the AVR Assembler Code, YOU CANNOT HAVE IT with the Arduino UNO System, means with the .ino files, because these Timer ressources are taken from the Arduino System. If You follow the Makefile:h instructions for the UNO given above for the Millenium Project, you will not get this error...😃 in particular the line #define NO_FREQ_COUNTER // uncomment when UNO Board , FREQ counter function only with MEGA 2560 Board should not be commented out.😦 If you comment out this line with the UNO, you will get this error In function __vector_16': (.text+0x0): multiple definition of__vector_16' To have the FreQ. Counter with the ArduTester .ino software running under Arduino System , you MUST use the MEGA Board. 😃

petty

3 years ago

Hi Nice job Well done I like your project. I have an issue with ArduTester_more Arduino MEGA2560 and OLED display ----------------------------------- #endif const unsigned char bmp_one_data[(TP_DATA_COUNT * 1) + 2] PROGMEM ={ -------------------------------------------------- Using library Adafruit_BusIO at version 1.11.3 in folder: /home/petty/Arduino/libraries/Adafruit_BusIO Using library Wire at version 1.0 in folder: /home/petty/.arduino15/packages/arduino/hardware/avr/1.8.5/libraries/Wire exit status 1 redefinition of 'const unsigned char bmp_one_data [7]' Thanks.

deathxknight

3 years ago

What do I do with the file I have downloaded the code.

deathxknight

3 years ago

What do you do with the file that is downloaded, I'm using a mobile app to configure my uno (arduinodroid).

arduouser

3 years ago

Hi, when i try to verify the code it gives me an error in "ArduTester_1_13"; it says:"redefinition of 'void setup()'. any solutions to solve that?

Anonymous user

3 years ago

Hello! This does it work with arduino nano?

Anonymous user

3 years ago

@plouc86000 Hello I made this device, when probes are empty it shows capacitor with random capacity and that this element is plug in 1 and 31 probe. Meter don't Measurement ESR and smaller capacitors. Everything is ok but capacitor Measurement is strange. What can be wrong? Please help me. Thanks!

Anonymous user

2 years ago

If test a capacitor in pin 1 - 2 the measurement is very strange, but it's "ok" if I use the pin 2-3 or pin 1-3.

Anonymous user

3 years ago

Hi, great job... I2 did your project with atmega 328p-pu. Sometimes screen fills up with big dots :) but It works well. how about the new revisions, or news? Thank you

Anonymous user

3 years ago

Hi, I've built this tester as indicated, but testing of PNP (BC 557C) transistors does only start if I touch any leg of resistors (R1, R2 or R3). Without that it only shows "ArduinoTester V1.13 Testing.", which refreshes each 3 seconds. It is not a mechanical contact problem, because touching any leg of R1, R2 or R3 with a non conductive stick does not make it starting. Please note that this problem does not happen when testing NPN transistors! Any idea? Thanks for your help in advance. Thanks, Dan

plouc68000

2 years ago

Verify Test Button and pull-up. Ardutester dont work properly if Test Pin left open.....if you dont wire the Test button, the Test pin must be wired to 5V

Anonymous user

3 years ago

I make this tester. My tests showing capacitance between Tp2 and TP3. I run self test properly but the problem is not solved. I don't know why the tester showing value without connect component. Please help me 😟

jacobbuckner

3 years ago

I downloaded the code but get all these errs im not good with code can some one help thanks This report would have more information with "Show verbose output during compilation" enabled in File > Preferences. Arduino: 1.0.6 (Windows NT (unknown)), Board: "Arduino Uno" ArduTester_1_13.ino:159:22: error: macro "lcd_refresh" passed 1 arguments, but takes just 0 ArduTester_1_13.ino:161:23: error: macro "uart_newline" passed 1 arguments, but takes just 0 In file included from ArduTester_1_13.ino:16: Transistortester.h:408: error: 'PC0' was not declared in this scope Transistortester.h:408: error: 'PC2' was not declared in this scope Transistortester.h:413: error: 'PC0' was not declared in this scope Transistortester.h:413: error: 'PC2' was not declared in this scope Transistortester.h:483: error: 'PB0' was not declared in this scope Transistortester.h:484: error: 'PB2' was not declared in this scope Transistortester.h:485: error: 'PB4' was not declared in this scope Transistortester.h:488: error: 'PB1' was not declared in this scope Transistortester.h:489: error: 'PB3' was not declared in this scope Transistortester.h:490: error: 'PB5' was not declared in this scope Transistortester.h:495: error: 'PC0' was not declared in this scope Transistortester.h:496: error: 'PC1' was not declared in this scope Transistortester.h:497: error: 'PC2' was not declared in this scope ArduTester_1_13:159: error: variable or field 'lcd_refresh' declared void ArduTester_1_13:161: error: variable or field 'uart_newline' declared void ArduTester_1_13.ino: In function 'void setup()': ArduTester_1_13:272: error: 'PD6' was not declared in this scope ArduTester_1_13:343: error: return-statement with a value, in function returning 'void' ArduTester_1_13:369: error: 'PC3' was not declared in this scope ArduTester_1_13:509: error: 'PC0' was not declared in this scope ArduTester_1_13:509: error: 'PC1' was not declared in this scope ArduTester_1_13:509: error: 'PC2' was not declared in this scope ArduTester_1_13:821: error: 'PC3' was not declared in this scope ArduTester_1_13:1390: error: 'PC4' was not declared in this scope ArduTester_1_13:1392: error: 'PC3' was not declared in this scope ArduTester_1_13.ino: In function 'void init_parts()': ArduTester_1_13:1629: error: 'PC0' was not declared in this scope ArduTester_1_13:1630: error: 'PC2' was not declared in this scope ArduTester_1_13.ino: In function 'void switch_tester_off()': ArduTester_1_13:1650: error: 'PD6' was not declared in this scope ArduTester_1_13.ino: In function 'void AutoCheck(uint8_t)': ArduTester_1_13:1736: error: 'PC2' was not declared in this scope ArduTester_1_13:1736: error: 'PC0' was not declared in this scope ArduTester_1_13:1737: error: 'PC1' was not declared in this scope ArduTester_1_13:1783: error: 'PB0' was not declared in this scope ArduTester_1_13:1784: error: 'PB2' was not declared in this scope ArduTester_1_13:1787: error: 'PB4' was not declared in this scope ArduTester_1_13:1798: error: 'PB1' was not declared in this scope ArduTester_1_13:1799: error: 'PB3' was not declared in this scope ArduTester_1_13:1803: error: 'PB5' was not declared in this scope ArduTester_1_13:1820: error: 'PB1' was not declared in this scope ArduTester_1_13:1823: error: 'PB3' was not declared in this scope ArduTester_1_13:1826: error: 'PB5' was not declared in this scope ArduTester_1_13:1832: error: 'PB1' was not declared in this scope ArduTester_1_13:1835: error: 'PB3' was not declared in this scope ArduTester_1_13:1838: error: 'PB5' was not declared in this scope ArduTester_1_13:1845: error: 'PB1' was not declared in this scope ArduTester_1_13:1846: error: 'PB0' was not declared in this scope ArduTester_1_13:1849: error: 'PB3' was not declared in this scope ArduTester_1_13:1850: error: 'PB2' was not declared in this scope ArduTester_1_13:1853: error: 'PB5' was not declared in this scope ArduTester_1_13:1854: error: 'PB4' was not declared in this scope ArduTester_1_13:2159: error: 'PB5' was not declared in this scope ArduTester_1_13.ino: In function 'uint8_t AllProbesShorted()': ArduTester_1_13:2325: error: 'PC0' was not declared in this scope ArduTester_1_13:2325: error: 'PC1' was not declared in this scope ArduTester_1_13:2326: error: 'PC2' was not declared in this scope ArduTester_1_13.ino: In function 'void GetIr(uint8_t, uint8_t)': ArduTester_1_13:2365: error: 'TP_MIN' was not declared in this scope ArduTester_1_13:2369: error: 'LoPinR_L' was not declared in this scope ArduTester_1_13:2369: error: 'PinRHRLADCtab' was not declared in this scope ArduTester_1_13:2369: error: 'TP_MIN' was not declared in this scope ArduTester_1_13:2386: error: 'PinRHRLADCtab' was not declared in this scope ArduTester_1_13:2386: error: 'TP_MIN' was not declared in this scope Calibrate_UR.ino: In function 'void Calibrate_UR()': Calibrate_UR:24: error: 'PC4' was not declared in this scope Calibrate_UR:49: error: 'PC0' was not declared in this scope Calibrate_UR:51: error: 'PB0' was not declared in this scope Calibrate_UR:51: error: 'PB2' was not declared in this scope Calibrate_UR:51: error: 'PB4' was not declared in this scope Calibrate_UR:58: error: 'PC1' was not declared in this scope Calibrate_UR:65: error: 'PC2' was not declared in this scope CheckPins.ino: In function 'void CheckPins(uint8_t, uint8_t, uint8_t)': CheckPins:106: error: 'TP_MIN' was not declared in this scope EntladePins.ino: In function 'void EntladePins()': EntladePins:26: error: 'PB5' was not declared in this scope EntladePins:26: error: 'PB4' was not declared in this scope EntladePins:26: error: 'PB3' was not declared in this scope EntladePins:26: error: 'PB2' was not declared in this scope EntladePins:26: error: 'PB1' was not declared in this scope EntladePins:26: error: 'PB0' was not declared in this scope EntladePins:27: error: 'PC0' was not declared in this scope EntladePins:28: error: 'PC1' was not declared in this scope EntladePins:29: error: 'PC2' was not declared in this scope GetESR.ino: In function 'uint16_t GetESR(uint8_t, uint8_t)': GetESR:170: error: 'TP_MIN' was not declared in this scope GetESR:171: error: 'TP_MIN' was not declared in this scope GetESR:176: error: 'TP_MIN' was not declared in this scope GetESR:177: error: 'TP_MIN' was not declared in this scope GetESR:299: error: 'TP_MIN' was not declared in this scope GetResistance.ino: In function 'void GetResistance(uint8_t, uint8_t)': GetResistance:50: error: 'TP_MIN' was not declared in this scope GetVloss.ino: In function 'void GetVloss()': GetVloss:30: error: 'TP_MIN' was not declared in this scope GetVloss:34: error: 'TP_MIN' was not declared in this scope PinLayout.ino: In function 'uint16_t Rnum2pins(uint8_t)': PinLayout:103: error: 'PC0' was not declared in this scope PinLayout:104: error: 'PC2' was not declared in this scope PinLayout:105: error: 'PC1' was not declared in this scope PinLayout:106: error: 'PC1' was not declared in this scope ReadBigCap.ino: In function 'void ReadBigCap(uint8_t, uint8_t)': ReadBigCap:47: error: 'TP_MIN' was not declared in this scope ReadBigCap:51: error: 'TP_MIN' was not declared in this scope ReadBigCap:52: error: 'TP_MIN' was not declared in this scope ReadCapacity.ino: In function 'void ReadCapacity(uint8_t, uint8_t)': ReadCapacity:64: error: 'TP_MIN' was not declared in this scope ReadCapacity:264: error: 'PC0' was not declared in this scope ReadCapacity:264: error: 'PC1' was not declared in this scope ReadCapacity:264: error: 'PC2' was not declared in this scope ReadInductance.ino: In function 'void ReadInductance()': ReadInductance:70: error: 'TP_MIN' was not declared in this scope ReadInductance:74: error: 'TP_MIN' was not declared in this scope Sampling_cap.ino: In function 'int32_t sampling_cap(byte, byte, byte)': Sampling_cap:214: error: 'TP_MIN' was not declared in this scope Sampling_cap.ino: In function 'void sampling_cap_calibrate()': Sampling_cap:250: error: invalid conversion from 'void*' to 'uint16_t*' Sampling_cap:250: error: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' Sampling_cap:251: error: invalid conversion from 'void*' to 'uint16_t*' Sampling_cap:251: error: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' ShowData.ino: In function 'void ShowData()': ShowData:102: error: invalid conversion from 'void*' to 'const uint16_t*' ShowData:102: error: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' ShowData:103: error: invalid conversion from 'void*' to 'const uint16_t*' ShowData:103: error: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' function_menu.ino: In function 'void show_C_ESR()': function_menu:512: error: 'PC2' was not declared in this scope function_menu:512: error: 'PC0' was not declared in this scope function_menu.ino: In function 'void make_frequency()': function_menu:673: error: 'PB0' was not declared in this scope function_menu:673: error: 'PB4' was not declared in this scope function_menu:676: error: 'PC0' was not declared in this scope function_menu.ino: In function 'void do_10bit_PWM()': function_menu:870: error: 'PB0' was not declared in this scope function_menu:870: error: 'PB4' was not declared in this scope function_menu:873: error: 'PC0' was not declared in this scope lcd_routines.ino: In function 'void lcd_testpin(unsigned char)': lcd_routines:42: error: 'TP_MIN' was not declared in this scope message_key_released.ino: In function 'void message_key_released(const unsigned char*)': message_key_released:27: error: 'PC3' was not declared in this scope sampling_lc.ino: In function 'void sampling_lc_calibrate(byte)': sampling_lc:507: error: 'PC0' was not declared in this scope sampling_lc:507: error: 'PC2' was not declared in this scope show_Resis_Cap.ino: In function 'void show_Resis13()': show_Resis_Cap:245: error: 'PC2' was not declared in this scope show_Resis_Cap:245: error: 'PC0' was not declared in this scope show_Resis_Cap.ino: In function 'void show_Cap13()': show_Resis_Cap:401: error: 'PC2' was not declared in this scope show_Resis_Cap:401: error: 'PC0' was not declared in this scope wait_for_key_ms.ino: In function 'uint8_t wait_for_key_ms(int)': wait_for_key_ms:61: error: 'PC3' was not declared in this scope wait_for_key_ms:85: error: 'PC3' was not declared in this scope

Anonymous user

3 years ago

I wanted to ask whether this code is compatible with Arduino Pro Mini... Like that Battery Voltage monitoring section? Can anyone tell? I am building the permanent version on a dotted board/PCB

davydnorris

3 years ago

Hi and thanks for a great Arduino port! I am trying to get this working on the new Arduino Nano Every and am hitting compile errors around things like the port definitions. Where would I start looking if I wanted to add a new MCU to the project? I can see that in config.h at least I need to add the processor type in and map it to something - I could pretend it's just a regular Nano, or I can run the Every in Mega328 register compatible mode, but it has more memory, speed and PWM than a Nano so might be worth adding specifically. I am also building the project with the Eclipse Arduino environment and it has pointed out some errors as well. I switched to one of the supported MCUs and the errors were still there. The first one is in show_Resis_Cap.ino and it's caused by the following code: #if FLASHEND > 0x3fff void show_cap(uint8_t how) #else void show_cap_simple(void) #endif { Since the use of how is removed by other defines within the function, this can be rewritten like below, removing the #ifdef around the function definition and it fixes the error: void show_cap_simple(void) { show_cap(0); } void show_cap(uint8_t how) { The second error is appearing in ArduTester_1_13.ino at these liines: #ifndef INHIBIT_SLEEP_MODE // prepare sleep mode EMPTY_INTERRUPT(TIMER2_COMPA_vect); #endif #if !defined(INHIBIT_SLEEP_MODE) || defined(SamplingADC) // ADC_vect is always required by samplingADC() EMPTY_INTERRUPT(ADC_vect); #endif The line EMPTY_INTERRUPT(ADC_vect); is being flagged as a redefinition once the macro is expanded. I am still trying to work out where the problem is, so if you have any ideas it would be welcome.

bashomil

4 years ago

I make like this circuit but give me appear on screen no correct like component ,example I test led and appear on screen mosft

Anonymous user

4 years ago

sorry I'm still confused how to find out what component he is measuring

bashomil

4 years ago

I will try make like this but not work exist the screen dot appear a component and when download ardutester_v113 from sketch >include library> ardutester_ v113 appear this message : Arduino: 1.8.9 (Windows 10), Board: "Arduino/Genuino Uno" In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: storage size of 'RELPROBE' isn't known #define MEM_TEXT PROGMEM ^ C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:518:34: note: in expansion of macro 'MEM_TEXT' const unsigned char RELPROBE[] MEM_TEXT; ^ Transistortester.h:95:26: error: conflicting declaration 'const uint16_t LogTab []' const uint16_t LogTab[] PROGMEM = {0, 20, 41, 62, 83,105,128,151,174,198,223,248,274,301,329,357,386,416,446,478,511,545,580,616,654,693,734,777,821,868,916,968,1022,1079,1139,1204,1273,1347,1427,1514,1609,1715,1833,1966,2120,2303,2526,2813,3219,3912,7065 }; /* last value is replaced by (-1000*ln(0.001)-3912)/19*20 + 3912 */ ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:598:19: note: previous declaration as 'uint16_t LogTab []' extern uint16_t LogTab[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char SELFTEST []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:171:35: note: in expansion of macro 'MEM_TEXT' const unsigned char SELFTEST[] MEM_TEXT = "Selftest mode.."; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:517:23: note: previous declaration as 'const unsigned char SELFTEST' const unsigned char SELFTEST MEM_TEXT; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char mosfet_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:226:35: note: in expansion of macro 'MEM_TEXT' const unsigned char mosfet_str[] MEM_TEXT = "-MOS"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:522:24: note: previous declaration as 'unsigned char mosfet_str []' extern unsigned char mosfet_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char jfet_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:227:33: note: in expansion of macro 'MEM_TEXT' const unsigned char jfet_str[] MEM_TEXT = "JFET"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:523:24: note: previous declaration as 'unsigned char jfet_str []' extern unsigned char jfet_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char igbt_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:228:33: note: in expansion of macro 'MEM_TEXT' const unsigned char igbt_str[] MEM_TEXT = "-IGBT"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:524:24: note: previous declaration as 'unsigned char igbt_str []' extern unsigned char igbt_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char NPN_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:245:32: note: in expansion of macro 'MEM_TEXT' const unsigned char NPN_str[] MEM_TEXT = "NPN"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:520:24: note: previous declaration as 'unsigned char NPN_str []' extern unsigned char NPN_str[]; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:28:0, from sketch\\ArduTester_1_13.ino.cpp:1: autoconf.h:212:19: error: conflicting declaration 'const unsigned char PNP_str []' #define MEM_TEXT PROGMEM ^ sketch\\Transistortester.h:246:32: note: in expansion of macro 'MEM_TEXT' const unsigned char PNP_str[] MEM_TEXT = "PNP"; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:521:24: note: previous declaration as 'unsigned char PNP_str []' extern unsigned char PNP_str[]; ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:38:0: tt_resistor.h:8:18: error: redefinition of 'long unsigned int inductor_lx' unsigned long inductor_lx; // inductance 10uH or 100uH ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:12:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/tt_resistor.h:20:18: note: 'long unsigned int inductor_lx' previously declared here unsigned long inductor_lx; // inductance 10uH or 100uH ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:38:0: tt_resistor.h:9:11: error: redefinition of 'int8_t inductor_lpre' int8_t inductor_lpre; // prefix for inductance ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:12:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/tt_resistor.h:21:11: note: 'int8_t inductor_lpre' previously declared here int8_t inductor_lpre; // prefix for inductance ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/USBAPI.h:25:0, from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:233, from sketch\\ArduTester_1_13.ino.cpp:1: ArduTester_1_13:48:24: error: conflicting declaration 'const int8_t RefDiff' const int8_t RefDiff EEMEM = REF_R_KORR; // correction of internal Reference Voltage ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:573:17: note: previous declaration as 'int8_t RefDiff' extern int8_t RefDiff; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/USBAPI.h:25:0, from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:233, from sketch\\ArduTester_1_13.ino.cpp:1: ArduTester_1_13:51:29: error: conflicting declaration 'const int16_t ref_offset' const int16_t ref_offset EEMEM = REF_C_KORR; // default correction of internal reference voltage for capacity measurement ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:574:19: note: previous declaration as 'uint16_t ref_offset' extern uint16_t ref_offset; ^ In file included from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/USBAPI.h:25:0, from C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino/Arduino.h:233, from sketch\\ArduTester_1_13.ino.cpp:1: ArduTester_1_13:54:31: error: conflicting declaration 'const uint8_t c_zero_tab []' const uint8_t c_zero_tab[] EEMEM = { C_NULL,C_NULL,C_NULL+TP2_CAP_OFFSET,C_NULL+2,C_NULL+TP2_CAP_OFFSET,C_NULL,C_NULL }; //table of zero offsets ^ In file included from C:\\Users\\bashomil\\AppData\\Local\\Temp\\arduino_modified_sketch_844855\\ArduTester_1_13.ino:10:0: C:\\Users\\bashomil\\Documents\\Arduino\\libraries\\ArduTester_1_13/Transistortester.h:575:18: note: previous declaration as 'uint8_t c_zero_tab []' extern uint8_t c_zero_tab[]; ^ exit status 1 storage size of 'RELPROBE' isn't known This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

krakun113

4 years ago

How to fix ardutester problems: - Capacity measured on empty entry. - Do not store configurations. https://youtu.be/Gh-NDk-FYR0 https://arduinojehra.infinityfreeapp.com/nanohtmlen/ArduTester-en.html

Anonymous user

2 years ago

Hi! I have this problems but I use Arduino UNO R3. Try removing L led = nothing Try connecting the 9v battery in jack connector = nothing Try connecting a external power supply and the capacity measured on empty entry is gone, but not store configurations. Any idea?

plouc68000

2 years ago

Good catch with D13 and the Led Problem ! For the not store calibration, its solved, look the post before Fix for the "Not Calibrated" Message.....

plouc68000

4 years ago

Fix for the "Not Calibrated" Message..... replace code section by this one in file ArduTester_1_13.ino search on "//measure Zero offset for Capacity measurement" to find where... Then verify, upload and enter Calibrate mode by shorting TP1,TP2,TP3 and Test. After successfull Calibrate, the message "not Calibrated" will disappear. //measure Zero offset for Capacity measurement PartFound = PART_NONE; lcd_clear(); lcd_MEM_string(C0_str); //output "C0 " do { ReadCapacity(TP3, TP1); adcmv[5] = (unsigned int) cap.cval_uncorrected.dw; } while ((adcmv[5] > 190) || (adcmv[5] < 10)); // add some filtering debug JLG do { ReadCapacity(TP3, TP2); adcmv[6] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:3 } while ((adcmv[6] > 190) || (adcmv[6] < 10)); // add some filtering do { ReadCapacity(TP2, TP1); adcmv[2] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 1:2 } while ((adcmv[2] > 190) || (adcmv[2] < 10)); // add some filtering do { ReadCapacity(TP1, TP3); adcmv[1] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:1 } while ((adcmv[1] > 190) || (adcmv[1] < 10)); // add some filtering do { ReadCapacity(TP2, TP3); adcmv[4] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 3:2 } while ((adcmv[4] > 190) || (adcmv[4] < 10)); // add some filtering do { ReadCapacity(TP1, TP2); adcmv[0] = (unsigned int) cap.cval_uncorrected.dw; //save capacity value of empty Pin 2:1 } while ((adcmv[0] > 190) || (adcmv[0] < 10)); // add some filtering

bashomil

4 years ago

How place components and wire because not appear on breadboard

Anonymous user

4 years ago

Tester can testing inductor?tx u

doddielektronik

4 years ago

How donlod lybrary file

wayne_smith

4 years ago

Firstly thank you so much for such a great project share. I have made up each version, UNO, or Mega, with LCD or OLED displays. For the final version I made the project up with a Pro Mini, but flashed with the UNO bootloader, this seems to free up enough memory to allow the full menu option. Managed to get it into a tiny enclosure which is powered via 3 button cells.

tuna44

4 years ago

How can we do this project with 5110 lcd. I will be very happy if you can help.

Anonymous user

4 years ago

Would like to modify ArduTester so that it automatically switches off after say 10 seconds. Cannot get it to build the project in the latest offline Arduino IDE. Many warnings and errors: In file included from sketch/config.h:1101:0, from sketch/Transistortester.h:14, from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16: sketch/autoconf.h:80:3: warning: #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! [-Wcpp] #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! ^~~~~~~ sketch/autoconf.h:98:3: warning: #warning LCD_LINES is not correctly set! [-Wcpp] #warning LCD_LINES is not correctly set! ^~~~~~~ sketch/autoconf.h:100:4: warning: #warning SCREEN_HEIGHT is not correctly set! [-Wcpp] #warning SCREEN_HEIGHT is not correctly set! ^~~~~~~ In file included from sketch/Transistortester.h:17:0, from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16: sketch/autoconf.h:80:3: warning: #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! [-Wcpp] #warning LCD_ST7565_Y_START is set higher than SCREEN_HEIGHT! ^~~~~~~ sketch/autoconf.h:98:3: warning: #warning LCD_LINES is not correctly set! [-Wcpp] #warning LCD_LINES is not correctly set! ^~~~~~~ sketch/autoconf.h:100:4: warning: #warning SCREEN_HEIGHT is not correctly set! [-Wcpp] #warning SCREEN_HEIGHT is not correctly set! ^~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadADC.ino:21:0: warning: "StartADCwait" redefined #define StartADCwait() ADCSRA = (1<<ADSC)|(1<<ADEN)|(1<<ADIF)|AUTO_CLOCK_DIV; /* Start conversion */\\ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:28:0: note: this is the location of the previous definition #define StartADCwait() ADCSRA = (1<<ADSC)|(1<<ADEN)|(1<<ADIF)|AUTO_CLOCK_DIV; /* Start conversion */\\ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadCapacity.ino:123:0: warning: "MAX_LOAD_TIME" redefined #define MAX_LOAD_TIME 500 /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino:73:0: note: this is the location of the previous definition #define MAX_LOAD_TIME 12500 /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_draw.ino:212:3: warning: #warning "no WITH_GRAPHICS" [-Wcpp] #warning "no WITH_GRAPHICS" ^~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_hw_4_bit.ino:159:67: warning: extra tokens at end of #else directive [-Wendif-labels] #else /* !(LCD_INTERFACE_MODE == (MODE_SPI | MODE_7920_SERIAL)) */ERIAL | MODE_I2C | MODE_7108_S ^~~~~ In file included from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16:0: sketch/Transistortester.h:82:60: warning: narrowing conversion of '2.23848633e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] /* 1400 */ 30441023.0 / (PIN_RM + PIN_RP + R_L_VAL) + 0.5}; ^ sketch/Transistortester.h:82:60: warning: narrowing conversion of '2.06085527e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.90859121e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.77662012e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.6611375e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.5592334e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.46864453e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.38758438e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.31462363e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.24860498e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.18858184e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.13377217e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.08352412e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '1.03729043e+4' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '9.94607715e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '9.55081348e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '9.18373145e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '8.84191602e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '8.52283984e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '8.22430176e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.94437549e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.68136865e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.43378857e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '7.2003125e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.97976416e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.7710957e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.57336816e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.38573975e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.20745312e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '6.03782422e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.87623291e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.72212012e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.57497461e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.43433154e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.2997666e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.17089111e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '5.0473501e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.92881543e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.81498682e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.7055874e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.60036084e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.49907129e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.40149854e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.30744092e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:82:60: warning: narrowing conversion of '4.2167085e+3' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] In file included from /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:16:0: sketch/Transistortester.h:122:3: warning: narrowing conversion of '9.53993591e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] }; ^ sketch/Transistortester.h:122:3: warning: narrowing conversion of '9.0311261e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '8.56834229e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '8.14557556e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '7.75782043e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '7.40087158e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '7.07116943e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '6.76568298e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] sketch/Transistortester.h:122:3: warning: narrowing conversion of '6.48181335e+2' from 'double' to 'uint16_t {aka unsigned int}' inside { } [-Wnarrowing] /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino: In function 'void setup()': /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:343:14: warning: return-statement with a value, in function returning 'void' [-fpermissive] /usr/home/arno/arduino/arno/ArduTester_1_13/ArduTester_1_13.ino:702:22: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino: In function 'uint16_t GetESR(uint8_t, uint8_t)': /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:145:23: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if (cap.cval_max < 0) cap_val_nF = -cap.cval_max; ~~~~~~~~~~~~~^~~ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:300:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (esrvalue > esr0) { ~~~~~~~~~^~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:304:49: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (((esrvalue + R_LIMIT_TO_UNCALIBRATED) < esr0) && (cap_val_nF > 4500)) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/GetESR.ino:138:11: warning: variable 'StartADCmsk' set but not used [-Wunused-but-set-variable] uint8_t StartADCmsk; // Bit mask to start the ADC ^~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino: In function 'void ReadBigCap(uint8_t, uint8_t)': /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino:77:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if ((ovcnt16 == 0) || ((MIN_VOLTAGE-cap_voltage1) < (cap_voltage1*10/ovcnt16))) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ReadBigCap.ino:82:63: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] } else if ((ovcnt16 > 10) && ((MIN_VOLTAGE-cap_voltage1) > ((cap_voltage1*100)/ovcnt16))){ ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/Sampling_cap.ino: In function 'void sampling_cap_calibrate()': /usr/home/arno/arduino/arno/ArduTester_1_13/Sampling_cap.ino:250:31: warning: invalid conversion from 'void*' to 'uint16_t* {aka unsigned int*}' [-fpermissive] eeprom_write_word((void*)(c_zero_tab2_lo+k),c); /* C0 from 0 to 1 */ ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:171:6: note: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' void eeprom_write_word (uint16_t *__p, uint16_t __value); ^~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/Sampling_cap.ino:251:31: warning: invalid conversion from 'void*' to 'uint16_t* {aka unsigned int*}' [-fpermissive] eeprom_write_word((void*)(c_zero_tab2_hi+k),d); /* C0 from 1 to 0 */ ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:171:6: note: initializing argument 1 of 'void eeprom_write_word(uint16_t*, uint16_t)' void eeprom_write_word (uint16_t *__p, uint16_t __value); ^~~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ShowData.ino: In function 'void ShowData()': /usr/home/arno/arduino/arno/ArduTester_1_13/ShowData.ino:102:33: warning: invalid conversion from 'void*' to 'const uint16_t* {aka const unsigned int*}' [-fpermissive] cc = eeprom_read_word((void *)(c_zero_tab2_lo+kk)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:144:10: note: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__; ^~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/ShowData.ino:103:33: warning: invalid conversion from 'void*' to 'const uint16_t* {aka const unsigned int*}' [-fpermissive] dd = eeprom_read_word((void *)(c_zero_tab2_hi+kk)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/USBAPI.h:25:0, from /opt/devel/arduino.latest/hardware/arduino/avr/cores/arduino/Arduino.h:234, from sketch/ArduTester_1_13.ino.cpp:1: /opt/devel/arduino.latest/hardware/tools/avr/avr/include/avr/eeprom.h:144:10: note: initializing argument 1 of 'uint16_t eeprom_read_word(const uint16_t*)' uint16_t eeprom_read_word (const uint16_t *__p) __ATTR_PURE__; ^~~~~~~~~~~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino: In function 'void lcd_next_line_wait(uint8_t)': /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:168:20: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] uart_newline(); // MAURO ('H') ^ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino: In function 'void lcd_set_pixels(const unsigned char*, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)': /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1119:42: warning: unused parameter 'pdata' [-Wunused-parameter] void lcd_set_pixels(const unsigned char *pdata, unsigned char x, unsigned char y, ^~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1119:63: warning: unused parameter 'x' [-Wunused-parameter] void lcd_set_pixels(const unsigned char *pdata, unsigned char x, unsigned char y, ^ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1119:80: warning: unused parameter 'y' [-Wunused-parameter] void lcd_set_pixels(const unsigned char *pdata, unsigned char x, unsigned char y, ^ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1120:15: warning: unused parameter 'options' [-Wunused-parameter] unsigned char options, unsigned char width, unsigned char height) { ^~~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1120:38: warning: unused parameter 'width' [-Wunused-parameter] unsigned char options, unsigned char width, unsigned char height) { ^~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/lcd_routines.ino:1120:59: warning: unused parameter 'height' [-Wunused-parameter] unsigned char options, unsigned char width, unsigned char height) { ^~~~~~ /usr/home/arno/arduino/arno/ArduTester_1_13/samplingADC.ino: In function 'uint16_t samplingADC(unsigned int, void*, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)': /usr/home/arno/arduino/arno/ArduTester_1_13/samplingADC.ino:3:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ /usr/home/arno/arduino/arno/ArduTester_1_13/sampling_lc.ino: In function 'unsigned int peaksearch(unsigned int*, unsigned int*)': /usr/home/arno/arduino/arno/ArduTester_1_13/sampling_lc.ino:160:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (kdiv >= delta) xx -= ((delta * 64)+ 32) / kdiv; ~~~~~^~~~~~~~ Sketch uses 26820 bytes (83%) of program storage space. Maximum is 32256 bytes. Global variables use 181 bytes (8%) of dynamic memory, leaving 1867 bytes for local variables. Maximum is 2048 bytes.

plouc68000

2 years ago

There is NO problem, since the Verify is performing right, you got the good end message: Sketch uses 26820 bytes (83%) of program storage space. Maximum is 32256 bytes. Global variables use 181 bytes (8%) of dynamic memory, leaving 1867 bytes for local variables. Maximum is 2048 bytes.

plam_m

4 years ago

I like this project However I would like to ask what needs to be done to be used with Arduino LCD keypad Shield Thank you

plam_m

2 years ago

I am having slightly different Pin 10 is backlight LCD/if i am not wrong RH1 pin 3 RL1 pin 2 RH2 pin 13 RL2 pin 12 RH3 pin 11 RL3 pin 10/LCD/available is pin digital pin 1 What correction I need for that Appreciate your time and many thanks for the help

plam_m

2 years ago

Great help and many thanks for this project Much appreciated!

plam_m

2 years ago

Many thanks for that! one question: what about the digital pins for the testing terminal? What are their numbers These are occupied by LCD: LCD RS pin to digital pin 8 * LCD Enable pin to digital pin 9 * LCD D4 pin to digital pin 4 * LCD D5 pin to digital pin 5 * LCD D6 pin to digital pin 6 * LCD D7 pin to digital pin 7 * Button pin to analog pin A0

plam_m

2 years ago

Hello again I have modified the shield and isolated pin 10 making it available as RL3. In general it works but I am experiencing a lot of unreadable symbols on the LCD like missing symbols or first line not readable what is the cause for that? Eventually on 5 or 6th attempt will show complete reading ?

plam_m

2 years ago

I do appreciate your effort in looking into

plam_m

2 years ago

Thank you again for you time I have tested however I am experiencing a conflict with test pin and backlight of LCD here is attached the info of the LCDpad https://wiki.keyestudio.com/Ks0256_keyestudio_LCD1602_Expansion_Shield

plouc68000

2 years ago

RH1 pin 3 RL1 pin 2 RH2 pin 13 RL2 pin 12 RH3 pin 11 RL3 pin 10

plouc68000

2 years ago

Test pins in your case should be A1, A2, A3 rather then A0,A1,A2 because A0 is taken for keypad. Test button is Key Right

plouc68000

2 years ago

you can try this version I modified for the LCD_KeyPad_Shield https://create.arduino.cc/editor/duemilaventi/6c27ed2f-3415-4832-a1ba-dc0adf4acdd2/preview?F=config.h

plouc68000

2 years ago

Thanks for the feedback, I have exactly the same behavior... The solution you have is the best possible for the moment..... The problem is that the LCD Shield has the LCD Signals spread on both Ports, Port D ( DB4...DB7) and Port B ( RS, E ) Port B is used for the Test Resistors ( digital 8 ...13 ) and should not be mixed with the LCD Pins RS, E It would need much deeper changes in the software then only config.h to solve this issue..... Here the warnings in the software concerning the Pins for the Test Resistors : /* ************************************************************************* */ /* Port for the Test resistors */ /* ************************************************************************* */ /* The Resistors must be connected to the lower 6 Pins of the Port in following sequence: RLx = 680R-resistor for Test-Pin x RHx = 470k-resistor for Test-Pin x For ATmega328 you can define any pin number for every resistor in any order. For other processors the RHx pin must one number higher than the RLx. The default layout is: RL1 an Pin 0 RH1 an Pin 1 RL2 an Pin 2 RH2 an Pin 3 RL3 an Pin 4 RH3 an Pin 5

plouc68000

2 years ago

That's a good idea to use this shield ! There are some pins redefinition to do in the software, I can look, but first must organize such a shield....

Anonymous user

4 years ago

Hi Thanks for this project. I want to edit the name ("ArduTester V 1.13'') and want to replace with the name (''Component Tester'') so now where to edit this name? please help me to markout. Thank You........

plouc68000

2 years ago

look in the file Transistortester.h #if defined (WITH_SELFTEST) || !defined (BAT_CHECK) const unsigned char VERSION_str[] MEM_TEXT = "ArduTester V1.13k"; #endif

Anonymous user

4 years ago

I bought a LCR-T4 Mega328 tester, but there are problems with Mosfet and 2 diodes. A software version is not displayed. I wanted to use version V1.13. If that doesn't work, I won't get the current firmware again and can dispose of the tester. That's why I took an Arduino-Uno. Some resistors, a button on a breadboard circuit board and the display via serial monitor to test the usability. Transistors are correctly overlooked. Resistance cannot be recognized. 1 KOhm display correct. 10 KOhm as 13 KOhm and 20 KOhm as 15 KOhm! Comes without a connected component 15:17:04.363 -> Testing. 15:17:04.827 -> ...... 15:17:07.609 -> 15:17:07.609 -> 2-||-32 67.75kL 15:17:08.006 -> 260.9kh 260.9kH 15:17:08.006 -> 454.0kd RR-3 15:17:08.006 -> 207.5uF ESR=13Ohm 15:17:39.969 -> 15:17:39.969 -> ArduTester V1.13k 15:17:40.134 -> 15:17:40.134 -> Testing. 15:17:40.565 -> ...... 15:17:45.334 -> 15:17:45.334 -> 1-||-3 [C] 15:17:45.334 -> ? 15:17:47.454 -> 1-||-31 68.10kL 15:17:47.984 -> 260.9kh 260.9kH 15:17:47.984 -> 453.6kd RR-3 [C] 15:17:47.984 -> 42.16uF ESR=13Ohm 15:17:50.269 -> 1-||-3 [C] 15:17:50.369 -> .00pF 15:17:52.654 -> 1-||-3 [C] 15:17:52.754 -> .00pF 15:17:54.907 -> 1-||-3 [C]

Anonymous user

4 years ago

Sir proteous simulation of this circuit doesn't work. And how put so many .ino files in audrino. can it vertual run is possible??

Anonymous user

4 years ago

Hello, I would like to let you know that your transistor tester does not work for me at all. I have hardware-wise everything wired and connected to arduino uno and then uploaded the software, but the display remains blank. the display is a 16x2 display. I would like to see it working, can you help me with this .. ??

Anonymous user

4 years ago

Was Just wandering why it wont test ant voltage regulators like the lm317 or 7805s

Anonymous user

4 years ago

sketch error ... #include <avr / io.h> ( /tmp/092461218/ArduTester_1_13/ArduTester_1_13.ino:2:22: errore fatale: avr / io.h: nessun file o directory di questo tipo compilazione terminata. stato di uscita 1 )

plouc68000

2 years ago

de-install and re-install your IDE, the problem is not in Ardutester...

Anonymous user

4 years ago

What inductance values I can test with it

Anonymous user

4 years ago

Hello!! Is it possible to use an Arduino Nano module? Does it affect its final performance? Thank you.

Anonymous user

4 years ago

If this project works believe me I will be very happy with it. I love the idea of making my own test equipment, and this project idea is a perfect example of this. Thanks. I hope to return the favor one day.

Anonymous user

4 years ago

Disculpa, cometí un error en mi comentario anterior, la versión que me funcionó muy bien es el 1.08a y no el TT_1_13_UNO.

Anonymous user

4 years ago

Hola, muy bonita tarde; de entrada permítame felicitarle por este trabajo que resulta de mucha utilidad. He intentado reproducir este proyecto y he seguido los comentarios en esta página; pero los resultados que he obtenido no son completamente satisfactorios, usando la versión ArduTester_more6, resulta que no funciona el botón de prueba, como si no existiera, y no hay tiempo suficiente para leer los resultados, como si el ciclado no le permitiera hacer pausas; francamente solo soy un humilde aficionado y no me atrevo a modificar el boceto; sin embargo probé la versión TT_1_13_UNO y funciona muy bien, claro este no presenta el menú y tiene algunas otras limitaciones. No se si halla forma de apoyarme a saber que sucede para lograr que la ultima versión funcione como debe. De antemano gracias por su valiosa aportación y tiempo.

liron288

4 years ago

hi will it work with Arduino Due? ty.

liron288

4 years ago

hi ty for making this project. i want to make the same priject but i want to show the h-parameters graphs of bjt and ID/VGS graphs of FET is that possible with this project and can you give me points on how to do it? ty.

Anonymous user

4 years ago

Доброго дня а у меня после загузки вашего скетча абракадабра какая то на экране подскажите пожалуйста што мне нужно я думаю библиотеки нужно где мне их взять

Anonymous user

5 years ago

Tolle Leistung Funktioniert Eiwandfrei! Habe eine Platine Angefertigt mit dem" Atmega328P" und ein Plexi-Gehäuse Angefertigt. Danke!

Anonymous user

5 years ago

Sir.... i want to convert this sketch to work with 1602 i2c lcd Will You pls Kindly Elaborate How Can i Do tHat.......

Anonymous user

5 years ago

I have done all the things correctly but my LCD does not shows anything!! should I have to add any library for this project? I was tried to check my LCD with example codes given in IDE but same problem happening... please help me anyone kindly please...

Anonymous user

5 years ago

Dear sir, Thank you so much for this project, and your usual support to all. I used this project with LCD 1602 and i2c I faced two issues: 1- not able to select from menu I had read all comments but long press open menu then not able to change it. Can I use anything else to switch the menu, instead of push button. 2- I tried to operate this project in PCB after successful results from Uno But nothing respond I.e. work on Uno board not atmega328p in breadboard (are there any solution to operate in atmega328p breadboard) Looking for solution. Thank you in advance. Regards

plouc68000

2 years ago

you wrote: I had read all comments but long press open menu then not able to change it. Can I use anything else to switch the menu, instead of push button. Once the menu is open, short press will scroll between the menu items, to select the desired item, a long press is needed. you wrote:I.e. work on Uno board not atmega328p in breadboard (are there any solution to operate in atmega328p breadboard) The atmega328 should be programmed first with the UNO bootloader, to look like a UNO, because the software needs some fonctions like millis()

Anonymous user

2 years ago

Thank you so much for your time to share your experience and support us. I did that but not operate. I don't know why. While same ic used in breadboard used in Uno board after burn the code and operate in Uno board. Thank you again for your time.

Densbusa

5 years ago

I would like to thank you for all the fantastic support you have shown here. it seems i am not the only newbie and i see you seem to address everyone's issues and struggles. Thank you. I would also like to ask about my switch showing no response. I have the Mega mcu and the "ArduTester_more6" firmware connected to a 1602 i2c display. My pin 29 shows 4.71 v without the button pressed and 0 v with the button pressed. It makes no difference to the tester, long press or short press. I cannot get to the menu which is the reason for the switch to the Mega from the Uno. The tester will test what i have connected such as transistors and mosfets (as far as i can tell, it gives me values but i haven't yet learned what to do with them all) but i have a resistor hooked up and the tester tells me that it finds nothing, maybe i need to get into the menu and go into the resistor mode but i am stumped. Thank you in advance. And please keep up the great support, this is my first project and i really enjoy building my own tools.

plouc68000

2 years ago

You are shure you are on pin 29 ? ( there are many pins on this connector, a mistake is easy possible ). Does a short press on Test Button re-initiate the Test ? if yes, long Press should work yoo. You should do long Press after the Test is done...Press long until you see the menu....

DevaPS3

5 years ago

Hello sir, I have succeeded with Arduino Uno Clone. But there is a problem with the Arduino Nano Clone, it can still measure components. if no components are measured, the LCD always displays a capacitor with a value of 48uF and ESR = 120Ohm. what is the cause?

plouc68000

2 years ago

the most likely is a wiring error to the RL, RH Resistors or Test Pins and Nano Pins. Here the picture with the nano and LCD parallel interface from above in comments. https://www.cjoint.com/c/IKvnjTaqsjC

Anonymous user

5 years ago

Hi, I am a complete novice to Arduino, and electronics generally, however, I recent bought an Arduino based kit and have 'built' the ardutester on on the breadboard. I am using a Mega2560 R3 and the display says 1602A and QAPASS on the rear. It is the display which came with the Elegoo Most Complete Starter Mega 2560 kit. I have uploaded the sketch, and added the zip file to the library, but when I power up the board I just get a series of 16 blocks on the top row of the display. Pressing the reset button on the Arduino board or the breadboard doesn't do anything at all. I have completed the wiring as per the schematic and checked it several times. Do I have to make any changes to the sketch? Please bear in mind that I am a very naive, but willing to learn, novice and I apologise if this is not the forum to post such a basic question. Thanks

Anonymous user

2 years ago

Hi plouc68000, Thanks for bearing with me on this, although I still cannot get the tester to work. It goes through the boot process, starts to test, but then comes up with different types of component and sometimes says 'component damged or not known'. Below I have listed every connection I have coming from the Arduino Mega2560 and the display. SCL to 21SCL on the borad SDA to 20SDA on the board Digital PWM 8 to 1 leg of the 680 ohm resistor Digital PWM 9 to 1 leg of the 470 ohm resistor Digital PWM 10 to 1 leg of the 680 ohm resistor Digital PWM 11 to 1 leg of the 470 ohm resistor Digital PWM 12 to 1 leg of the 680 ohm resistor Digital PWM 13 to 1 leg of the 470 ohm resistor AO to the other legs of both resitors -TP1 A1 to the other legs of both resitors -TP2 A2 to the other legs of both resitors -TP3 Digital 22 to D4 on the display Digital 23 to D5 on the display Digital 24 to D6 on the display Digital 25 to D7 on the display Digital 26 to RS on the display Digital 27 to E on the display Digital 29 is connected to 5v via a 10k ohm resistor and ground via a switch VSS on the display is connected to ground VDD is connected to 5v VO on the display is connected to ground via a 1k ohm resistor RW on the display is connected to ground K on the display is connected to ground A on the display is connected to 3.3v on the Arduino board. The only changes I have made to the sketch are in the makefile.h and are as follows: - #define PARTNO m2560 // uncomment in case of MEGA 2560 board, by default ist Genuino UNO #define ARDUINO_MEGA /* if no graphical type LCD specified below, its 4 bits parallel mode 1602 LCD by default */ #define WITH_1602_I2C #define LCD_I2C_ADDR 0x27 Does this look right, or have I done something wrong? Thanks in anticipation.

Anonymous user

2 years ago

Thanks very much for your reply plouc68000. I will give that a go later. Is there a Fritzing schematic for the Ardutester for a Mega 2560? I have got the schematic from page 33 of Karl-Heinz Kübbeler article but, being a complete novice and learner, I cannot understand how the test switch wiring works. Is it the same as it is for the UNO, as shown above, but with pin 29 being used rather than A3? I appreciate you bearing with me on this. Cheers

Anonymous user

2 years ago

I have now got the Ardutester to boot up, following the changes you suggested I make. Thanks. However, after the initial boot screen, showing Ardutester v1.13, it then says it is testing, with dots showing the progress, then, whether anything is connected or not I get the following on screen: - N-JFET 123=?G? I=3.5mA@Vg=0mV +- That stays on screen for a few seconds and then it changes to: - Not calibrated! Also, pressing the test button doesn't do anything at all. I have wired it with 5v going through a 10k ohhm resistor which is then connected to one side of a switch and to pin 29. The other side of the switch is connected to ground. Is that correct? Thanks.

Anonymous user

2 years ago

Hi again plouc6800, I think I have made school boy error!!!!!! I have just re-read your previous message and have seen that you say that RH is 470k ohms, and not 470 ohms, as I read it. I have had to order some of these, so I will let you know how I get on when they arrive. Thanks again.

plouc68000

2 years ago

look also in my Millenium Project for the wiring of the MEGA https://create.arduino.cc/projecthub/plouc68000/ardutester-millenium-the-ultimate-uno-mega-versions-c81db4?ref=user&ref_id=680368&offset=0 Look at MEGA with 1602 I2C then change display wiring to parallel as indicated above.

plouc68000

2 years ago

Check the wiring ( Mega 2560 and paralell 1602 ) against this list below : Digital 29 Test button to GND and Pullup 10K to 5V ( will not work if you leave D29 open ) 22 D4 of 1602 23 D5 24 D6 25 D7 26 RS 27 E Then the Makefile.h is made for UNO, you must edit a bit you must have at least #define PARTNO m2560 (uncomment this line ) #define ARDUINO_MEGA (uncomment this line ) //#define ARDUINO_UNO (comment out this line) Then verify and Upload

plouc68000

2 years ago

you said : Also, pressing the test button doesn't do anything at all. I have wired it with 5v going through a 10k ohhm resistor which is then connected to one side of a switch and to pin 29. The other side of the switch is connected to ground. Is that correct? Yes, but the swich has 4 pins, they are not all equal. Verify that pin 29 has 5V when switch no pressed and 0V when switch pressed. you said : However, after the initial boot screen, showing Ardutester v1.13, it then says it is testing, with dots showing the progress, then, whether anything is connected or not I get the following on screen: - N-JFET 123=?G? I=3.5mA@Vg=0mV +- I guess you have wiring errors with the test pins or the test resistors. When I give express wiring instructions for the MEGA Express wiring instruction : TP1..3 - A0..A2, RL..RH - A8..A13, Test - D29 it means : Test Pin 1 =A0 ( Analog In of Mega ) Test Pin 2=A1 Test Pin 3=A2 RL is 680 Ohm ( Resistor Low), there are 3 of them, RL1, RL2, RL3 RH is 470 kOhm ( Resistor High ), there are 2 of them RH1, RH2, RH3 RL1 is connected between A8 an TP1 RH1 is connected between A9 and TP1 RL2 is connected between A10 an TP2 RH2 is connected between A11 and TP2 RL3 is connected between A12 an TP3 RH3 is connected between A13 and TP3 Check your wiring with this and it will work ! You said : That stays on screen for a few seconds and then it changes to: - Not calibrated! Thats normal behavior, dont care about this message

Anonymous user

5 years ago

That's a great idea! Thanks plouc68000

Anonymous user

5 years ago

Firstly, thank you for porting this project, I've waiting to get it working for a while. I'm using an UNO and a 4 bit 16x2 with only +-%5 resistors for now. However, I'm getting some strange results when on self testing. Testing passive components I get "No, unknown, or damaged part", diodes seem to make it boot loop. When I test a NPN or PNP transistor it seems to be working fine, occasionally it gets confused with the identification. Using the menu the capacitor test works but isn't showing the ESR? Is there a setup that I've missed? I tried clearing the eprom to see if there was a missing setup screen. Really keen to get it running so I can test some inductors, any suggestions? Thanks

plouc68000

2 years ago

you said : However, I'm getting some strange results when on self testing. Testing passive components I get "No, unknown, or damaged part", diodes seem to make it boot loop. When I test a NPN or PNP transistor it seems to be working fine, occasionally it gets confused with the identification. My experience, most problems are contact problems with the jumper wires...remember, the probe lines at A0,A1,A2 are sometimes high impedance when connected to the RH Resistor 470 kOhm...so the circuit is high impedance, and small oxydation or grease on the jumper wire and or breadboard can have an effect on this 470 kOhm circuit. Clean the wires with contact spray and try the difference...Also the UNO Board should be mounted on a perfect isolating plate, so the back is not touching a light conductive surface, which results in false measurements. Also think about a ground plate under the measuring circuit to minimize electric noise pickup. Remember, you have a sensitive high impedance measuring circuit. ! Also the Test button pin A3 should be connected on a 10 kOhm pullup or +5V when not using a Test Button, otherwise the tester will Reset or not work.... You said :Really keen to get it running so I can test some inductors, any suggestions? Place the inductor between Test Pins 1-2 rather then 1-3. When the Displays shows on the second line the +/- sign, there is more values available...then press Test Button to show aditional values like Resonance Frequency and Q value..( or wait 5-7 seconds to have the display showing the extra values Freq and Q ). In general, if there are more values available, Press Test to get them displayed....

plouc68000

2 years ago

Good, try first with the right resistors...rather then soldering the wires... if the values of RL, RH are different from 680 Ohm, 470 kOhm, you can correct this in Makefile.h, the 2 last lines.... Uncomment the 2 lines as below and indicate the new RH, RL values..... //#define R_H_VAL 10000 // 100kOhm instead of 470k //#define R_L_VAL 3300 // 330 Ohm instead of 680 Isnt this cool ? if you can't do it by hardware, do it by software ;-) Also, if you have 5% values, you can measure the R value with a Multimeter and enter the average of both RH, RL into the Makefile.h ;-)

Anonymous user

2 years ago

Thanks plouc68000 ! I had spent all morning looking to salvage some resistors from retired pcbs, and In my rush to try it out I had used 470Ω not 470kΩ... and 680K not 680Ω, I can't believe I overlooked it so many times. I think I will get the circuit soldered onto strip board asap as you mentioned solder less breadboards don't give the best connections. Thank you for posting the project, I'm sure you have spent countless hours getting it working.

Demonic87

5 years ago

Hallo, at first i must say it´s a great thing you made with the Ardutester making it possible to build it up with an Arduino! I´ve made it with your newest Code from 02.04.2020 with I2C and 1602. It works very fine!!! But i got a few questions on it. Every time while no component is connected it measures some capacity of about 60µF-500µF and doesn´t say "No, damaged component connected". My Controller is an Arduino NANO and of course i´ve tried it with several Microcontrollers like "Maker Uno", Arduino from "Velleman" and another NANOs. Another Breadboard didn´t help me neither. Do you have a good tip for a solution of the problem or depends it on the Breadboard and the cables etc. itself? Does anyone else have any Problems like this? Another question is, what is the best display you can refer to and how could i get it on the sketch to work? Furthermore i want to control it with a rotary encoder. What do you recommend for me an a rotary encoder. Works it with the R.Enc. from the Arduino SET from "ELEGOO" ? Millegrazie for your help and stay healthy!!! Greetings from Bavaria / Germany Tom ;-)

Anonymous user

2 years ago

I have tested the same situation with an old version of the Version 0.7 Ardutester. The same result, only the NANO version from Robotdyn is working correct. I have a few of them, all are working good. But other boards give the same result. By testing without components i get a value on the display of 40 - 60 uF. NO pf, but uF that is off course wrong. It makes no different, DIL of SMD version. Also after, testing, (a sort of calibrating) the same. But with the old SW after testing, (with the wrong boards) i get an Error! message. With the good boards everything works fine. But i will use the software on the Rich-UNO board, (with an DIL ATMEGA328P) Yes i have tested it also on an SMD UNO board, with the same wrong result. And that will not work good. Recognize somebody this problem, who know a solution for it? Thanks. Ruud

Anonymous user

2 years ago

Hello plouc68000 and other, Nice made project with the Arduino, but...... The Problem... The same problem as Demonic87 have i also with a lot of my tested versions. "Every time while no component is connected it measures some capacity of about 60µF-500µF and doesn´t say "No, damaged component connected" I have tested it with several NANO versions (with blue board) all the same problem, but when i tested it with two NANO's from ROBODYN, it works fine.YES no problem! Same processor number MEGA328P. All the boards are new and working normally good. I have also tested it with a UNO board, (i use for my trainings, i am a Arduino teacher) (The red RICH-UNO board) i have the same problem, i have tested it with several ATMEGA328 processors, but all the same. With the NANO, i use the parallel LCD 1602 display, with the RICH-UNO board the I2C display. The displays works in all these cases good, but the same problem, nothing connected, mostly, 55uF value. I have tested and measured, the is no leakage or something else on the board. There must be something special, most of my boards have the problem decribed by Demonic87. Please can you look at this problem with the hardware. Question 1 When a value is measured, i always see 1-||-3 and directly there behind a 1, what will that indicate? Is it good? Now it looks 1-||-31. 31 at the end, No 3. Question 2 Is it possible to change the button to another pin, and inverted. (active pos) My RICH-UNO board has some (fixed) keys on board, i will use them. Greetings from the Netherlands, Ruud vd Meer.

DevaPS3

2 years ago

Im too 😥

plouc68000

2 years ago

you said : Greetings from Bavaria / Germany Wir spechen Deutsch, ich Elsass, momentan Arduino Labor auf CaboVerde..... You said : Every time while no component is connected it measures some capacity of about 60µF-500µF and doesn´t say "No, damaged component connected" I had this from time to time... May be a hardware issue....You have your Arduino on a working table ? Because the Arduino back side should not touch a surface which is not perfectly isolating. Nano Ampere leakage is enough to disturb the C Testing.....Try with a plexiglass or transparent plastic sheet under the Arduino and Report..... You said : Another question is, what is the best display you can refer to and how could i get it Dont full understand the question, but I2C LCD 16X2 is cool, the I2C OLED 1306 is a bit too small, I guess there are bigger OLED available, but havent searched yet. If somenone knows about, tell here.... You said : Furthermore i want to control it with a rotary encoder. What do you recommend for me an a rotary encoder. Works it with the R.Enc. from the Arduino SET from "ELEGOO" ? Havent't looked for rotary function yet, its on my list.....Problem, where I am, no way to find a rotary switch. If you like to send one to me, I give you my postal address from Caboverde by email plouc68000@gmail.com. Und Tchüss !

duedipicche

5 years ago

Sorry for the bad English. Can I use an old Adafruit Graphic ST7565 Negative LCD (128x64) with RGB display? If so what changes do I have to make to the sketch to make it work? Can I use an Arduino Nano (does the display have CS-RST-A0, -SD (SPI_MODE)? Sorry for the many questions and thanks for the possible answer. Vittorio

duedipicche

2 years ago

Thanks for your patience. I just wanted to try this display I had at home. I will try with a mega, but mine was only a test, the final version will be with the millenium project, but with a larger display, at my age my eyesight is poor. Thanks again Kind greetings Vittorio

duedipicche

2 years ago

Thanks for the reply, but the display does not work with DB4, DB5, DB6, DB7 or pin2 pin3, pin4, pin5, or pin 4, pin5, pin6, pin7. In the configuration.h file for the mega328 processor (UNO or Nano) there are 4 possibilities for SPI_MODE, three with STRIP_GRID_BOARD and one without STRIP_GRID_BOARD. I have tried all four, but the display remains white. I have tested the display with an example schetch that uses the ST7565.h library and it works. Sorry again for the questions. Kind Regards Vittorio

plouc68000

2 years ago

Honestly I have Tested the SPI several month ago with the MEGA... I havent checked with the UNO, because the memory size is limiting the MENU.... You could test with a MEGA ? I could look for a UNO ( to verify and tell you the pinout for the LCD ) , but give me a few days.... But why you want SPI when you could use much simpler I2C for Graphic Display ( look the 4 configurations I recommand with the Millenium Project ) ?

plouc68000

2 years ago

Look in the Makefile.h You have to uncomment this Display selection /* with LCD ST 7735, uncomment next lines */ //#define FOUR_LINE_LCD 0 //#define WITH_LCD_ST7565 1 //#define LCD_ST_TYPE 7735 //#define LCD_ST7565_RESISTOR_RATIO 4 //#define FONT_8X12thin //#define ICON_TYPE 2 //#define BIG_TP //#define LCD_INTERFACE_MODE MODE_SPI //#define VOLUME_VALUE 25 //#define DLCD_ST7565_V_FLIP 1 //#define DLCD_ST7565_H_FLIP 1 //#define DLCD_ST7565_H_OFFSET 4 make this board selection to UNO /* Board selection UNO or MEGA */ //#define PARTNO m2560 // uncomment in case of MEGA 2560 board #define ARDUINO_UNO // uncomment in case of UNO board #define NO_FREQ_COUNTER // uncomment when UNO Board , FREQ counter function only with MEGA 2560 Board and disable the MENUso the Code size fits //#define WITH_MENU 0 The Pinout from Paralell LCD to SPI is probably DB4 -> RST-RE DB5 -> RS -A0-DC DB6 -> SCL-EN DB7 -> SDA-B0 RS -> E -> CS-E-CE

plouc68000

2 years ago

I have Tested the 1306 SPI with the UNO the right pins for SPI mode are... ( there is a big variability in SPI Display pin Names, so I noted the equivalent pins ) Digital 0 - RST or RES Digital 1 - RS or DC or A0 Digital 2 - EN or D0 or SCL Digital 3 - B0 or D1 or SDA Digital 5 - CE or CS or E

Anonymous user

5 years ago

Very, very good. I'm do it and it's working.

serlen

5 years ago

Thanks. Everything worked. Only I still didn't understand where to write the display address.Specify the place where you want to change it.

serlen

5 years ago

Thank you very much for the sketch.I'm trying to configure and upload it.The problem is that I can't find where to write the display address I have 3f. And do I need to uncomment #include <LiquidCrystal_I2C. h>. And whether to add the library LiquidCrystal_I2C. h it is not there. The sketch loads normally but the screen shows only squares. Thanks.

plouc68000

2 years ago

you may change the adr in the 2 files ( change in both and verify ) lcd_routines.ino line 446 ( change 0x27 in 0x3f ) lcd_hw_4_bit.ino line 1056 (change 0x27 in 0x3f ) I was thinking all LCD are at 0x27....if not, I will make it possible to change the adr in the Makefle.h I have imbedded the few things I needed from LiquidCrystal_I2C in the sketch, so this Library is not needed.

serlen

5 years ago

This project makes famous transistor-tester really open and easy-to-use! Thank you Author! Great job! As my display is 1602 I2C and there was no support for this configuration until a couple of days ago, I found a way out with the help of send method from popular I2C LCD library. I needed only to move send method from private to public section in LiquidCrystal_I2C.h. The modification to lcd_hw_4_bit.ino is high-level and simple: #include <Wire.h> #include <LiquidCrystal_I2C.h> //This LCD I2C library was downloaded from https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library //Send method should be moved from private to public section in LiquidCrystal_I2C.h in order to use it in a sketch. LiquidCrystal_I2C lcd(0x27, 16, 2); // My display is using address 0x27 void i2c_init() { lcd.begin(); lcd.backlight(); // not necessary, because backlight is on by default on startup } void _lcd_hw_write(unsigned char preg_1, unsigned char preg_2){ lcd.send(preg_2,preg_1); } Please write. Where to put exactly LiquidCrystal_I2C.h to earn LCD I2C 1602

plouc68000

2 years ago

Hi Serlen, you are lucky, stucked home because the Covid-19 sanitary emergency, I have produced a more advanced version of the ArduTester, with most common Display drivers. This version I am Testing and then publishing as a new Project, with focusing on 4 Harware Configurations: ( Config. changes only by editing the Makefile.h, then Verify and Upload ). - The UNO with 1602 LCD Parallel interface - The UNO with 1602 LCD with I2C Interface - The MEGA with 1602 LCD with I2C interface ( and Freq Counter ) - The MEGA with Graphic Display 1306 OLED 128 X 64 with I2C interface ( and Freq. Counter ) Here the code for a UNO with a 1602 LCD with I2C interface ( adr. 0x27) https://create.arduino.cc/editor/plouc68000/629cf0ba-4afa-459e-8165-2407f51bbedf/preview SDA,SCL are the standart UNO Pins for I2C. SDA is A4, SCL is A5, Test Button D7, Test Pins A0..A2, RL,-RH D8..D13 Hope it works for you ! Thanks to alanpo for his inputs about the I2C for the 1602 LCD, it was all good hints !

andreasewt

5 years ago

I will try to make it work with the Lylipad, any toughts? At first I was only going to make a capacitance meter (www.electronoobs.com/eng_arduino_tut10_1.php) because my multimeter don't read small and big capacitors, but this one covers so many things..

Anonymous user

5 years ago

can you have to build video from this project make full video. i think is more important to peoples

plouc68000

2 years ago

Looks like "Electro Retro" has made a full video.... https://www.youtube.com/watch?v=crQiHfSg97I

Anonymous user

5 years ago

How could I always display value of inductor in micro H instead of mili H in decimals?

Anonymous user

5 years ago

Hi i tried this project using 1602 lcd and arduino uno but my lcd shows some random things. can anyone pls help me to solve this problem?

Anonymous user

2 years ago

I had some troubles too, make sure you are connecting 1602 pins to arduino the right way, arduino pin 2 to ldc D7, arduino pin 3 to lcd D6, arduino pin 4 to lcd D5, arduino pin 5 to lcd D4, arduino pin 6 to lcd E, arduino pin 7 to lcd RS.

Anonymous user

5 years ago

Hello, friends! Thanks to the author of this topic! I use Mega 2560. When I output to Port Monitor TT works well. But when I connect display 1306 SSD, the display rests black. SDA is connected to PA4 (74) pin and SCK is connected to PA5 (73) pin. If I load a scatch for OLED_I2C library (OLED_I2C_3D_Cube for example) to pins 73 and 74 all work well. In Makefile.h I uncomment these lines: #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2 A line //#define LCD_ST_TYPE 1306 is commented. What can I do? Help me, please.

plouc68000

2 years ago

Think you will love this ! Here a new version configured with MEGA and SSD1306 I2C https://create.arduino.cc/editor/plouc68000/7a1c38f2-3710-4e44-80b0-1b2ac3ffa4a0/preview Connect the 1306 to the MEGA SDA & SCL pins Here the proof with a SSD1306 https://www.cjoint.com/c/JAcqTBvkbfF Please test if it works for you, I am thinking about publication in project hub as a new project ! because its so cool and less wiring 🤣

plouc68000

2 years ago

You should use the standard SCL, SDA pins of the MEGA, 21 & 20

plouc68000

2 years ago

Good ! Its always nice when your guys use this open Arduino code and then are able to modify yourself to fit your needs. So my efforts to make it available and simple to handle was useful 👍😉😂

Anonymous user

2 years ago

Sorry, Plouc68000! The sketch did not work for me. The sketch compiles without errors. When I load the sketch, the screen remains black. The Start and Reset buttons do not affect the contents of the screen. I want to clarify, the SDA is connected to the AD4 (PA4) port, the SCK is connected to the AD5 (PA5) port, right? This is indicated in the config.h and in the Karl-Heinz Ku ̈bbeler scheme. Or do I need to connect to the standard SDA and SCK for AtMEGA2560 ports PD0 and PD1? I tried to load the sketch of the standard library OLED_I2C_3D_Cube to AD4 and AD5. The sketch is working. The OLED is lit. The cube is rotating.

Anonymous user

2 years ago

Ok, thanks! It works! https://yadi.sk/i/cT24Y1PfULCrIw I turned the image upside down. And I uncommented some lines here: // with LCD ST 7735, uncomment next lines //#define FOUR_LINE_LCD 0 //#define WITH_LCD_ST7565 7735 //#define LCD_ST7565_RESISTOR_RATIO 4 //#define LCD_SPI_OPEN_COL #define LCD_ST7565_H_FLIP 1 //#define LCD_ST7565_H_OFFSET 0 #define LCD_ST7565_V_FLIP 1

Anonymous user

2 years ago

If I comment lines of SSD1306 in Makefile and uncomment lines for serial port the TTester works! ArduTester V1.13k Testing.\u0003 ...... NPN 123=ECB B=20.2 Ie=.19mA + Ube=535mV

Anonymous user

2 years ago

Thanks, I will try it.

Anonymous user

2 years ago

Maybe I should determine the address OLED: #define LCD_I2C_ADDR 0x3с? My SSD1306 has an address of 0x3с

Anonymous user

2 years ago

Ardutester V1.13k Testing ...... P-E-MOS C=3.18nF Vt=2.0V (+) <- Pause 1 RDS=.4Ohm (+) <- Pause 2 1-|<-2 Uf=663mV Как убрать паузы между выводом информации, помеченные (+)? У меня цветной 2.4" TFT LCD Display 320x240 подключенный к MEGA2560. Информация выводится за один поток, а паузы удлиняют время тестирования. https://yadi.sk/i/kyhsGiEEChZnFg

Anonymous user

2 years ago

Проблема решена, Я разобрался с паузами.

Anonymous user

5 years ago

Здравствуйте! Я собрал данный тестер сначала на 1602 LCD, но мне не нравится вывод информации на него. У меня был 2.4" TFT LCD Display и я попытался подключить его, но не хватило памяти Ардуины. Поэтому подключил его к другой Ардуино и соединил между собой по шине I2C. Можно посмотреть здесь // http://arduino.ru/forum/proekty/transistor-tester-arduino?page=14#comment-503343//. Но хотелось все сделать на одной Ардуино, поэтому вопрос - есть ли у Вас скетч где вывод информации делался только в монитор, чтобы освободить память?

plouc68000

2 years ago

For only serial monitor output, uncomment the lines marked in Makefile.h , verify and upload. https://www.cjoint.com/c/ILFsB6ivdxC

Anonymous user

2 years ago

С НОВЫМ ГОДОМ!!!

Anonymous user

2 years ago

Я это сделал, но все равно катастрофически не хватает памяти для программы. Отключаю где возможно любое упоминание LCD, но пока осилил только три параметра а их там 12, да еще с вариациями, , на остальные не хватает памяти.

Anonymous user

5 years ago

Very nice work, thanks for sharing. can I use a rotary encoder? If so, where should I conect it. Or the rotary encoder code is just for testing a rotary?. I would like to use it over the menu.

Anonymous user

5 years ago

Hello everyone and a greeting in particular to the master plouc68000 for the great work done and his availability. Recently I approached the immense world of Arduino and recently, after damaging the T4 transistortester, I built your project using a compatible Arduino Uno using a Clover Display M392 display recovered from an old Panasonic Fax but some characters were not compatible (sorry because it was very compact). Now I have a 16x4 display but I'm not able to figure out where to modify to adapt the interface. The display is WINSTAR WH1604A-TMI-ET # (1604A REV.C) blue backlight and white characters. Currently with defoult's 1602 configuration he fills the remaining two lines with another that has nothing to do with the measurement made. At this point I need the hand of an expert. I could kindly ask you to explain to me in an elementary way the procedures so I begin to understand where to intervene on the selection of the hardware and the various configurations? Maybe this will be useful to other enthusiasts. Sorry for my English. Thanks P.S. Despite being a neophyte I have my professional quality equipment for electronic repairs and small DIY projects that I do for hobby and passion investing a lot of time and money like in many hobbies.

Anonymous user

2 years ago

Thank you for answering. Unfortunately nothing changes or little by deleting //. He does nothing, I will wait for a 1602 LCD to arrive.

plouc68000

2 years ago

You can try this, I have no 4 line LCD to test..... Look for the Tab Makefile.h in the Arduino IDE, thats where the selection of the various configurations is. Remove the comment // on the line #define FOUR_LINE_LCD 0 to enable this line, then verify and upload. // if no LCD specified, its 4 bits parallel // with LCD 7920 serial #define FOUR_LINE_LCD 0 //#define WITH_LCD_ST7565 7920 //#define LCD_INTERFACE_MODE 5

Anonymous user

5 years ago

Hi. Does this code work with the arduino NANO? Thank you.

plouc68000

2 years ago

it should, because nano is a small sized UNO. Have you tried ?

plouc68000

2 years ago

you haven't tried hard enough... Here a photo with a Nano https://www.cjoint.com/c/IKvnjTaqsjC Here a photo with a Pro Mini https://www.cjoint.com/c/IKvnmrJNZPC Check the wiring with the file ReadMe.adoc == Step 2: Assemble the circuit Assemble the circuit following this instruction: 1. Look at your Arduino/Genuino Uno pins: -Pin ANALOG IN A0 (PC0) is TP1 ( ArduinoTester Pin 1 ) -Pin ANALOG IN A1 (PC1) is TP2 ( ArduinoTester Pin 2 ) -Pin ANALOG IN A2 (PC2) is TP3 ( ArduinoTester Pin 3 ) -Between A0 and DIGITAL 8 (PB0) connect a 680 Ohm Resistor -Between A0 and DIGITAL 9 (PB1) connect a 470 kOhm Resistor -Between A1 and DIGITAL 10 (PB2) connect a 680 Ohm Resistor -Between A1 and GIGITAL 11 (PB3) connect a 470 kOhm Resistor -Between A2 and DIGITAL 12 (PB4) connect a 680 Ohm Resistor -Between A1 and DIGITAL 13 (PB5) connect a 470 kOhm Resistor -Pin ANALOG IN A3 to a 10 kOhm pullup Resistor at 5V and via the Test Button to GND 2. Look at your 2 Line LCD HD44780 Compatible ( 4 Bits Data ): -Connect DIGITAL 5 to LCD DB4 -Connect DIGITAL 4 to LCD DB5 -Connect DIGITAL 3 to LCD DB6 -Connect DIGITAL 2 to LCD DB7 -Connect DIGITAL 7 to LCD RS -Connect DIGITAL 6 to LCD E -LCD LED- to GND -LCD LED+ to 3,3V -LCD VDD to 5V -LCD VSS to GND -LCD R/W to GND -LCD VO to 10 kOhm Pot. ( Contrast Adjust. ) == Step 3: Load the code

Anonymous user

2 years ago

Si, probe pero no pude hacerlo andar :(

DevaPS3

5 years ago

Hello master, I am very interested in your ardutester project. I have studied and then practiced your ardutester circuit and sketch. I use an arduino uno board and a standard 1602 LCD. They measure the components with precision. Because there is no frequency counter and f-scaler for the board arduino uno, next I want to add a frequency counter and f-scaler to your sketch. What should I do for your sketch?

plouc68000

2 years ago

The FREQ counter is included, however it need a Arduino MEGA2560 Board.....to work with the Arduino environment ( more Program memory and Timers in the MEGA ).

Anonymous user

5 years ago

Good Evening. very nice job. I want your help. I opened the folder with the files and I lost so many. please can you tell me how I should burn it him controllers for arduino uno. I would appreciate watching a video.

Anonymous user

5 years ago

**SSD1306 isn't working.** I have uncommented the following lines in Makefile.h: #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2 #define LCD_ST_TYPE 1306 _(my lcd's I2C address is 0x3C)_

Anonymous user

5 years ago

Hi, can isso use it only as a encoder Tester? i work with encoder bearings on my job, and I was thinking to use this to have a fastest test , because on site i only have a multimeter, so isso only can see the average voltage output for chanal A and B. but by this Way I cant have a real análises if it's fauly or not, I work with 24v or 12v on encoder input, but o think this isnt a problem because the encoder probably work with 5v from the Arduino because other way is only connect the chanals a and b to the Tester, but I have to find a way to convert the output voltage so I dont burn the Arduino. iam on a good way or I Am completly out of way I forget to say I Am a Arduino beginner thanks

carloalberto66

6 years ago

It works very well! thanks a lot...

Anonymous user

6 years ago

I am running a capacitor test and I keep getting not calibrated. How do you calibrate the tester?

Anonymous user

6 years ago

Altough the code compiled OK I've got too many warnings. What did I wrongly?: I choose to receive only standard compiler wranings in the Arduino IDE.

Anonymous user

6 years ago

can somebody give me component tester sketch for pro micro... because i only have one arduino pro micro. and i want to see component's test result on pc on serial monitor because i don't have any display for arduino.... i want to fix an lcd panel and for that i need to test some components on that lcd panel board ....

plouc68000

2 years ago

sorry, the original Transistor Tester and therefore the Arduino sketch works only for UNO and MEGA... I tryed to run in mega32U4, which is the chip for Pro Micro, but found too much issues to solve...... Here the listing of chips working..... // select the right Processor Typ #if defined(__AVR_ATmega48__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega48P__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega88__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega88P__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega168__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega168P__) #define PROCESSOR_TYP 168 #elif defined(__AVR_ATmega328__) #define PROCESSOR_TYP 328 #elif defined(__AVR_ATmega328P__) #define PROCESSOR_TYP 328 #elif defined(__AVR_ATmega324__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega324P__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega324PA__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega644__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega644P__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega644PA__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega1284__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega1284P__) #define PROCESSOR_TYP 644 #elif defined(__AVR_ATmega640__) #define PROCESSOR_TYP 1280 #elif defined(__AVR_ATmega1280__) #define PROCESSOR_TYP 1280 #elif defined(__AVR_ATmega2560__) #define PROCESSOR_TYP 1280

Anonymous user

6 years ago

Can I have pintout connection for Mega2560 as I am finding issue with D4,D6,D7 of Uno in config.h. Also PE6-->INT6 is not availablein Mega pinout daigram.

plouc68000

2 years ago

Chapter2.9 https://github.com/svn2github/transistortester/blob/master/Doku/trunk/pdftex/english/ttester.pdf

Anonymous user

6 years ago

i found something new: "During self-calibration at "C >100nF" step; can not measure the value." I am trying this step with 220nF and 1uF solid capacitors and get error. Latest; I tried with 3300uF electrolytic and have no problem. Yours Sincerely...

Anonymous user

6 years ago

I re-uploaded the software then "Can not enter menu. (with long press)" problem fixed. News: -During self-calibration at "C >100nF" step; can not measure the value. No problem at next "C 4-30nF" step. -When no parts connected to probes: display shows capacitor and ESR measurement between probe 2 and 3. (usually showing 7000-9000nF 70kL and ESR:20 Ohm) -When a capacitor(testing with 220nF) connected between all probe combinations: can not measure the value and freeze for a moment. -Coil measurement is usually lower(-20uH error @ 100uH) than the value. Thanks everybody very much, have a nice day...

Vicold

6 years ago

Happy New Year! Connect the display ST7735 from the last link. In the config.h I changed the pins as I like. Works. But the menu consists of five items and change is not possible. Fonts do not change. The measurements are correct. After the measurement goes into reboot. I will continue to test. Thanks for the work you've done!

plouc68000

2 years ago

Happy new year ! Thanks for your testing efforts..... I know there are still things to improve...its a exciting project. () fix the Not calibrated message ( I guess the EEPROM storage is not working propperly ) and Arduino IDE cannot burn the initial values in EEPROM from the original TransistorTester.eep file, so there is some Arduino Code to write to go around this problem.. ()fix the reboot problem. My observations, I have a MEGA 2560 hardware with a Adafruit LCD , it starts better ( no reboot ) when you start without a device under Test connected, means TP1, TP2, TP3 open. After a reset on Arduino, you get ( mostly ) No, unknown or damaged part ? then the Not calibrated! then short press on Test restart a Testing.... A long Press gives the menu, short press moves the selection, long Press to go into Selected Item. The menu Items are fully functional ! For the frequency menu item, this works only on a MEGA2560, the UNO is not enought because Timer is used by Arduino System routines. Thanks for your testing efforts, continue to report what you find, I will report when I have made improvements in the code .

Anonymous user

6 years ago

First of all; Thank you very much for your work. I build the unit as instructed but: Can not calibrate using self test function. (with shorting 3 test points) Can not enter menu. (with long press) Have a nice day...

Anonymous user

2 years ago

Let me try with Rotary encoder and update.

Anonymous user

6 years ago

I have the missing fonts folder as collect it from old archives and I started on 7735 Display.How can I add missing fonts to zip ?. Note: Make file was missing "#define LCD_ST_TYPE 7735" to enable ST7735 display.

plouc68000

2 years ago

You should use this testing link to download the sketch , the fonts are included in this project https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview

alanpo

6 years ago

This project makes famous transistor-tester really open and easy-to-use! Thank you Author! Great job! As my display is 1602 I2C and there was no support for this configuration until a couple of days ago, I found a way out with the help of send method from popular I2C LCD library. I needed only to move send method from private to public section in LiquidCrystal_I2C.h. The modification to lcd_hw_4_bit.ino is high-level and simple: #include <Wire.h> #include <LiquidCrystal_I2C.h> //This LCD I2C library was downloaded from https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library //Send method should be moved from private to public section in LiquidCrystal_I2C.h in order to use it in a sketch. LiquidCrystal_I2C lcd(0x27, 16, 2); // My display is using address 0x27 void i2c_init() { lcd.begin(); lcd.backlight(); // not necessary, because backlight is on by default on startup } void _lcd_hw_write(unsigned char preg_1, unsigned char preg_2){ lcd.send(preg_2,preg_1); }

Anonymous user

6 years ago

Hi, thanks for the awesome project! I tried out your preview code Ardutester_more.ino with 2 different SSD1306 OLED displays but unfortunetly could not get anything to show up on the display:( I double checked that the i2c address was correct, and uncommented the lines #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1327 #define LCD_INTERFACE_MODE 2 #define LCD_I2C_ADDR 0x3d in makefile.h, is there anything more I am supposed to do in order to enable this display? I'm also using an arduino uno, and tried with and without the arduino uno defined in the makefile.h. Using the serial option, however, displayed the appropriate information for a tested transistor! Thanks!

plouc68000

2 years ago

There was an important line missing in Makefile.h which made the code not working.... #define LCD_ST_TYPE 1306 Should be better now ! I have no 1306 to test, but tested the ST7735R 144 GreenTab from Adafruit, so today the first time the ArduTester works with a Graphical Display ! The newest .ino is linked below ( still a Testing Version ), people should validate it with their LCD and report, thanks. ( You have to edit the Makefile.h first to uncomment your LCD type, then verify & Upload ). https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview

plouc68000

2 years ago

if you have a 1306 OLED, you should have uncommented these lines in the 1306 I2C interface section of makefile.h: // 1306 I2C interface #define FOUR_LINE_LCD 0 #define WITH_LCD_ST7565 1306 #define LCD_INTERFACE_MODE 2

Anonymous user

2 years ago

Shoot sorry I copied the wrong lines into my original question! The lines that you have included in your previous reply have been uncommented and the lines I originally posted are commented out, which fails to work (the screen remains blank), thanks again for the help and sorry for the confusion!

Anonymous user

6 years ago

Good day! Thanks for a good project, I would like to develop it further, but I cannot get a working copy with display 1602 and interface I2C. Tell me, please, what should be the configuration of Makefile.h for display 1602 with interface I2C? The current version managed to be compiled only under serial monitor, disables LCD.

plouc68000

2 years ago

The Current Sketch only works with the 4 Bits 1602 LCD which is included in most Arduino UNO Starter Kits. It is not impossible to add the I2C support, there is still work to do in converting the original LCD support file written in assembler to a Arduino .ino file. lcd_hw_4_bit.S into the lcd_hw_4_bit.ino I have little time to expand this project further, but if some Arduino enthusiast has made further conversion to Arduino of the LCD support assembler file, I will be pleased to update the corresponding.ino files of this project. Contact me for that purpose only on my email ( see contact information in ReadMe.adoc ). PS: the current version as published supports the 4 Bits 1602 LCD and not the serial monitor, the ReadMe.adoc stating this was the wrong version, this is corrected now.

plouc68000

2 years ago

Hello, here a version with the full lcd_hw_4_bit.ino file translated to Arduino, so the support for I2C interface should be inside... However, its untested and no peer review yet. You need to uncomment the suitable display lines in Makefile.h to select the display you want, by default as it is now, its the 4 bit parallel 16 X 2 1602 2 lines display. The untested software has a separate Link, I merge it in the project when fully tested. https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview Just Verify and upload, or Edit Makefile.h, Verify and upload. You may write to my email if you dont want to overload the discussion here.... Thanks for having a look and trying your LCDs....

Vicold

6 years ago

Hello. Great work done !!! I will try to attach the display ST7735. It turns out or not, what is your opinion? Thank.

plouc68000

2 years ago

Hello, here a version with the full lcd_hw_4_bit.ino file translated to Arduino. However, its untested and no peer review yet. You need to uncomment the suitable display lines in Makefile.h to select the display you want, by default as it is now, its the 4 bit parallel 16 X 2 1602 2 lines display. The untested software has a separate Link, I merge it in the project when fully tested. https://create.arduino.cc/editor/plouc68000/6a5de626-bdbf-49a8-9f5e-b5c17a9fe2da/preview Just Verify and upload, or Edit Makefile.h, Verify and upload. You may write to my email if you dont want to overload the discussion here.... Thanks for having a look and trying your LCDs....

plouc68000

2 years ago

The Current Sketch only works with the 4 Bits 1602 LCD which is included in most Arduino UNO Starter Kits. It is not impossible to add other displays, not shure if graphical display support will fit in the Arduino UNO Memory size, but certainly in the MEGA 2560, there is still work to do in converting ALL the original LCD support assembler file lcd_hw_4_bit.S into the lcd_hw_4_bit.ino ( the actual version also supports the LCD 7920 Serial in Text Mode, this was done together with a Arduino UNO enthusiast from Italy ). I have little time to expand this project further, but if some Arduino enthusiast has made further conversion to Arduino of the LCD support assembler file, I will be pleased to update the corresponding.ino files of this project. Contact me for that purpose only on my email ( see contact information in ReadMe.adoc ).

Anonymous user

2 years ago

Sir i want to add 1306 i2c lcd how can i do that

plouc68000

2 years ago

Thanks, I will tell here when the ST7735 support will be implemented in Arduino Code, so you may test it....I guess before Christmas......(:-)

Vicold

2 years ago

OK!

Vicold

2 years ago

Hello. All attempts to connect ST7735 are unsuccessful ((. After reviewing the sketch, I realized that there is no support for many displays. I cannot disassemble, but I can test the sketch in work. Thank you.

Anonymous user

2 years ago

Nice job well done I respect your project Pls I would be so happy if I can have the code send to my email I can't copy the one I downloaded is complaining of resistor tester not in the library okunlolaayo@gmail.com