Mini Tetris Game Packs a Tiny85

[dombeef] originally built pocketTETRIS as a Father’s Day gift for his Tetris-loving pops. However, having finished the project he’s decided to share it with the universe, and it’s looking rather sweet.

He made the game the smallest he could make, with size limitations imposed by a 0.96” OLED display, the coin-cell battery pack, and his desire for a durable 3D-printed case. It uses a ATtiny85 for the brains, mounted on a custom PCB that [dombeef] designed in KiCad. The Arduino code was modified from Andy Jackson’s ATtinyArcade code, giving it three-button capability instead of two. [dombeef] has details on the project page on Hackaday.io as well as 3D-design and PCB-design files on the project’s code repository on GitHub.

We’ve published a fair number of Tetris posts in the past, including skyscraper Tetris, playing Tetris on a soldering iron, and Tetris in 446 bytes. What’s the smallest Tetris you’ve seen?

Tetris on a Soldering Iron

Our commenteers have all said good things about the open-source TS100 soldering iron pencil: things like “it solders well”. But we’ve all got soldering irons that solder well. What possible extra value does having open-source firmware on a soldering iron bring? [Joric] answered that question for us — it can play Tetris. (Video embedded below.)

While that’s cool and all, it wasn’t until we were reading through the README over at GitHub that the funniest part of this hack hit us. Every time you lose a game, the iron tip temperature increases by 10 degrees. Tetris for masochists? The makings of some horrible bar bets? We’re just glad that it’s open-source, because we’re not that good and it would get too hot to handle fast.

We haven’t tried out a TS100 yet, but this hack is almost pushing us to impulse purchase. There are alternative versions of the firmware if you just don’t like the font, for instance. And now, Tetris. Will this become the hot new gaming platform that you’ve been waiting for? Let us know in the comments.

Continue reading “Tetris on a Soldering Iron”

LED Tetris Table

No hackspace is complete without an arcade game project or two. Usually these projects are time-worn generic cabinets scarred by the frustrated kicks of a million teenagers, the decades-old Japanese CRT monitors inside of which are ready to shuffle off this mortal coil. You are lucky if you catch them on a rare moment of functioning, and their owners are always hovering ready to attend to any soon-to-expire electronics.

York Hackspace have done things a little differently though. Their member [John] has an arcade game project, but instead of an aged cabinet he’s produced his own tabletop game with an array of multicolour addressable LED strips powered by a Raspberry Pi. Each LED sits in its own foam cell under the translucent surface, so it forms a low resolution color block display.

It’s a Tetris game in its first incarnation, but there is also a copy of Snake underway for it. If it catches your attention you can write your own games, because all its resources are available in a GitHub repository.

This is one of many Tetris interfaces we’ve seen over the years. Largest was probably this skyscraper, but this oscilloscope version is particularly well-executed. One of our most recent forays into Tetris-land though is also one of the most technically interesting, a 446-byte implementation in a master boot record.

Tetris in 446 Bytes

You want to play Tetris. You want to play Tetris on any operating system. You want to play on an old IBM PC, you want to play Tetris on a new MacBook. You want a Tetris that’ll fit inside the master boot record of a disk. You want Tetris as an operating system. You want TetrOS.

Or maybe you don’t, but it’s a fantastic piece of work, and we love tiny demos. Check it out below the break. Or read through the source code in the banner image.

Continue reading “Tetris in 446 Bytes”

Hand Gestures Play Tetris

There are reports of a Tetris movie with a sizable budget, and with it come a plentiful amount of questions about how that would work. Who would the characters be? What kind of lines would there be to clear? Whatever the answers, we can all still play the classic game in the meantime. And, thanks to some of the engineering students at Cornell, we could play it without using a controller.

This hack comes from [Bruce Land]’s FPGA design course. The group’s game uses a video camera which outputs a standard NTSC signal and also does some filtering to detect the user. From there, the user can move their hands to different regions of the screen, which controls the movement of the Tetris pieces. This information is sent across GPIO to another FPGA which uses that to then play the game.

This game is done entirely in hardware, making it rather unique. All game dynamics including block generation, movement, and boundary conditions are set in hardware and all of the skin recognition is done in hardware as well. Be sure to check out the video of the students playing the game, and if you’re really into hand gesture-driven fun, you aren’t just limited to Tetris, you can also drive a car.

Continue reading “Hand Gestures Play Tetris”

Tetris Everywhere: Character LCD Edition

Cheap character LCD displays are more versatile than we give them credit for. Most of the cheapies have a 5×8 character display, which looks blocky but legible when you have an appropriate font. Where it gets fun is that most of the LCD displays also let you upload custom characters.

Taking this to the extreme, [numeric] abused the user-defined characters to write a tiny game of Tetris that would run in the 10×16 frame that you get when you combine four characters together. It’s tiny, it’s monochrome, and doesn’t play the Troika theme (which may be a good thing), but it’s playable. Check out the video below.

Continue reading “Tetris Everywhere: Character LCD Edition”

Arduino Tetris on a Multiplexed LED Matrix

[Alex] needed a project for his microcomputer circuits class. He wanted something that would challenge him on both the electronics side of things, as well as the programming side. He ended up designing an 8 by 16 grid of LED’s that was turned into a game of Tetris.

He arranged all 128 LED’s into the grid on a piece of perfboard. All of the anodes were bent over and connected together into rows of 8 LED’s. The cathodes were bent perpendicularly and forms columns of 16 LED’s. This way, if power is applied to one row and a single column is grounded, one LED will light up at the intersection. This method only works reliably to light up a single LED at a time. With that in mind, [Alex] needed to have a very high “refresh rate” for his display. He only ever lights up one LED at a time, but he scans through the 128 LED’s so fast that persistence of vision prevents you from noticing. To the human eye, it looks like multiple LED’s are lit up simultaneously.

[Alex] planned to use an Arduino to control this display, but it doesn’t have enough outputs on its own to control all of those lights. He ended up using multiple 74138 decoder/multiplexer IC’s to control the LED’s. Since the columns have inverted outputs, he couldn’t just hook them straight up to the LED’s. Instead he had to run the signals through a set of PNP transistors to flip the logic. This setup allowed [Alex] to control all 128 LED’s with just seven bits, but it was too slow for him.

His solution was to control the multiplexers with counter IC’s. The Arduino can just increment the counter up to the appropriate LED. The Arduino then controls the state of the LED using the active high enable line from the column multiplexer chip.

[Alex] wanted more than just a static image to show off on his new display, so he programmed in a version of Tetris. The controller is just a piece of perfboard with four push buttons. He had to work out all of the programming to ensure the game ran smoothly while properly updating the screen and simultaneously reading the controller for new input. All of this ran on the Arduino.

Can’t get enough Tetris hacks? Try these on for size.