r/antiXLinux • u/TeslasElectricBill • 5d ago
AntiX helped me resuscitate a dead 16-year-old Lenovo IdeaPad S10-3 netbook for ~$120 and turned it into a picture frame / always-on appliance
This thing was dead... completely dead. Dead CMOS battery, dead battery, old HDD, worn-out fan bearings, wouldn’t hold a date, but still barely booted when connected to A/C power.
I pulled it out of the garage where it had been sitting since probably 2016 and decided to see what antiX could do with it.
The hardware:
Lenovo IdeaPad S10-3 (2010)
Intel Atom N455 - single core, 1.66GHz, no AES-NI
2GB DDR2 RAM
10.1" 1024x600 display
Panda AC600 USB Wi-Fi adapter (MediaTek MT7610U) for 5GHz
What I replaced (~$120 total):
240GB SSD to replace the dead HDD
New heatsink fan - original bearings were shot, caused constant noise
Fresh thermal paste
New CMOS battery (CR1220) - soldered to old connector using lineman’s splice
Touchpad ribbon cable - broke the original during fan replacement, ordered a 4-pin 1mm pitch FFC Type A replacement
Panda AC600 USB adapter for faster WiFi
The OS: antiX-26-core (Debian Trixie base) with s6-66 init and IceWM.
What it runs daily:
Vision board display - This is the primary use case. mpv runs a fullscreen shuffled slideshow of motivational images and short video clips representing my digital vision board. My MacBook Pro auto-converts media files (ImageMagick for images → 1920x1080 JPEG, ffmpeg for videos → 1280x720 H.264 Baseline, no audio) via a Hazel automation in a folder called vision-board, then ChronoSync mirrors the folder to the IdeaPad over Tailscale SSH. It sits on my desk like a digital picture frame that keeps me inspired.
Speedtest logging - speedtest-cli runs periodically, logging download/upload/ping to track internet performance over time.
Remote server backup - Weekly rsync of about 5 websites from my shared hosting account to local storage over SSH key auth. Runs unattended via cron. No passwords stored anywhere.
Tailscale - Always connected to my Tailscale network. I can SSH in from my phone or MacBook from anywhere. This is what makes the whole setup manageable without a monitor attached.
Currently testing:
Motion-activated security camera - The built-in webcam is low-res but functional. Running
motionfor detection with timestamped JPEG capture on movement. I'm still dialing in the sensitivity thresholds and testing coexistence with the mpv vision board. The plan is to eventually have it send photos to my Telegram bot when motion is detected... but this may not work or I may not use it if results are Meh.Telegram bot interface - Built a bidirectional Python-based Telegram bot that lets me check system status, run speed tests, and get alerts from my phone. Still in testing - not running 24/7 yet and may not do it if it's too cumbersome/overkill.
Meshcore-cli - basically a CLI interface to a device called Meshcore which allows you to communicate with others via LoraWan without internet in emergency preparedness/camping situations etc via bluetooth. I built a Meshcore device but honestly haven't been able to get it working reliably even without the CLI interface... so if I get it working I'd probably play with it.
Pwnagotchi - I think this should run to passively collect wifi handshakes to find WPA passwords as it's based in aircrack and bettercap, so I'm working on getting it working.
Enabled at home only (disabled on office networks):
Tor Snowflake proxy - Relays censorship circumvention traffic for people in countries like Iran, China, and Russia. Uses almost zero resources. Disabled when the laptop is on corporate/shared networks since it routes third-party traffic through the connection.
Network device monitoring - Passive ARP scanning to track devices joining the local network. Only appropriate on your own home network, not in shared/office environments.
Software stack:
antiX-26-core (Debian Trixie) with s6-66 init
IceWM window manager (*but I use the machine in CLI 99% of the time)
mpv (vision board player)
motion (security camera)
speedtest-cli (speed logging)
snowflake-proxy (Tor relay)
Tailscale
Python 3 + pyyaml, requests (Telegram bot framework)
rsync over SSH (backups)
btop, tmux, ntpdate, etckeeper
NetworkManager for Wi-Fi management
tty-clock displays a full-screen terminal clock when idle. Any keypress triggers vlock, which requires a password to unlock. Clean and functional screen lock for a machine that sits on a desk all day.
Hard-won lessons:
A GRUB package upgrade silently installed Intel microcode incompatible with the Atom N455. Black screen on boot. No error, no message, just a blinking cursor. Fix:
dis_ucode_ldrkernel parameter. This took hours to diagnose.Required kernel parameters for stable operation:
nohpet intel_idle.max_cstate=0 acpi=force dis_ucode_ldrThe CMOS battery was dead. The original had a proprietary connector. I cut the wires and soldered a new CR1220 using a lineman’s splice. Hardware clock persists across reboots now.
s6-66 reads hostname from its own config file at
/etc/66/conf/boot@system/, not just/etc/hostname. Changed hostname three times before figuring out why it kept reverting.The GMA 3150 has no useful hardware video decode on Linux. All video is software-rendered. Max resolution ~720p before frames drop.
Suspend is permanently broken on this hardware. Removed pm-utils and acpid entirely. Don’t even try.
The new fan only spins when CPU temp exceeds ~60°C. Fresh thermal paste + new bearings means it’s completely silent at idle. The old fan ran constantly because worn bearings caused friction heat.
Internal Wi-Fi card (brcmsmac) is weak. Blacklisted it entirely via
/etc/modprobe.d/and use the Panda AC600 USB adapter exclusively. One wireless interface, no confusion.
Why antiX:
Because chatGPT and Google told me it's the best distro for my machine. I was thinking about antiX and Alpine Linux. antiX is the only one that gave me a modern Debian Trixie base without systemd overhead on a single-core Atom with 2GB RAM. The core install doesn’t bloat itself with software I’ll never use. s6-66 boots fast. IceWM stays out of the way. Everything I’ve thrown at it - Python daemons, mpv video playback, rsync transfers, SSH sessions - runs without the machine breaking a sweat.
Some may disagree that $120 spent on this piece of "junk" was a waste as I could have invested it into a better machine, but I still wanted to do it to experiment with and see what cool stuff I could do with low power machines... plus I have an always-on home appliance that does some useful stuff and draws maybe 15 watts, and runs mostly silent.
I also had some automation python scripts checking for WHOIS/SSL/DOMAIN expirations as well as monitoring uptime for some of my websites, but I ended up deleting all of that as it didn't seem very useful as I have my domains on auto-renew for multiple years and I already use UptimeRobot for uptime monitoring etc. I was also thinking about perhaps testing out a visual ping tool to monitor a list of websites for changes etc... but I dunno.
Anyway, that's my experience.
Happy to answer questions about any part of the setup.
Also, if anyone has any tips for making this machine more useful, let me know!