Zeratul ‐ Atlas ‐ Tassadar - themactep/thingino-firmware GitHub Wiki
The Ingenic Zeratul, Atlas, and Tassadar platforms are a series of System-on-Chip (SoC) solutions designed primarily for battery-powered IoT cameras and smart home devices. The platforms emphasize low power consumption while maintaining persistent Wi-Fi connectivity.
Features
- Persistent Wi-Fi Connectivity: Maintains a stable network connection even in low-power states
- Extended Battery Life: Power management design allows devices to operate for 6+ months on battery power / solar panels
- Remote Access: Always-available remote viewing capabilities
- Power Management: Uses external micro-controllers for sophisticated power management
- Fast Start: Achieve sub 300 TTFF (time to first frame) cold start time
Hardware Architecture
The platform typically employs a two-chip design:
- Main Ingenic Zeratul/Atlas/Tassadar SoC
- External micro-controller for power management (sometimes integrated in the Wi-Fi module)
Product Lines
- T32 (Codename: Tassadar)
- T41 (Codename: Atlas)
- T31 (Codename: Archon)
- T20 (Codename: Immortal)
Power Management
Power efficiency is achieved through:
- Dynamic frequency scaling
- Multiple power states
- Sophisticated wake-up mechanisms
- External micro-controller management of power states
Third-Party Support
Why Thingino Can't Support Battery-Powered Devices
Battery-powered cameras use a two-chip architecture:
- Main SoC (T31/T41/etc.) - runs Linux, handles video
- Power Management MCU - a tiny external microcontroller that controls when the main SoC sleeps, wakes, and how it monitors battery state
The problem: the main SoC doesn't control its own power. The external MCU does. And there's no standard for how these MCUs work.
Each manufacturer:
- Chooses a different MCU (or hides one inside the Wi-Fi module)
- Implements a proprietary communication protocol between the MCU and main SoC
- Never documents any of it
So when you flash Thingino, the main SoC boots and runs fine, but it has no idea how to talk to the power management MCU. It can't:
- Tell the MCU to enter low-power mode
- Wake up on motion/schedule
- Read battery voltage
- Prevent the MCU from killing power unexpectedly
Without vendor source code or extensive reverse-engineering of each specific device, we can't replicate this functionality. It's not a missing feature, it's missing hardware documentation for dozens of different proprietary designs.