1_loklik_source_request.zip

THE TIMELINE

~7:12 PM — Freak-out begins.
Fire up LOKLiK IdeaStudio. It won’t see the iCraft. Won’t connect over USB or
Bluetooth, on two different computers. I assume the WinUSB/Zadig driver I used for
the SDRs hosed it. (It didn’t.)

~7:14–8:12 PM — Chasing ghosts.
COM ports shuffling everywhere (11/12/17). Driver scans. The IdeaStudio logs show
it: “connection created successfully,” then the device replies with garbage bytes and every $SN query times out → available devices: []. Mouse is fine.
SDR dongles correctly on WinUSB. The cutter’s CH340 healthy on its own driver.
None of it was the driver.

Power-cycle troubleshooting.
Roller spins, knife plunges up/down, carriage twitches ~1/4″ and quits. No ready
light. Buttons lit. Carriage glides free by hand (belt fine, not seized). Cleaned
the IR home sensor with alcohol — no change.

The real clue: the surge.
Whole-house power surge earlier in the week. PC, miners, both monitors, the laser —
all on the same strip — browned out and recovered. Only the Loklik didn’t. (A
“strip with a breaker” is NOT surge protection, btw. Lesson logged.)

~8:56 PM — Crack it open. It’s an ESP32.
Pop the end caps. ESP32 on a board under a pile of screws. Put esptool on it:
chip alive — ESP32-D0WD-V3, 8MB flash, MAC c0:5d:89:93:0c:84. Pulled a full
8MB backup (loklik_fw_backup.bin). The brain survived the surge.

~9:00–9:30 PM — Find the firmware, ID the damage.

  • IdeaStudio gates firmware updates behind device discovery (which is broken) →
    chicken-and-egg. Dead end.
  • Found Loklik’s standalone FlashTool; it downloaded firmware to
    com.testingtool.app/resources/esp32/LOKLIK_CRAFTER_2/v01..v08/firmware.bin.
  • Folder said “CRAFTER_2” but the binary strings said LOKLiK_iCraft — right
    firmware.
  • Parsed the real partition table (dual-OTA: app at 0x10000, otadata 0xE000,
    nvs 0x9000). No flash encryption.
  • Block-compared my backup vs every version → installed = V03, corrupted in 5 of 24 blocks (~320KB). The surge fried ~320KB of the app. Proof.

~9:33 PM — Flash clean V03.
write-flash 0x10000 V03/firmware.bin → Hash verified. Erased otadata. Still dead.
Erased NVS (saved the original first). Still “dead”… or so I thought.

THE REVEAL — miniterm on the serial port.
“OH, IT’S GRBL.”

[MSG:Grbl_ESP32 Ver 1.3a Date 20211103]
[MSG:Using machine:LOKLiK_iCraft]
[MSG:Axis count 3]   X/Y/Z = Trinamic TMC2209 over UART
[MSG:Ready]

The Loklik iCraft’s “secret” firmware is grbl_ESP32 — open-source, GPLv3. The
clean V03 flash WORKED — it went from spewing garbage to speaking clean GRBL.
That’s why they lock it behind a login and hide the firmware: it’s free software
with their name on it.

The motor-power gap.
Boot self-test: all three TMC2209s “driver test failed — check motor power.”
ESP32 runs on USB 5V; motors need the 24V rail. Brick measured 23V (healthy).
Reseated/sorted the motor power → FULL XYZ MOTION in gSender. X jogs. It’s ALIVE.

Homing/limit switch: dead (the IR home sensor — surge or knocked loose in the
teardown). Don’t care — homing disabled ($22=0, $21=0), set zero by hand.