Dumb STB gets smart

[Vincent Deconinck] gave a fresh lease of life to an old set top box by adding a few Euro’s worth of hardware and some software smarts. The device in question is an old VOOcorder – a Cisco set-top box provided by VOO, his cable service provider in Belgium.

The VOOcorder doesn’t have any WiFi hardware or browser / app based interfaces. It’s a simple device controlled either via an IR remote or front panel buttons. [Vincent] added an ESP8266 and hooked it up to the IR receiver on the set-top box. He also set it up as an SPI slave to the front panel VFD display controller and connected it to the debug serial interface of the VOOcorder as well. The software, on the other hand, required a lot more work consisting of code running on the ESP itself, several HTML pages and JavaScript code for the browser front end, and a few scripts running in the background.

The result was bidirectional interactivity from within a browser, allowing him to send commands and receive status information as well as providing a user-friendly search interface. Further, his browser interface was integrated with information from the service providers website letting him do scheduling and recording of programs. The stuff that interested us is how he sniffed out the IR signals, figured out the SPI protocol used by the front panel controller, and implemented SPI-slave mode for the ESP8266. [Vincent] was surprised that such a cheap device could handle three distinct web servers while parsing two message streams without a hitch.

It’s a great hack showing us how to use super cheap electronics to upgrade and modernize old hardware. Check out the two videos after the break – showing a demo of the hack in action, and a walk through of the hardware modifications.

Continue reading “Dumb STB gets smart”

Linux Graphics Programming

There was a time when embedded system developers didn’t need to worry about graphics. When you have a PIC processor and two-line LCD, there isn’t much to learn. But if you are deploying Linux-based systems today, graphics are a real possibility. There are many options for doing Linux graphics including Wayland, X11, and frame buffers. Confused? This tutorial can help. The sections on Wayland and Mir are under construction, but that’s probably not what you are going to be using on a typical hacker project for the foreseeable future, anyway.

Of course, even inside those broad categories, you have multiple choices. If you are doing X11, for example, you can go low-level or pick any of a number of high-level libraries.

Continue reading “Linux Graphics Programming”

New Part Day: Pluggable ESP Modules

Almost exactly four years ago, we came across a really neat module for sale on SeeedStudios. It was a $5 WiFi chip, able to connect your microcontroller project to the Internet with just a handful of wires and a few AT commands. This was the ESP8266, and it has since spawned an entire ecosystem of connected devices.

Now, there’s a new version of the ESP8266 that simply showed up on the Seeed website. Officially, it’s called the, ‘ESP8285 01M Wi-Fi SoC Module’, but you might as well start calling it ‘the Pluggable ESP module’. It’s the smallest ESP8266 module yet at 18mm square, and this one is designed to be plugged into a card-edge connector. It’s eighteen pins of wonder and 1MB of Flash, all ready to be stuffed into the next Internet of Things Thing.

The documentation for this module is sparse, and there isn’t even a mention of it on the AI Thinker website. That said, we can make some reasonable assumptions about what’s going on in this chip and what it can do. This module appears to be based on the ESP8285 SoC. Basically, it’s an ESP8266 with built-in 1MB SPI Flash. There are a handful of GPIOs available, and you should be able to build anything with this module that you could with other ESP8266 modules.

The highlight here is, of course, the card-edge connector. This is a module designed to be dropped into an existing product. You can program the module before hand, and assembly is a snap. The problem, though, is sourcing the relevant connector. It doesn’t look like Seeed has bothered to put a link to the right connector in the product description, although sourcing it shouldn’t be that much of a problem. The only question is if the card edge connectors on this module are hard gold (for multiple mating cycles) or just ENIG. Either way, if you’re plugging these modules into connectors dozens of times, you’re probably doing something wrong.

Follow the Bouncing Ball of Entropy

When [::vtol::] wants to generate random numbers he doesn’t simply type rand() into his Arduino IDE, no, he builds a piece of art. It all starts with a knob, presumably connected to a potentiometer, which sets a frequency. An Arduino UNO takes the reading and generates a tone for an upward-facing speaker. A tiny ball bounces on that speaker where it occasionally collides with a piezoelectric element. The intervals between collisions become our sufficiently random number.

The generated number travels up the Rube Goldberg-esque machine to an LCD mounted at the top where a word, corresponding to our generated number, is displayed. As long as the button is held, a tone will continue to sound and words will be generated so poetry pours forth.

If this take on beat poetry doesn’t suit you, the construction of the Ball-O-Bol has an aesthetic quality that’s eye-catching, whereas projects like his Tape-Head Robot That Listens to the Floor and 8-Bit Digital Photo Gun showed the electronic guts front and center with their own appeal.

Continue reading “Follow the Bouncing Ball of Entropy”

Hackaday Prize Entry: An E-Ink Calendar

E-ink displays are becoming almost common in DIY electronics circles, and now we have very capable, low-power microcontrollers, some of which feature some sort of wireless connectivity. Combine these two, and you have the potential for a basic information screen — a low-power device that always displays some sort of relevant information, whether it’s the date or the weather.

For their Hackaday Prize entry, [Wenting] and [Dong] are building an e-ink calendar. It’s a calendar, it displays bitmaps, it can display the time, and with a little more hacking it can display the weather, current traffic, or train schedule. If this were the 90s, we would have called this an information appliance, and it would have blown everyone’s minds.

The current design of this e-ink calendar uses an 800 x 600 pixel display working in 16-level grayscale mode. The processor is an STM32F4, and in a cost-reducing revision, an external SRAM was thrown out and the frame buffer was moved to the internal RAM. The e-ink display is actually pretty quick, allowing for greater than 10 FPS in 1-bit mode.

As with any e-ink project, driving the display is a minor nightmare, but [Wenting] is able to push a few frames per second to the display. That’s good enough for a device that shouldn’t actually change all that much — this is a calendar, after all.

The Wrencher On The Road In The UK

Here at Hackaday, we are a team of technical writers who spend our days keeping abreast of the wonderful world of hardware as we write up the interesting things that cross our timelines and serve them up everyone to enjoy. That is however only part of the picture, the other half of the Hackaday family is you, our readers and our community. You are a wonderfully diverse group of people who do some fascinating things, and you are what gives us life.

From time to time, Hackaday makes it out on the road, we have events, we host meetups, and we spend time with you, the community of which we are a part. Of course, our world can be an annoyingly big place at times, so for a lot of us these meetups are too far away. As a Brit, for example, the upcoming Hackaday Superconference in Pasadena, California, is a somewhat unattainable dream without shelling out a significant chunk of the old hard-earned on travel.

In the very short term we must continue to disappoint many of our worldwide readers because we can’t have meetups all over the world and all at once. But we can at least provide succour to our British readers this month, with more than one opportunity to get to know Hackaday writers as we go out on the road.

In the first instance, I’m going to be in Hebden Bridge, Yorkshire this weekend. I’ll be giving a couple of talks, one on Friday at the Wuthering Bytes festival, and the other on Saturday at the Open Source Hardware Camp. I’ll be bringing along the remainder of my stock of Hackaday stickers left over from SHA Camp, and I’d love to see what you’ve been getting up to.

But worry not if you can’t make it to Yorkshire, for there is another chance for Brits to meet us this month. Our London Unconference on the 16th of September may have been a speedy sell-out, but because we have no wish to disappoint those of you who missed out on a ticket we’re also running a bring-a-hack meetup the night before. We’ve hired the Drawing Room at the Marquis Cornwallis, a pub not too far from Russell Square Tube station in London, so come and have a pint with us and show us what you’ve made. Get your skates on, it’s not much more than a couple of weeks away!

Building Set Limitations Make for Z-Height Follies

I’m working on a small CNC mill that uses a robotics building set as a starting point. I don’t know what to expect from the process. Maybe the connections will be too wobbly for the machine to be anything but a curiosity. Maybe I’ll be able to do pen plotting and balsa carving but nothing tougher than that. My goal is to have it carve PCBs, but what ultimately is important is that I have a tool whose awesomeness justifies the expense I’ve put into the project.

So far the process has been fun and interesting. But recently the Z-axis build has been especially so. It raises a really interesting question: where does the balance between unknown finished design and known material parameters fall?

Continue reading “Building Set Limitations Make for Z-Height Follies”