f1cking around with tablet SOCs
I’m building a little baby television that will live on my desk and play Frasier and Simpsons reruns all day.
Playing video isn’t hard. I had half a mind to build around an ESP32 - it’s doable (https://www.instructables.com/Mini-Retro-TV/) - but I have the Shining, see? I can feel the future. I could beat the ESP into playing video for me, but the audio won’t quite sync and the framerate will disappoint. It’ll live in a drawer and I will dodge questions about it. Won’t do.
So we need more horse. China makes a lot of cheap tablets, right? Maybe they have something for me. A casual search -
(I'm lying, like I don't know every SoC manufacturer in the East off the dome)
• turns up Allwinner, who have a very wide selection of media chips at very reasonable prices. Some even have RAM in the package, how convenient. But that's hardware. What's the software look like?
“Bro just download this tar.bz2 from Baidu, it’s linux 3.10 with a dozen proprietary blobs, and all the docs are in Mandarin”
Ah yes of course. I'm a Buildroot man personally but random zipfiles are good too. These are the kind of Shenanigans that make me want to buy NXP chips (https://www.nxp.com/products/i.MX-6ULZ).
For this project however - I'm just playing video. I don’t need a shell, I don't need to install software. I don’t even care if it gets botted - if it happens I’ll just smash it with a hammer. Why not run the mystery kernel.
Enter this little fucker, the F1C100s :
https://lmao.center/blog/f1cking-around-with-tablet-socs/f1c100s_grid.png
↳ the fucker in question
It’s $3 on LCSC (https://lcsc.com/product-detail/Microcontrollers-MCU-MPU-SOC_Allwinner-Tech-F1C100S_C1511928.html) and that gets you an ARM9 with 32MB of memory and an H.264 decoder, almost the minimum viable platform for playing video. Aight cool, problem solved. There’s caveats, but solvable ones: the biggest being only one SD controller, so WiFi will have to run over esp-hosted (https://github.com/espressif/esp-hosted). Fine cool whatever let’s get to it.
I’ve been known to just Send It and start designing boards right away, but here I thought, no. This is a new ecosystem for you lem you should test some things first. So I bought the last Lichee Nano (https://www.seeedstudio.com/Sipeed-Lichee-Nano-Linux-Development-Board-16M-Flash-WiFi-Version-p-2893.html) on Amazon and put together the testbed that God forgot:
https://lmao.center/blog/f1cking-around-with-tablet-socs/f1c_gods_mistake.png
↳ made from the shipping box
The display is kidnapped from another project, and will be returned with all its fingers if the ransom is paid.
Now, software. The F1C has mainline kernel support (>6.1?) and in my innocence I thought that meant “for everything”, so I grabbed Buildroot and sent it with the defaults. The result was an image that boots but can’t turn on the LCD which is somewhat of an issue for this project.
Then I found some guy’s custom Buildroot (https://github.com/unframework/licheepi-nano-buildroot) and started to piece things together. The LCD controller is only dubiously supported in the mainline kernel, see, and you’ll need his patches to make it work.
My sanity begins to slip away. It’s only kernel 5.2, he seems trustworthy, there’s a Docker container even. It’s not plain Buildroot sure but I can make it work for me. I paint my face and start looking for my clown nose.
Another couple of hours go by. The Docker container generates an image that w o r k s !
https://lmao.center/blog/f1cking-around-with-tablet-socs/f1c_haha_lol.png
↳ Haha lol
Dogg it’s game set match. Just gotta copy over some Cheers and we’re
https://lmao.center/blog/f1cking-around-with-tablet-socs/f1c_slow.png
↳ Not haha lol
Oh
Yeah so the H.264 decoder isn’t working. That’s not even an SD video and the F1C is choking like David Carradine
A flurry of testing: best I can do is MPEG-2 and even then it’s only 1.5x speed. Look at how bad my boy looks:
https://lmao.center/blog/f1cking-around-with-tablet-socs/f1c_norm_abuse.png
↳ what did they do to you Norm
Total non-starter. Turns out the F1C’s video engine isn’t and likely won’t be supported by the kernel. I find two (https://github.com/aodzip/cedar)projects (https://github.com/Angelic47/cedar) that suggest I can hack in Allwinner’s blob, maybe, but neither want to compile and I have a circus to attend.
At this point I’m losing it. Sure I’ll take the Allwinner kernel, I’ll take their dubiously legal (https://groups.google.com/g/linux-sunxi/c/-YMdSF99yc0) toolchain. Just play video for me. So then imagine my shock when I can’t even find that?! Sipeed took their documentation offline when they discontinued the Nano. I find a Baidu folder with disk images in it, then lose it and can’t find it again. A mirage. I am Pagliacci
—
Next chip is going to be the T113, which allegedly has full mainline support for its video engine. We’ll see
•
home (https://lmao.center/) ~ posted july 25 2025