Camera: TP‐Link Tapo C100 C110 C111 - themactep/thingino-firmware GitHub Wiki
TP-Link Tapo C100/C110/C111
(UART + SD card method)
This guide documents the process of flashing Thingino firmware onto a **TP-Link Tapo C100/C110/C111 using UART access to U-Boot and an SD card.
ℹ️ Information
The Tapo C100/C110 have several different hardware revisions and not all are compatible with Thingino. See Below for known information.
C100
Version Supported Comments v1.0 ❌ Uses Realtek RTS3903N SoC. v4.0 (v2.0) ❌ Uses Realtek RTS3903N SoC. Sticker on board shows v2.0 v4.20 ✅ T31L, SC2336, RTL8188FTV, 8MB v4.26 ✅ T31L, SC2336, RTL8188FTV, 8MB v4.60 ✅ T31L, SC2336, RTL8188FTV, 8MB v4.80 ✅ T31L, SC2336, RTL8188FTV, 8MB v5.0 ✅ T23N, SC2336P, WQ9001, 8MB v5.6 ✅ T23N, SC2336P, WQ9001, 8MB C110/C111
Version Supported Comments v1.80 ❔ v2.26 ❌ Uses SigmaStar SSC333 SoC. Appears to be supported by OpenIPC (1) (2) v2.60 (v2.20) ❌ Uses SigmaStar SSC333 SoC. Sticker on board show v2.2. Appears to be supported by OpenIPC (1) (2) v3.0 ✅ T23N, SC3336, WQ9001, 8MB v3.60 ✅ T23N, SC3336, WQ9001, 8MB. Missing UART resistors, require bridging resistor pads.
Requirements
- USB-to-UART adapter (3.3V TTL only, not RS-232)
- Soldering iron with fine tip, flux, thin solder
- MicroSD card (all contents will be destroyed)
- Linux PC (or equivalent) with raw disk access
- Correct Thingino firmware build for the C110 v3.6 hardware
Part 1 — UART setup
1. Locate UART pads
Open the camera (disassembly guide) and locate the UART test pads on the PCB (TX, RX, GND).
Use a multimeter to confirm GND.
2. Missing resistors near UART pads (important)
Some Tapo C110 v3.6 boards ship with missing resistors near the UART pads.
If UART does not work initially, inspect the PCB closely.
You may need to bridge the resistor pads with solder to restore UART communication.
3. Wire the UART adapter
| Camera | UART Adapter |
|---|---|
| GND | GND |
| TX | RX |
| RX | TX |
- Do NOT connect 5V
- Power the camera normally
4. Serial settings
- Baud rate: 115200
- Data bits: 8
- Parity: None
- Stop bits: 1
- Flow control: Off
5. Interrupt U-Boot
Power on the camera and watch UART output.
When you see:
Autobooting in 1 seconds
Repeatedly type:
slp
You should land at a U-Boot prompt.
Reference (camwit):
https://github.com/themactep/thingino-firmware/discussions/400#discussioncomment-14245236
Part 2 — Backing up the original firmware
You will back up the entire SPI flash to an SD card, then extract it on a PC.
⚠️ SD card warning
All existing data on the SD card will be erased.
1. Insert the SD card and enter U-Boot
Interrupt boot using slp.
2. Run the backup commands
Enter commands one line at a time. Do NOT paste all lines at once.
mw.b 0x80600000 0xff 0x800000
sf probe 0; sf read 0x80600000 0x0 0x800000
mmc dev 0; mmc erase 0x10 0x4000; mmc write 0x80600000 0x10 0x4000
This:
- Clears RAM
- Reads 8 MB from SPI flash
- Writes it to the SD card
3. Extract the backup on a Linux PC
sudo dd bs=512 skip=16 count=16384 if=/dev/sda of=./fulldump.bin
Replace /dev/sda with your actual SD card device.
4. Verify the backup
ls -lh fulldump.bin
sha256sum fulldump.bin
Expected size:
- 8,388,608 bytes (8 MB)
Store this backup safely.
Part 3 — Flashing Thingino firmware
⚠️ WARNING
This process can permanently brick the camera if done incorrectly.
You must create and verify a full firmware backup before flashing.
Reference (camwit):
https://github.com/themactep/thingino-firmware/discussions/400#discussioncomment-14468801
1. Prepare the SD card
- Format as FAT32
- Copy the firmware to the SD root (example:
upg.bin)
2. Boot into U-Boot
Interrupt autoboot using:
slp
3. Flash the firmware
Replace upg.bin if your filename differs. Run these commands, one at a time.
mmc rescan
sf probe 0
fatls mmc 0:1
fatload mmc 0:1 0x82000000 upg.bin
sf erase 0 0x800000
NOTE:
sf erasewipes the entire flash. This is the point of no return. (This will take a minute to complete)
sf write 0x82000000 0 ${filesize}
reset
4. Optional: verify the flash (recommended)
sf read 0x83000000 0 ${filesize}
cmp.b 0x83000000 0x82000000 ${filesize}
No differences = success.
Part 4 — Initial configuration
1. Connect to Thingino Wi‑Fi
After first boot, connect to:
THINGINO-****
Then open:
2. Complete setup
- Set hostname
- Set password
- Configure Wi‑Fi
- Apply settings and reboot
Part 5 — Web UI access & fixes
1. Access the web interface
Open:
http://[hostname].local
UART tip:
Log in via serial as root using your set password.
The camera IP will be shown on UART.
2. Fix frozen video issue
In the web UI:
- Settings → Streamer / OSD → Main Stream
- Change Buffers from
1→2 - Save config
- Restart streamer
3. Optional: restore original MAC address
If printed on the camera label:
- Settings → Network
- Set MAC to match the label
Credits
- UART resistor bridge discovery and flashing workflow by camwit
https://github.com/themactep/thingino-firmware/discussions/400