a comparison of the before and after

Compensating For Your TVs Backlight

[Pekka Väänänen] has a Panasonic TV with a broken backlight that creates an uneven pink/green color. While it isn’t a huge deal for most films, black-and-white films tend to show the most effect. So, by modeling the distortion as a function, [Pekka] set out to find an inverse function that corrects the distortion before it gets to the TV.

However, the backlight doesn’t emit enough light for some colors, which means the blue and green channels need to be dimmed. As mentioned earlier, the distortion isn’t even, so the distortion needs to be captured and then calculated.

He took a few pictures with his phone, corrected the perspective, and applied a blur. The camera also has some distortion but works as a first approximation, but that isn’t something he covered here. Next, he set up a webcam and pointed it at the TV, trying to find good gain and offset values with a bit of Python.

 

Now it just becomes a problem of minimizing the per-pixel difference. Ultimately he just went for a random approach rather than an annealing or hill-climbing approach. Now that he had a function to apply, it was just a matter of adding a custom shader to his video player, which includes a live shader editor. He had to hack in support for an external texture, but he is kind enough to include the shader code and the patch in the article.

The result is excellent, and it’s a great use for an old TV. But perhaps, in some cases, it might be worth replacing the backlight entirely.

RF Hacking Hack Chat

Join us on Wednesday, October 12 at noon Pacific for the RF Hacking Hack Chat with Christopher Poore!

On the time scale of technological history, it really wasn’t all that long ago that radio was — well, boring. We’re not talking about the relative entertainment value of the Jack Benny Show or listening to a Brooklyn Dodgers game, but about the fact that for the most part, radio was a one-dimensional medium: what you heard was pretty much all there was to a signal, and radio was rarely used for anything particularly hackable.

Not so today, of course, where anything electronic seems to have at least one radio stuffed into it, and the space around us is filled with a rich soup of fascinating RF signals. For hackers, this is where radio gets interesting — listening in on those signals, exploring their nature, and figuring out how to put them to use are like red meat for most of us.

join-hack-chatHacking and reverse engineering opportunities abound in the RF realm, but can sometimes be a bit difficult. What’s needed is a framework for pulling those signals out of the ether and putting them into some kind of context. Fortunately, there are plenty of tips and tricks in this space; we talked about one of them, FISSURE, not too long ago. The acronym — “Frequency Independent SDR-Based Signal Understand and Reverse Engineering” — about sums up what this framework is all about. But to bring it into further focus, we’re lucky enough to have Chris Poore, a Senior Reverse Engineer at Assured Information Security, drop by the Hack Chat. We’ll talk about RF reverse engineering in general and FISSURE in particular. Be sure to stop by with your RF hacking and reverse engineering questions and war stories!

Our Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, October 12 at 12:00 PM Pacific time. If time zones have you tied up, we have a handy time zone converter.

Simple CNC Gear Production With Arduino

We’ve seen plenty of people 3D printing custom gears over the years, but [Mr Innovative] decided against an additive process for his bespoke component. He ended up using a simple CNC machine that makes use of several components that were either salvaged from a 3D printer or produced on one. Using a small saw blade, the machine cuts gear teeth into some plastic material and — presumably — could cut gears into anything the saw blade was able to slice into, especially if you added a little lubrication, cooling, and dust removal.

If you’ve built a 3D printer, you’ll see a lot of familiar parts. Stepper motors, aluminum extrusion, straight rods, bearing blocks, and rod holders are all used in the build. There’s also a lead screw and the associated components you usually see in a printer’s Z-axis. Naturally, an Arduino drives the whole affair.

The saw blade was custom-made from a washer, grinding an edge and using a 3D printed template to cut teeth in it. We might have been more inclined to use a cut-off wheel from a rotary tool, but this certainly did the trick. An LCD accepts the gear diameter and number of teeth. The stepper rotates the correct number of degrees and another stepper lowers the cutting head which is spinning with a common DC motor.

As impressive as this machine is, the fact remains that a 3D printer can produce more complex designs. For example, a herringbone pattern can help with alignment issues. It has been done many times. You can even use a resin printer, although you might prefer to stick with FDM.

Continue reading “Simple CNC Gear Production With Arduino”

Lithium-Ion Battery Circuitry Is Simple

By now, we’ve gone through LiIon handling basics and mechanics. When it comes to designing your circuit around a LiIon battery, I believe you could benefit from a cookbook with direct suggestions, too. Here, I’d like to give you a collection of LiIon recipes that worked well for me over the years.

I will be talking about single-series (1sXp) cell configurations, for a simple reason – multiple-series configurations are not something I consider myself as having worked extensively with. The single-series configurations alone will result in a fairly extensive writeup, but for those savvy in LiIon handling, I invite you to share your tips, tricks and observations in the comment section – last time, we had a fair few interesting points brought up!

The Friendly Neighborhood Charger

There’s a whole bunch of ways to charge the cells you’ve just added to your device – a wide variety of charger ICs and other solutions are at your disposal. I’d like to focus on one specific module that I believe it’s important you know more about.

You likely have seen the blue TP4056 boards around – they’re cheap and you’re one Aliexpress order away from owning a bunch, with a dozen boards going for only a few bucks. The TP4056 is a LiIon charger IC able to top up your cells at rate of up to 1 A. Many TP4056 boards have a protection circuit built in, which means that such a board can protect your LiIon cell from the external world, too. This board itself can be treated as a module; for over half a decade now, the PCB footprint has stayed the same, to the point where you can add a TP4056 board footprint onto your own PCBs if you need LiIon charging and protection. I do that a lot – it’s way easier, and even cheaper, than soldering the TP4056 and all its support components. Here’s a KiCad footprint if you’d like to do that too.

Continue reading “Lithium-Ion Battery Circuitry Is Simple”

A Raspberry Pi Phone For The Modern Era

While it might seem like mobile phones are special devices, both in their ease of use and in their ubiquity in the modern culture, they are essentially nothing more than small form-factor computers with an extra radio and a few specific pieces of software to run. In theory, as long as you can find that software (and you pay for a service plan of some sort) you can get any computer to work as a phone. So naturally, the Raspberry Pi was turned into one.

[asherdundas], the phone’s creator, actually found a prior build based around the Raspberry Pi before starting this one. The problem was that it was built nearly a decade ago, and hadn’t been updated since. This build brings some modernization to the antiquated Pi phone, and starts with a 3D printed case. It also houses a touchscreen and a GSM antenna to connect to the cell network. With some other odds and ends, like a speaker and microphone, plus a battery and the software to tie it all together, a modern functional Raspberry Pi phone was created, with some extra details available on the project page.

The phone has the expected features — including calling, texting, and even a camera. A small WiFi USB dongle allows it to connect to the Internet too, allowing it to do all of the internet browsing a modern smartphone might want to do. The only thing that it might be pretty difficult to do is install Android apps, and although there are ways to get Android apps working in Linux, it’s not always strictly necessary to have this functionality.

3d printed fish feeder system with food basin, electronic housing with red button on top and servo attached on the side. A pile of food is coming out of the 3D printed fish feeder mechanism. In the middle of the picture is a can of goldfish pellet food. On the right is a hand interacting with a propped up cell phone, setting a time.

Sleep Easy With The Fishes Well Fed

Sometimes daily tasks, like feeding pets, can feel like a real chore. To help with alleviate the mundane aspects of daily life, [Erik Berglund] has created an automatic fish feeder, complete with 3D print files, firmware, and an Android app for complete control over scheduling and feeding.

The mechanics of the fish feeder include a screw conveyor system that pushes the food pellets fed from a food store basin. The screw conveyor is driven by a Feetech FS5106R servo which provides enough force to overcome jamming that might occur with pellets getting stuck in the conveyor system. [Erik Berglund] writes that the system can dispense about 0.9 g/s and that it’s designed for granulated food, as flakes have problems because “their low density and large surface area tend to get them stuck in the throat of the hopper” — an issue that we’ve looked into previously.

[Erik Berglund] used [coberdas]’s fish feeder as the base, upgrading it with a better servo, adding a Raspberry Pi Zero W along with software for the Pi and an Android application to control the schedule of feedings. There’s also a DS1307 real time clock module to keep precision time and a push button for “manual” feeding. If you’re looking to follow along at home, you can find the Python scripts that run on the Pi and the source code for the Android application in their respective GitHub repositories.

Continue reading “Sleep Easy With The Fishes Well Fed”

An e-ink screen mounted on a small white box is flanked by four mechanical keyboard switches. A power cable is routed from the device to a power bank that is mostly out of frame.

DIY E-Reader Has Hot Swap Mechanical Keys

In the early days of e-readers, most devices had physical buttons to turn pages and otherwise navigate the device. [bwkrayb] longed for these halcyon days before touchscreen e-readers and improved on the concept by adding mechanical keyswitches.

By using an Adafruit NeoKey 1×4 as the keyboard interface, the e-reader has four hot-swappable keyboard sockets with built-in LEDs. [bwkrayb] is hoping to use these LEDs to implement a front lighting system in a future revision of the hardware.

The 3.7″ screen displays pages after running an EPUB through ebooklib and Beautiful Soup to generate files that can be used by the Waveshare drivers. Refresh time is reportedly slow, although [bwkrayb] suspects this  might be due more to the limited power of the Raspberry Pi Zero 2 more than the display itself.

If you want to see some other open e-reader projects we’ve covered, check out the EPub-Inkplate or the Open Book Project.