Hi,
I have one of these cheap testers and decided to spend a rainy afternoon attempting a firmware update
The version of the device I have is LCR-TC1 with original 2.12k firmware; a ATMEGA324PA version with 16MHz crystal with exactly this schematic
https://www.eevblog.com/forum/oshw/chinese-tc1-transistor-tester/?action=dlattach;attach=1355798;imageSo from reading I see that I first need to update the firmware in U4, the STC15L104W. The first thing I noticed is that the TX & RX are reversed in the P1 & P2 connections. In the original schematic U4 pin 5 (tx) goes to P2 and pin 6 (rx) goes to P1 whereas is the schematic above they are reversed!
I downloaded the latest stc-isp (V6.91K) and eventually managed to update the firmware using the method described with the addition of the holding the button on the device down whist power is applied to force the 15L104 into boot mode.
Checking target MCU ...
MCU type: STC15L104W
F/W version: 7.2.5Q
Current H/W Option:
. Current system clock source is internal IRC oscillator
. Current frequency: 11.051MHz
. Wakeup Timer frequency: 27.089KHz
. Do not detect the level of P3.2 and P3.3 next download
. Power-on reset, use the extra power-on delay
. RESET pin behaves as IO pin
. Reset while detect a Low-Voltage
. Thresh voltage level of the built-in LVD : 2.42 V
. Inhibit EEPROM operation under Low-Voltage
. Hardware do not enable Watch-Dog-Timer
. Watch-Dog-Timer pre-scalar : 256
. Watch-Dog-Timer stop count in idle mode
. Program can modify the Watch-Dog-Timer scalar
. Do not erase user EEPROM area at next download
. Do not control 485 at next download
. Do not check user password next download
. TXD is independent IO
. TXD pin as quasi-bidirectional mode after reset
. P3.3 output HIGH level after reset
. Reference voltage: 1231 mV (Range: 1150~1320mV)
. Testing time: 2017-9-28
MCU type: STC15L104W
F/W version: 7.2.5Q
Adjusting frequency ... [1.031"]
Adjusted frequency: 12.011MHz (0.090%)
Re-handshaking ... Successful [0.141"]
Current Baudrate: 38400
Erasing MCU flash ... OK ! [0.359"]
Programming user code ... OK ! [1.375"]
Programming OPTIONS ... OK ! [0.063"]
H/W Option upgrade to:
. Current system clock source is internal IRC oscillator
. Current frequency: 12.011MHz
. Do not detect the level of P3.2 and P3.3 next download
. Power-on reset, use the extra power-on delay
. RESET pin behaves as IO pin
. Reset while detect a Low-Voltage
. Thresh voltage level of the built-in LVD : 2.42 V
. Inhibit EEPROM operation under Low-Voltage
. Hardware do not enable Watch-Dog-Timer
. Watch-Dog-Timer pre-scalar : 256
. Watch-Dog-Timer stop count in idle mode
. Program can modify the Watch-Dog-Timer scalar
. Do not erase user EEPROM area at next download
. Do not control 485 at next download
. Do not check user password next download
. TXD is independent IO
. TXD pin as quasi-bidirectional mode after reset
. P3.3 output HIGH level after reset
. Reference voltage: 1231 mV (Range: 1150~1320mV)
. Testing time: 2017-9-28
MCU ID : F2D400EC18041F
MCU type: STC15L104W
F/W version: 7.2.5Q
. Set frequency: 12.000MHz
. Adjusted frequency: 12.011MHz
. Trim error: 0.090%
Complete !(2023-04-12 17:49:36)
However, after successful flashing of the STC15L104W the tester no longer works. It turns on as far as the title bar "M-Tester" but does nothing else and will not turn off! Is this normal?
My intention is to build the full firmware on a RPi using the options that between lines 534-667 of the Clones.txt file in the firmware folder. Has anyone done this? Any pitfalls?
What is the procedure for flashing the main firmware? Is the connection made via the U4 bit with EN shorted as power is applied to get the ATMEGA324PA into the correct mode?