MK312BT Failure Modes 20 and 21

My 312BT build is now complete but am getting Failure mode reports on powering up
Mode 20 with just the battery connected (battery is charged and meter shows about 14V)
Mode 20 with both battery and mains connected
Mode 21 with just the mains power supply connected (PSU is the RS 18V one in the build list)

My question is does anyone know what sort of test the code is doing on startup to check the voltages on the board and then where should I stick the meter along the path from the battery to the ATMEGA to check each step of the way and what voltages I should expect - a circuit diagram would really help :slight_smile:
I did get the box to boot once when put a 12V power supply across the battery inputs but have not been able to repeat this so something is very close to tolerance somewhere

If you haven’t figured this out yet, see this thread: MK-312BT Failure 20

Thanks will do - I think it gives me a lot of clues
I’d still really like to know what actually triggers mode 20 in the code

Check the values of the resistors.
Check the orientation of the transformers

BTW, if you’re wondering about the difference between error codes… I kinda forgot we documented that back during the et312 firmware reversing process. >.>

Its been some time since I joined the Failure Mode 20 club and I’ve been keeping an eye on the various threads that now seem to have sprung up around changing component values or “fake” versions of components. For the record bought all my components from Mouser and RS in the UK
Being more of software person do we know
a) Where the value being tested is stored in the ROM code and what it is
b) Does it vary between versions of the ROMs assuming Erostek had to tweak it for variability in their own component supply
c) What happens if you tweak the value - i.e. patch the Rom code
d) What is the impact of stubbing out the checking routine completely - is the risk to the hardware or the potential receiver ?

I believe the routine is there to calibrate the current trough the primary side of the transformer. There is a current sensing resistor which is used (measured) only during this test. There is no time to use the ADC during the real waveform generation - correct me if I am wrong.

Make sure you use IRF9Z24NPBF from INFINEON.