A cable box becomes a network time display

DVR

In 2011 [Erkki]’s DVB box gave up the ghost. It had been a fixture of his media center for quite a while, decoding cable and recording shows faithfully for years. A flaky power supply will bring down the mightiest machine, though. and the Topfield box eventually found itself in disuse. One thing [Erkki] liked about this cable box is its wonderful green LED clock – even after the box had been declared dead, he still used it as a clock. Not wanting to keep a faulty machine on life support, [Erkki] decided to strip the guts and replace them with a networked Arduino that receives time over a network

[Erkki] originally used an Arduino and an ENC28J60 Ethernet module to receive time from an NTP server and spit it out onto the LCD display. A full Arduino for this kind of job, especially one that’s a more or less complete project, is a bit overkill so [Erkki] designed a PCB to put his ‘duino to better use.

One interesting bit about this build is that [Erkki] found it completely broken one day. Figuring this was a problem with the microcontroller, he first fried the ATMega with 9 volts – the reasons escape us, however – and started work on programming a new chip. After looking at different ports on his NTP server with a microcontroller, [Erkki] realized he had reset his network switch recently, meaning the previous microcontroller was working perfectly.

In the future, [Erkki] hopes to add some new features to this 8×4 seven-segment display sitting in a large box; something like reading off the temperature, checking IRC and his physical mailbox, and notifying him when someone is at the front door.

26 thoughts on “A cable box becomes a network time display

  1. “he first fried the ATMega with 9 volts – the reasons escape us, however”
    It sounds like maybe he suspected a stuck latch & figured he could clear the fault by overvolting (as opposed to overcurrenting@the same voltage, i.e. the proper way)

    1. No, actually I just thought I was feeding DC to the regulated input, instead of the one that goes directly to the MCU.

      What regulated input you may ask? The one that would be in a real Arduino.. (Although there was a regulator for the front panel 3.3 V.)

  2. Is the case big enough to handle at least a Mini ITX motherboard? It looks like it would make a great XBMC/Plex/Whathaveyou media center PC! Keep the Arduino in there to interface with the LCD display; maybe it can handle IR remote control inputs as well. (Maybe even let it continue running the clock while the PC motherboard is off, and have the remote’s power button work the motherboard’s soft power or toggle S3 sleep…)

  3. “spit it out onto the LCD display” – Eh… LCD ? Also, i’ve seen no Arduino in this project … There’s a Seeduino, and then a custom board. No arduino …

    1. Seeeduino, Arduino, same difference. The project would have been exactly same regardless and depended only on which board I happened to grab first from the drawer. (But I should perhaps mention Seeeduino in the article in any case, it’s a nice reimplementation.) I did however use the Arduino toolchain: bootloader, and the programming environment (as ghastly it may be).

  4. Topfields are known to die after a while due to cheap capacitors in the power supply. Replacing one with a better part (mine came from an old old old Pentium board) did the trick.

    1. I actually replaced the set of capacitors suggested by the internet folks (in addition to adding a fan to cool things down), but still the replacement HD started making a click-click-sound and corrupted files, so I knew it was a goner.. I’m not quite well versed in PSU repairs to debug it further so I let it go.

  5. I don’t understand why do cable companies opt for these crappy boxes. Even if your TV is super-duper-eco-friendly, they negate all the power savings – mine keeps really warm all the time. Navigating through the channels or the guide is really slow (I think this is enough of a clue in which language the interface was written :P ).
    In Poland at least, all new TV’s have to support DVB, and this means on the side there is a slot for the CAM (Conditional Access Module). I don’t know whether it provides API for things like VoD (in my network it’s just a special channel), but 80% of people don’t care and would be better off.
    Who wants to watch TV nowadays, anyway? The only times I do is when someone else does. Even Discovery and the NGC filled their line-up with all these crappy “reality” series about gold miners and such.

    1. Indeed, but I have nothing else to place there so it would probably remain wasted. One point of the construct is that it’s indistinguishable from something you’d find from the telly station anyway, plus I needed to do zero work on the box looks.

  6. I did a similar project using an AVR and an old Fruit machine VFD.
    Having 16 digits gave me space to show the date, time and temp from a ds18b20 sensor.
    After making it set the time from NTP, I added automatic Daylight savings adjustments and for the hell of it made the whole thing SNMP pollable so I can graph the temperature from the device using Cacti.

    Having STILL not found a suitable enclosure I can appreciate why this one is sitting in such a large box :) It may look like wasted space, but at least it’s enclosed and looks “finished”.

    1. It’s quite easy to put together a box made of plywood, glued together. It’s old fashioned, but fun to play with. I’ve created a few of them already, some just plain plywood, some veneered, some painted, and I can recommend it to everyone.
      VFD goes well with dark wood veneer. Veneer sheets can be found on eBay, and for small projects, wooden glue and a rubber roller works quite well.

  7. Tried good while to make sense of the data, as I happen to have the same panel, and things just seemed wrong. Couldn’t get anything similar from my panel, until I figured out he probably didn’t realise it’s async serial stream, and he has also accounted delays between bytes as data…

    …0 8bits nx1…0 8bits nx1…0 8bits nx1…

    1. Actually now that I revised the project (after a year) that idea did come across to my mind, but it worked for me, doesn’t matter :).

      I hope the decodings are useful to use nevertheles. I cannot anymore capture them from the device Topfield main board as I don’t have it anymore.

      1. Yes, thanks for the dump. I managed to figure out the clock function.

        Sending bytes least significant bit first: 0x02, 0x15, 0xcf, 0x0c, HH, MM, SS, 0x03

        1. Thanks! I just attached this piece of information to the doc-directory of the git repository, so it shall remain for the future generations to see :).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s