Reverse Engineering Cyclic Redundancy Codes

Cyclic redundancy codes (CRC) are a type of checksum commonly used to detect errors in data transmission. For instance, every Ethernet packet that brought you the web page you’re reading now carried with it a frame check sequence that was calculated using a CRC algorithm. Any corrupted packets that failed the check were discarded, and the missing data was detected and re-sent by higher-level protocols. While Ethernet uses a particularly common CRC, there are many, many different possibilities. When you’re reverse-engineering a protocol that contains a CRC, although it’s not intended as a security mechanism, it can throw a wrench in your plans. Luckily, if you know the right tool, you can figure it out from just a few sample messages.

A case in point was discussed recently on the hackaday.io Hack Chat, where [Thomas Flayols] came for help reverse engineering the protocol for some RFID tags used for race timing. Let’s have a look at the CRC, how it is commonly used, and how you can reverse-engineer a protocol that includes one, using [Thomas’] application as an example.

Continue reading “Reverse Engineering Cyclic Redundancy Codes”

The Digital Polaroid SX-70

What do you do if you own an iconic and unusual camera from decades past? Do you love it and cherish it, buy small quantities of its expensive remanufactured film and take arty photographs? Or do you rip it apart and remake it as a modern-day digital camera in a retro enclosure? If you’re [Joshua Gross], you do the latter.

The Polaroid SX-70 is an iconic emblem of 1970s consumer technology chic. A true design classic, it’s a single-lens reflex design using a Polaroid instant film cartridge, and its party trick is that it’s a folding camera which collapses down to roughly the size of a pack of 1970s cigars. It was an expensive luxury camera when it was launched in 1972, and today it commands high prices as a collector’s item.

[Joshua]’s build is therefore likely to cause weeping and wailing and gnashing of teeth among vintage camera enthusiasts, but what exactly has he done? In the first instance, he’s performed a teardown of the SX-70 which should be of interest to many readers in itself. He’s removed the mirror and lens, mounted a Raspberry Pi camera behind the lens mount, and a small LCD monitor where the mirror would be.

A new plastic lens in the original lens housing completes the optics, and the electronics come courtesy of a Pi Zero, battery, and USB hub in the space where the Polaroid film cartridge would otherwise be. Some new graphics and a fresh leather cover complete theĀ  build, giving what we’d say is a very tidy electronic Polaroid. On the software side there is a filter to correct for fisheye distortion, and the final photos have a slightly Lomographic quality from the plastic lens.

We like what he’s created with his SX-70 even if we can’t help wincing that he did it to an SX-70 in the first place. Maybe it’s less controversial when someone gives the Pi treatment to a more mundane Polaroid camera.

LED Matrix Becomes Fun Tetris Clock

Sometimes a project is borne simply out of the fact that some interesting parts have been left sitting around too long. Of course, this is as good a reason to build as any other, and can often lead to some interesting results. [Jorj Bauer]’s Tetris Display is one such project.

The project started because [Jorj] had an 8 x 32 WS2812 LED array laying about, and it was high time it got turned into something cool. The resulting display has several features, making it a welcome piece around the home. It can act as a clock, with automatic compensation for daylight savings and brightness control depending on the time of day. It can also serve as a text scroller, and of course, the party piece – it can play Tetris. It all runs on an ESP-01, with a second device acting as a remote to control the game.

Rather than simply being another LED matrix project, [Jorj] put a little flair into things. A font was developed that allowed the time to be displayed in a pixel font composed entirely of Tetris pieces (or tetrominos). This allows the time to be displayed by pieces dropping from the top of the display. The Tetris implementation is solid, too – implementing the proper Super Rotation System that professionals would expect.

[Jorj] reports that this build was inspired by an earlier Tetris Clock featured in these very pages. It’s a tidy piece that we’re sure is a great addition to the mantlepiece. Video after the break. Continue reading “LED Matrix Becomes Fun Tetris Clock”