2026-10-19
This post covers work from the past week: a camera firmware written from 14 to 16 October, and a PLC migration done on 12 October. Details are in the linked posts.
TuyaBeGone: free firmware for a cheap LSC camera
A cloud-only indoor camera now runs a small Buildroot system. Video and
audio go through the kernel drivers only: we traced the vendor’s closed
libraries with an LD_PRELOAD shim and rewrote what they do. It streams
over RTSP and ONVIF, with motion events from the ISP’s own statistics.
Audio switched to AAC because UniFi Protect dropped G.711. It installs
from an SD card in two stages, keeping the factory sensor calibration,
and its first setup requires a press on the physical button.
→ TuyaBeGone: free firmware for a cheap LSC camera
A TwinCAT 3 machine moves from Windows to TC/BSD
A large-format 3D printer moved from the Windows TwinCAT runtime to TwinCAT/BSD on the same industrial PC. The traps: an engineering version that did not know the target, a corrupted drive startup command the older version had ignored, a drive moved to the wrong sync unit, Windows-only calls in the PLC code, and persistent positions left behind. → Moving a TwinCAT 3 machine from Windows to TC/BSD
How it connects
- Both are about leaving a vendor’s platform (a cloud app, a Windows runtime) while keeping the hardware.
- In both, the hardest part was the data that lives on the device: the camera’s sensor calibration, the machine’s saved positions.
- In both, the old software quietly worked around something that the replacement had to discover: the vendor library read audio one period at a time (larger reads block forever), and the old TwinCAT version skipped a corrupted startup command.