Only remaining thing to do is remove the TL431? Its firmware 1.13k. I only ask because the TL431 is very close to the socket for the Mega328. I think it would be easy to remove but VERY hard to solder back in, at least using a soldering iron. Do I need to reprogram the AVR or does it autodetect the presence of the 431?
The k-firmware auto-detects the external 2.5V reference by default. IIRC, there's no configuration switch to disable the code for the external reference.
The documentation I saw suggested that if the voltage reference was removed you should install a 47k resistor (R16) pull-up onto the cathode pin. The board I have, has values but not component designators. I suppose if this is the case an 0805 resistor could probably fit between the terminals, since I think one terminal of the TL431 is hooked to VCC.
Interestingly, from what I can tell the MCP1702 guarantees only 0.4% accuracy, whereas the LM4040A should be accurate to 0.1%, while the TL431 is accurate to 0.5-2% depending on which one is used. I'm a little surprised why the LM4040A isn't recommended. Unfortunately, the pinout appears to be different, and it seems to require a pull-up of ~39K.
I think it goes without saying that Chinese clones will come with the lowest grade reference.
You don't really need to know the R designator. As the readme says, if the program doesn't detect the missing reference, just increase the value of the pull-up resistor on pin PC4.
The LM4040 was mentioned a couple times in the readme, as well as other alternatives.
Interestingly, from what I can tell the MCP1702 guarantees only 0.4% accuracy, whereas the LM4040A should be accurate to 0.1%, while the TL431 is accurate to 0.5-2% depending on which one is used.
From testing different voltage references we found out that the external 2.5V reference needs to be about 10 times more accurate than the voltage regulator to provide a benefit. As an alternative you could measure Vcc with a proper bench DMM and adjust the configuration value accordingly.
No change, still dead slow
avrdude -c avrisp -b 19200 -p m328pb -P COM7 -U flash:w:TransistorTester.hex:a -U eeprom:w:TransistorTester.eep:a -v
avrdude: Version 6.3-20171130
Copyright (c) 2000-2005 Brian Dean, [url]http://www.bdmicro.com/[/url]
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.conf"
Using Port : COM7
Using Programmer : avrisp
Overriding Baud Rate : 19200
AVR Part : ATmega328PB
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel AVR ISP
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.05s
avrdude: Device signature = 0x1e9516 (probably m328pb)
avrdude: safemode: lfuse reads as E2
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as F4
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "TransistorTester.hex"
avrdude: input file TransistorTester.hex auto detected as Intel Hex
avrdude: writing flash (29732 bytes):
Writing | ################################################## | 100% 33.30s
avrdude: 29732 bytes of flash written
avrdude: verifying flash memory against TransistorTester.hex:
avrdude: load data flash data from input file TransistorTester.hex:
avrdude: input file TransistorTester.hex auto detected as Intel Hex
avrdude: input file TransistorTester.hex contains 29732 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 19.14s
avrdude: verifying ...
avrdude: 29732 bytes of flash verified
avrdude: reading input file "TransistorTester.eep"
avrdude: input file TransistorTester.eep auto detected as Intel Hex
avrdude: writing eeprom (857 bytes):
Writing | ################################################## | 100% 42.31s
avrdude: 857 bytes of eeprom written
avrdude: verifying eeprom memory against TransistorTester.eep:
avrdude: load data eeprom data from input file TransistorTester.eep:
avrdude: input file TransistorTester.eep auto detected as Intel Hex
avrdude: input file TransistorTester.eep contains 857 bytes
avrdude: reading on-chip eeprom data:
Reading | ################################################## | 100% 3.46s
avrdude: verifying ...
avrdude: 857 bytes of eeprom verified
avrdude: safemode: lfuse reads as E2
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as F4
avrdude: safemode: Fuses OK (E:F4, H:D9, L:E2)
avrdude done. Thank you.
will try to install another crystal tomorow,
could it be a bad chip ?
or the firmware is not for 8mhz ?
Referring to my old post, i got the LCR T4 working with m328pb. For some reason it was on clock failure detection swtching to 1mhz and i was unable to set the correct fuse to disable CFD.
Here are the correct fuses for ATmega 328pb
efuse = FC
hfuse = D9
lfuse = FF
the default avrdue.conf will not write the correct efuse FC
you have to modify the avrdude.conf
open it and ATmega328 look for 'memory "efuse"' section. It will look like below
memory "efuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
"x x x x x x x x o o o o o o o o";
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x x x x x x i i i";
;
change
"x x x x x x x x x x x x
x i i i"
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x x x x x x i i i";
to
"x x x x x x x x x x x x
i i i i"
write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
"x x x x x x x x x x x x i i i i";
Save it, now u will be able to program the correct efuse FC.
Now i have some questions. Can i install rotary encoder in this variant ?
also is m-firmware (compiled) available for it ?
any other mods for it ?
Thanks for the hint! A rotary encoder should be possible (try PD1 and PD3), but you need to configure and compile the firmware for that.
Hi,
I have a colour T7 model. It's the same model as the TC1, i think so. I have read the file in Clones in Markus firmware 1.38. My question is: is it possible to replace the firmware without removing the U4 Micro-controller STC15L104W ? My display has 6 pins.
Thanks
Hi,
When i "Make All" with WinAVR, i have this error. Firmware Markus for TC7.
main.c: In function 'CheckBattery':
main.c:1392:21: warning: unused variable 'Temp' [-Wunused-variable]
Thank for your help
Hello,
is it possible to use frequency counter on anothet input pin? PD4 is used at LCR-T4 as reset pin for display and therefore is not possible to use this feature. Can somebody modify m-firmware or tell what and how to modify? In source I have read that it has to be PD4.
Thanks
standal
When i "Make All" with WinAVR, i have this error. Firmware Markus for TC7.
main.c: In function 'CheckBattery':
main.c:1392:21: warning: unused variable 'Temp' [-Wunused-variable]
It's just a warning you can simply ignore. Will be fixed in the next firmware version.
is it possible to use frequency counter on anothet input pin? PD4 is used at LCR-T4 as reset pin for display and therefore is not possible to use this feature. Can somebody modify m-firmware or tell what and how to modify? In source I have read that it has to be PD4.
The frequency counter uses hardware timer #0 for counting pulses. Timer #0's fixed input is T0 which is PD4 (ATmega328). Your best bet is to disconnect the displays reset line from PD4, to use a pull-up resistor and cap to create a reset pulse and to disable LCD_RESET in the display's configuration.
Hi,
thank you for advice, but I wanted to avoid HW modifications. But would not be possible to use timer 1 (PD5)? This one is not used on the LCR-T4.
Timer #1 is already used for the gate time.
Hi,
and is not possible to use timer#0 for "the gate time" and than timer#1 for frequency counter?
Timer #0 is an 8-bit timer, while Timer #1 is 16 bits. And the firmware doesn't have an abstraction layer to deal with multiple sources triggering the same interrupt.
Hello everyone,
Has anyone succeeded in installing the latest 1.13k-firmware on the clone LCR-T7 (m324pa mcu) ?
I modded the u4 firmware , and used the ST7735 Makefile, mcu = m644, compiles ok. Then i use my TL866 II programmer (fuses set there).
After upload on the device, start, the screens stays blank...
I would appreciate if someone could help me on this :-)
I managed to compile and install the 1.38m successfully, but i wanted to try the k one !
Thank you
Have you set "PARTNO = m324p" in the Makefile?
Hello everyone,
Has anyone succeeded in installing the latest 1.13k-firmware on the clone LCR-T7 (m324pa mcu) ?
Thank you
K-firmware requires major changes to source files in order to customize firmware for clone LCR-T1 (T7).
In m-firmware, this is done much easier and faster(thanks
madires!)
Have you set "PARTNO = m324p" in the Makefile?
Hello @madires, yep, but in config.h, it's considered like 644.
Have you set "PARTNO = m324p" in the Makefile?
Hello @madires, yep, but in config.h, it's considered like 644.
Does the tester stay powered on for a few seconds (backlight lit) after pushing the start/test button?
Have you set "PARTNO = m324p" in the Makefile?
Hello @madires, yep, but in config.h, it's considered like 644.
Does the tester stay powered on for a few seconds (backlight lit) after pushing the start/test button?
My last test (after playing with some defines) shows that the screens stays on, i can't power it off.
But i can remember that i had the screen stays on a few seconds yes... can't remember the defines... i did a lots of testing.
In that case there's something wrong with the pin assignment for the display signal lines.