https://www.embeddedts.com/products/TS-7800
TS-7800 by Technologic Systems
Specifications:
- Marvell MV88F5182 500 MHz single-core ARM9 CPU
- 128 MB RAM
- 512 MB onboard NAND flash
- SD & MicroSD slots
- 2 SATA ports
- Real-time clock (battery is dead on devices that I have)
- 5 V @ 2W
- Optional 8-30V input circuit (TS-781)
- Rated temperature -20…+70 °C
I used these devices quite a lot around year 2010.
They are very useful to have a Linux host wake up and sleep on battery power. That's because they contain an AVR that can control the power and sleep for a certain amount of time (ts7800ctl utility).
The 500 MHz CPU is not too fast, and 128 MB RAM is not too much, but it's a lot for many applications. I used an Easycap USB video converter to get analog video from a video camera. Another application was logging some serial data once a day, otherwise consuming microamps when “sleeping”.
I had done some kernel compiling for this platform for Yahoo! Group ts-7000, but the Yahoo! Groups discontinued their service, so the kernels may be hard to find from the internet.
I have also repaired one RTC to get an external coin cell battery for it.
This is how it looks like now:
While desoldering the RTC chip, I damaged the flash chip below and I had to reroute many traces with bare copper. Now, only SD card boot works and onboard flash was scrapped. That's OK. While opening up the RTC chip, I also damaged the quartz crystal, this was on one side of the RTC chip. On the other side, there is a capacitor (0.1 uF).
After adding the battery, the clock didn't start. The RTC registers showed that clock is stopped. I read the datasheet and I was guessing that had to put 0b010 (0x2) to OSC registers. This I did by modifying Linux driver rtc-m48t86.c temporarily. I'm looking at the file a few years later and I guess I did something like this:
ops->writebyte(0x20, M48T86_REG_A); printk(KERN_INFO "rtc binary 0x20 set ");