MK-312 BT Boot issue


The board fails to boot up when I apply 15V on the charger input and switch the power switch from off to on. I am not using an internal battery, just the external power.
However, if I leave the power switch in the on position, and apply external power, it usually will boot up just fine. Throw the switch off and then on again and no joy.

I have tried this with several power sources, same result.
If I apply the +15V to the pcb trace after the switch, things boot up just fine.
Using the “ElectrosReady.bin” file for the uP.

I am thinking of either patching in a uP supersivor circuit, e.g. max809 or modifying the code to slow the entry into self test.
btw, could someone pass me a commented version of the assembly?


A couple of more notes:
Board is V1.2 but I don’t see any differences in the V1.3R schematics that would cause boot up problems with the firmware.

The board boots up fine with the BT flash firmware.

Since I do have Eagle I am looking at modifying the design to add in a MAX809.


Hi, I didn’t build my MK yet so just an idea - did you set fuse bytes properly?

LOW FUSE: 0xFF - this means slowest possible startup time.

I dont understand how the reset pin works without connection to VCC? I dont think there is an internal pullup for reset pin, is there? And I also think there should be RC filter connected to reset pin as stated in datasheet. MAX809 is an overkill.

So if fuses dont work try to connect reset with 10k R to the VCC and add 100nF C to the GND.


I originally set the fuses per the instructions in MK312-BT-MASTER, 0xFF for low fuse and 0xDC for high fuse. I then changed the fuses to enable brown out and to set the clock to full swing. No change.
Just learning this myself but I am an experienced h/w designer. If you go with the R/C you also need a diode to discharge the circuit when power is removed.

A max809 is a simple 3 terminal device that is quite inexpensive. Especially off of ebay.

Where I did have luck today was to add a 1 second start up delay to the frankenbutt m005 patch. Mem 0x0000 jumps to the startup delay. The the end of the startup delay jumps to RESET. That works. Boots up just fine.

However the m005 code seems to be missing some of the patches that were used for mk312-bt-master firmware.


No need for discharge diode. It will discharge itself through integrated clamp diodes.

Apparently there is integrated 30-60k pullup for reset pin. Just try to connect 100nF cap between reset pin and GND. It will slow down the startup. I know you should use proper square signal for reset but it worked every time I used AVR. 10k+100nF - it is even in datasheet.

What is with these patches? Last time I used assembly language a decade ago for 8051 - never more. Do I understand correctly they (metafetish team) have ASM code generated from raw machine code?
So " Custom Boot Message f005-MK312-BT" is the last compiled version and I dont need to compile and patch anything?


There are 2 firmware versions at
Last updated 2 years ago.

However, those .bin files do not work well on the 2 V1.2 boards that I built.
However, the patches at: do work fine, but you need an original.upg file.


Yeah, I ran into this as well. There’s something funky about those readymade .bin files, but I haven’t found out why.