Squoze Your Data

I have a confession to make. I enjoy the challenge of squeezing software into a tiny space or trying to cut a few more cycles out of a loop. It is like an intricate puzzle. Today, of course, there isn’t nearly as much call for that as there used to be. Today even a “small” microcontroller has a ton of memory and resources.

Even so, there’s still a few cases where you need to squeeze those last few bytes out of memory. Maybe you are trying to maximize memory available for some purpose. Maybe you are anticipating mass production and you are using the smallest microcontroller you can find. Or maybe you’re doing the 1 kB Challenge and just want some advice.

One way to find techniques to maximize resources is to look at what people did “in the old days.” Digital Equipment computers once had a special character set called Squoze (or sometimes DEC Radix-50). This technique can be useful when you need to get a lot of strings into memory. The good news is that you can reliably get 3 characters into 2 bytes (or, as DEC did, 6 characters into 4 bytes). The bad news is that you have to pick a limited character set that you can use. However, that’s not always a big problem.

Continue reading “Squoze Your Data”

IP Over QR Codes

We’ve seen networks built over some interesting mediums, but QR codes has to be a new one. [Eric Seifert] decided to try to use QR codes to make an IP connection. He used these visual codes to create a bi-directional connection between two camera-equipped computers. He’s a persistent chap, because it works: in one of his videos, he shows an SSH connection between two devices.

He faced a number of challenges on the way. Although there is plenty of code to read QR codes, the data that can be encoded and read from them is limited. There is a binary mode that can be used with QR codes, but it is really inefficient. [Eric] decided to use base32 coding instead, packing the data into each frame as alphanumeric text. Each QR code image that is created and received is numbered, so the system can keep track and request any lost images. He also had some problems with keeping the data consistent between the encoded and decoded versions, so he had to add some packing to the data before it would work.  It uses Python-pytun to create a TUN/TAP device that carries the data.

The speed of the connection is rather slow: in his demo video, the two computers take over a minute to exchange keys for an SSH connection, and [Eric] measured the speed of the connection at about 100 bits per second. But even getting something like this working at all is a significant achievement. He has published his code on GitHub.

We’ve featured the work of [Eric] before: he created a data connection using an iPod FM transmitter.

Continue reading “IP Over QR Codes”

Levitating Table Makes The Sound Of This Holochess Jukebox

A bubbling Wurlitzer juke would be a prized addition to the classic picture of a man cave — brass-railed bar, kegerator, pool table, tin signs and neon on the walls. But it would take a particularly geeky abode to give a proper home to this Millenium Falcon holochess table jukebox. And a particularly awesome one at that.

dsc02100It all started with a very detailed and realistic replica of a holochess table made by [Jim Shima]’s friend. A lot of time and care went into the prop, and [Jim] was determined not to alter the look while installing the media player gear, consisting of a Raspberry Pi running OSMC and a 160-watt power amp.

The speakers were problematic – there was nowhere convenient to mount them except under the brushed aluminum playing surface of the table. The sound quality was less than acceptable, so rather than poke unsightly holes in the table, [Jim] devised a servo to lift the table while the music is playing.

An LCD monitor and wireless keyboard slightly detract from the overall look; we’ll give [Jim] a pass until he can come up with a holographic display to finish the build right. But we are disappointed that he didn’t use “Mad About Me” by Figrin D’an and the Modal Nodes as the demo tune in the video below.

It’s a nice build, and you’ll want to check out [Jim]’s Hyperdyne Labs for more drool-worthy props and effects. And for another fandom jukebox, look over this jukebox that’s bigger on the inside.

Continue reading “Levitating Table Makes The Sound Of This Holochess Jukebox”

The Future Travels Of The Travelling Hackerbox

For the past year, I’ve been organizing a very special project over on hackaday.io. It’s the Travelling Hacker Box, a box full of random electronics junk, sibling to the The Great Internet Migratory Box Of Electronics Junk, and a project that has already traveled more than 25,000 miles. Earlier this month, I said the Hackerbox is going international, I asked for contributors to receive the project in faraway lands, and now it’s time for the final report. This is where the Travelling Hackerbox will be going over the next year.

Continue reading “The Future Travels Of The Travelling Hackerbox”

Faulty Parking Meter Tracking System? RFID To The Rescue!

How often do you see problems that need fixing? How often do you design your own solutions to them — even if they won’t be implemented at scale? Seeing that many of the municipal parking lots in his native Sri Lanka use a paper ticketing system which is prone to failure, [Shazin Sadakath] whipped up his own solution: an efficient RFID tag logging system.

Digging out an HZ-1050 RFID reader — as well an RFID card and two tags — [Sadakath] set to work connecting it to his Raspberry Pi and cooking up a batch of code and a dashboard to work with. A Python script — using a PiGPIO library — reads the Wiegand Format RFID number, storing it in an SQLite3 database. A Bootstrap, Javascript, and JQuery trifecta make up the dashboard that pulls the RFID info from said server and organizes it into a functional format.

Continue reading “Faulty Parking Meter Tracking System? RFID To The Rescue!”

Algorithm Turns PCBs Into Art

Many of us have held a circuit board up to a strong light to get a sense for how many layers of circuitry it might contain. [alongruss] did this as well, but, unlike us, he saw art.

We’ve covered some art PCBs before. These, for the most part, were about embellishing the traces in some way. They also resulted in working circuits. [alongruss]’s work focuses more on the way light passes through the FR4: the way the silkscreen adds an interesting dimension to the painting, and how the tin coating reflects light.

To prove out and play with his algorithm he started with GIMP. He ran the Mona Lisa through a set of filters until he had layers of black and white images that could be applied to the layers of the circuit board. He ordered a set of boards from Seeed Studio and waited.

They came back a success! So he codified his method into Processing code. If you want to play with it, take a look at his GitHub.

DIY Optical Sensor Breakout Board Makes DIY Optical Mouse

Wanting to experiment with using optical mouse sensors but a bit frustrated with the lack of options, [Tom Wiggins] rolled his own breakout board for the ADNS 3050 optical mouse sensor and in the process of developing it used it to make his own 3D-printed optical mouse. Optical mouse sensors are essentially self-contained cameras that track movement and make it available to a host. To work properly, the sensor needs a lens assembly and appropriate illumination, both of which mate to a specialized bracket along with the sensor. [Tom] found a replacement for the original ADNS LED but still couldn’t find the sensor bracket anywhere, so he designed his own.

Continue reading “DIY Optical Sensor Breakout Board Makes DIY Optical Mouse”