ATtiny85 Plays The Chrome Dinosaur Game

If you’ve ever had your internet connection drop out while running Chrome, you’ve probably seen a little dinosaur pop up to tell you what’s going on. You might have then tapped a key and learned that it’s actually a little mini-game built into the browser where you have to hop your intrepid T-rex over a bunch of cactii. [Albert David] is well familiar with this little Easter egg, and set about building a system to automatically play the game for him.

The build uses an Digispark ATtiny85 microcontroller board to run the show. It’s set up to plug in to a PC and enumerate as a USB HID device, so it can spoof the required key presses to play the game. To sense the game state, the device uses a pair of LM393 light-dependent resistor comparator modules. The bottom sensor is used to detect cactus obstacles in the game, while the upper sensor detects flying bird obstacles. Armed with this information, the microcontroller can deliver keypresses at just the right time to jump over cactuses while dodging birds overhead.

[Albert] does a great job of explaining how the project came together in the write-up. There are also useful calibration instructions that indicate how to place the sensors and tweak their thresholds so they trigger reliably and help you net a suitably high score.

Interestingly enough, this isn’t the first time we’ve seen a microcontroller take Chrome’s hidden game for a spin. The game itself has become popular enough that we’ve also seen it ported to other platforms.
Continue reading “ATtiny85 Plays The Chrome Dinosaur Game”

Building A Rad Bluetooth Speaker That Didn’t Really Exist

[Nick] came across an awesome Bluetooth speaker online, only, there was a problem. It didn’t really exist—it was just a render of a device that would be nice to have. Of course, there was an obvious solution—[Nick] just had to build the device for real!

The key to the aesthetic of the build is the external case. [Nick] was able to recreate the rough design of the rendered device in SolidWorks, before having the components produced on a resin 3D printer which provided excellent surface finish. Internally, the Bluetooth audio receiver was cribbed from an old pair of wireless headphones. However, a little more oomph was needed to make the speaker really usable, so [Nick] hooked the audio output up to a small MAX98306 amplifier board and a pair of 3 W speakers. The tiny tactile buttons from the headphone PCB wouldn’t do, either. For a nicer feel, [Nick] hacked in a set of four hall effect keyboard switches to control the basic functions.

The result is a Bluetooth speaker that looks as rad as the rendered unit, only you can actually take it outside and bump some tunes! It recalls us of some fine up-cycling work we’ve seen done to vintage 80s radios in a similar vibe.

Continue reading “Building A Rad Bluetooth Speaker That Didn’t Really Exist”

Relays Run This Balanced Ternary Adder

If you’re at all familiar with digital computing, you’ll know that computers represent everything in binary values of one and zero. Except that’s not technically the only way to do computing! You can use any numerical system you like if you build your hardware to suit, as [Jeroen Brinkman’s] ternary adder demonstrates.

As you might guess from the prefix, “ternary” refers to a base-3 numerical system. In this case, [Jeroen] implemented a balanced ternary system, which effectively uses values of -, 0, and + instead of just 1 and 0. The adder is built using relay logic, and is designed to handle 4 trits—the ternary equivalent of bits, where each trit can have one of the three aforementioned states. On a hardware level, trit states are represented with voltages of -5, 0, or 5 V in this case, and are handled with special tri-state switching elements that [Jeroen] constructed out of simple SPDT relays.

[Jeroen]’s write-up does a great job of explaining both ternary basics as well as the functioning of the adder. It’s also quite intuitive because it’s possible to see the relays clicking away and the LEDs flashing on and off as the circuit does its work to add values stored in ternary format.

If you’re trying to get your head around ternary computing from the very lowest level, this project is a great place to start. We’ve seen base 3 hardware built before, too—like this simple ternary computer lashed together from accessible components.

If you’re cooking up your own computing apparatus that uses some weird number system or something, remember—we’d love to hear about it on the tipsline!

Building A Neatly Framed Word Clock

Reading analog clocks is a pretty straightforward skill to learn. However, if you’ve already learned to read and don’t want to pick up the extra skill, a word clock is a perfect solution for telling time. [povey_tech] found some nice examples in the wild but didn’t appreciate the price, so he set about building his own.

The build is based around an ESP32 microcontroller. While many projects in this vein would use the onboard wireless connectivity to query network time servers, in this case, the board relies on the user manually setting the time and a DS1307 real-time-clock module to keep a steady tick. Also onboard is a VEML7700 ambient light sensor, which the microcontroller uses to control the brightness of the WS2812 LEDs inside the board.

The words themselves are laser cut out of acrylic panels, with everything set inside a tidy oak picture frame. A layer of anti-reflective glass in front helps cut down on glare, while [povey_tech] was so kind as to implement two LEDs per letter to allow for lovely color gradients to be displayed. Configuring the clock is easy thanks to a webpage hosted on the ESP32 that allows for control of dimming modes, colors, and setting the time. Home Assistant integration is something planned for the future.

We’ve seen many great word clocks over the years. Perhaps the biggest leap forward in this world was the development of the addressable LED strip which made constructing these clocks much easier.

Continue reading “Building A Neatly Framed Word Clock”

GNU Radio Gets A Makeover With PimpMyGRC

[idealdealy] had a problem. GNU Radio Companion was proving to be a powerful tool, but it just didn’t look… cool enough. The solution? A custom bit of software called PimpMyGRC, designed to jazz things up a bit in everyone’s favorite open-source SDR package.

In the creator’s own words, PimpMyGRC solves the problem nobody had with GNU Radio. It stemmed from [idealdealy]’s desire to have a plain black background in the software to ease eye strain during late night debug sessions. From there, it developed into a full theming package coded in Python, complete with all kinds of fun color schemes.

You can go with “arctic” if you’re somewhere cold, “bubblegum” if you’re feeling young and fun, or “neon hacker” if you’re still obsessed with early 90s movies with terrible plot holes around computers.

None of these themes will help you work faster, but they’ll probably make your friends jealous that your setup looks a little bit cooler than theirs. Plus, there are some really fun animated effects to catch your eye if your attention is fading. You might get flames dancing on the bottom of the screen, or binary digits falling through the display in a manner vaguely akin to terminals from The Matrix.

If you’re new to this world, you might like to check out this primer on getting started with GNU Radio. Meanwhile, if you’re cooking up your own SDR hacks of value, don’t hesitate to notify the tipsline!

Nintendo’s Family BASIC Keyboard Gets USB Upgrade

America knew it as the Nintendo Entertainment System, but in Japan, it was the Family Computer (Famicom). It was more than just a home console—it was intended to actually do a whole lot more. All you had to do was plug in the keyboard and chuck in the right Family BASIC cartridge, and you had a computer hooked up to your TV! [Lucas Leadbetter] came across an old Family BASIC keyboard recently, and set about making it more useful in our modern age with a simple USB upgrade.

[Lucas] started with research, and soon found plenty of schematics and details on the keyboard on the NESdev wiki page. Hunting further turned up a video from [Circuit Rewind], who demonstrated how to hook up the keyboard to a Raspberry Pi Pico, including how to interface with the onboard chips to scan the keys. These resources told [Lucas] enough to get going—and that it should be as simple as wiring some custom hardware up to the internal keyboard matrix connector to get it speaking to USB.

[Lucas] went a slightly different path to [Circuit Rewind], implementing the popular QMK firmware to suit the Family Basic keyboard on an Adafruit KB2040. The Adafruit part is basically an RP2040 microcontroller slapped onto a tiny PCB in a form factor that’s ideal for making custom keyboards. [Lucas] was able to reimplement the scanning logic that [Circuit Rewind] had reverse engineered previously, and had the keyboard up and running in short order with all the usability benefits of the QMK firmware. Files are on Github for those eager to recreate the work.

As far as usability goes, [Lucas] notes that the Family BASIC keyboard is more of a conversation piece than a daily driver, thanks to its rather poor feel. Duly noted. We’ve explored how software development is done in Family BASIC before, too. Video after the break.

Continue reading “Nintendo’s Family BASIC Keyboard Gets USB Upgrade”

Mapping The Sound Field Of An Acoustic Levitator

Sound! It’s a thing you hear, moreso than something you see with your eyes. And yet, it is possible to visualize sound with various techniques. [PlasmatronX] demonstrates this well, using a special scanning technique to visually capture the sound field inside an acoustic levitation device. 

If you’re unfamiliar, acoustic levitation devices like this use ultrasound to create standing waves that can hold small, lightweight particles in mid-air. The various nodes of the standing wave are where particles will end up hovering. [PlasmatronX] was trying to calibrate such a device, but it proved difficult without being able to see what was going on with the sound field. Hence, the desire to image it!

Imaging the sound field was achieved with a Schlieren optical setup, which can capture variations in air density as changes in brightness in an image. Normally, Schlieren imaging only works in a two-dimensional slice. However, [PlasmatronX] was able to lean on computed tomography techniques to create a volumetric representation of the sound field in 3D. He refers to this as “computerized acoustical tomography.” Images were captured of the acoustic levitation rig from different angles using the Schlieren optics rig, and then the images were processed in Python to recreate a 3D image of the sound field.

We’ve seen some other entertaining applications of computed tomography techniques before, like inspecting packets of Pokemon cards. Video after the break.

Continue reading “Mapping The Sound Field Of An Acoustic Levitator”