Gyro-Controlled Labyrinth Game Outputs To VGA

This gesture-controlled labyrinth game using two Raspberry Pi Pico units does a great job of demonstrating how it can sometimes take a lot of work to make something look simple.

To play, one tilts an MPU6050 inertial measurement unit (IMU) attached to one Pico to guide a square through a 2D maze, with the player working through multiple levels of difficulty. A second Pico takes care of displaying the game state on a VGA monitor, and together they work wirelessly to deliver a coherent experience with the right “feel”. This includes low latency, simulating friction appropriately, and more.

Taking a stream of raw sensor readings and turning them into control instructions over UDP in a way that feels intuitive while at the same time generating a VGA display signal has a lot of moving parts, software-wise. The project write-up has a considerable amount of detail on the architecture of the system, and the source code is available on GitHub for those who want a closer look.

We’ve seen gesture controls interfaced to physical marble mazes before, but two Raspberry Pi Picos doing it wirelessly with a VGA monitor for feedback is pretty neat. Watch it in action in the video, embedded just under the page break.

Continue reading “Gyro-Controlled Labyrinth Game Outputs To VGA”

Air Hockey Table Embraces DOOM, Retro Gaming

[Chris Downing] recently finished up a major project that spanned some two years and used nearly every skill he possessed. The result? A smart air hockey table with retro-gaming roots. Does it play DOOM? It sure (kind of) does!

Two of the most striking features are the score board (with LCD screen and sound) and the play surface which is densely-populated with RGB LED lighting and capable of some pretty neat tricks. Together, they combine to deliver a few different modes of play, including a DOOM mode.

The first play mode is straight air hockey with automated score tracking and the usual horns and buzzers celebrating goals. The LED array within the table lights up to create the appearance and patterns of a typical hockey rink.

DOOM hockey mode casts one player as Demons and the other as the Doom Slayer, and the LED array comes to life to create a play surface of flickering flames. Screams indicate goals (either Demon screams or Slayer screams, depending on who scores!)

In retrogaming emulation mode, the tabletop mirrors the screen.

Since the whole thing is driven by a Raspberry Pi, the table is given a bit of gaming flexibility with Emulation Mode. This mode allows playing emulated retro games on the scoreboard screen, and as a super neat feature, the screen display is mirrored on the tabletop’s LED array. [Chris] asserts that the effect is imperfect, but to us it looks at least as legible as DOOM on 7-segment displays.

This project is a great example of how complex things can get when one combines so many different types of materials and fabrication methods into a single whole. The blog post has a lot of great photos and details, but check out the video (embedded below) for a demonstration of everything in action. Continue reading “Air Hockey Table Embraces DOOM, Retro Gaming”

A microwave imaging setup. On the left is a monitor displaying a monochrome GUI. In the center is the RP2040-based positioning and measurement system, and on the right is a vector network analyzer.

Precise Positioning With The RP2040

Microwave imaging is similar to CT imaging, but instead of X-rays, the microwaves are used to probe the structure and composition of an object. To facilitate experimentation with microwave imaging, [Zehao Li] and [Kapil Gangwar] developed a system based on the RP2040 to control the height and rotation of a test object.

Their control system has a refreshingly physical user interface—a keypad. The keypad is used to configure the object’s position and the scanning step size, while user menus and the sample position are displayed in a clean and uncluttered interface over VGA. The RP2040 runs a multi-threaded program to handle user input, VGA display, and precise driving of two stepper motors for sample positioning.

The microwave imaging was performed by measuring the RF transmission over 2.5-8 GHz between two Vivaldi antennas on either side of the sample at a variety of angles. 2D cross-sections of the test object were reconstructed in Matlab using filtered back-projection. In this proof-of-concept demonstration, a commercial vector network analyzer was used to collect the data, but one could imagine migrating to a software defined radio (SDR) in the future.

A video demonstrating the system is embedded below the break. If you’re interested in DIY radio imaging, you might be interested in this guide to building your own synthetic aperture radar setup, or this analysis of an automotive radar chip.

Continue reading “Precise Positioning With The RP2040”

Quivering Facehugger Is All Geared Up

[Jason Winfield] shared with us a video describing a project with a lot of personality: a mounted, lit, and quivering Alien facehugger triggered by motion. The end result is a delightful jump scare, and the Raspberry Pi that controls everything also captures people’s reactions.

It starts with a little twitch when motion is sensed, then launches into a perfectly unsettling quiver combined with light and sound. We particularly like the wave-like effect from the LED lighting, which calls to mind illumination from rotating hazard beacons.

The unit looks like a mounted and tastefully-lit static model, but is actually primed to sense motion.

One challenge was how to efficiently move the legs. Rather than use a motor for each limb, [Jason] settled on a single motor driving a rotating cam arrangement. You can see the results for yourself in the video below, but getting there was not simple.

The surplus motor [Jason] chose is thin and high-torque, but runs extremely fast. Since he wanted the legs to quiver creepily rather than vibrate, something needed to be done to mitigate this.

The solution is a planetary gear assembly that drives a rotating ring and cam arrangement coupled to the facehugger’s legs. There’s only one motor, but the effect is that each leg’s motion is independent of the others. The whole assembly is quite slim, and everything is contained within the frame.

Facehuggers and gear assemblies are not exactly an everyday combination, but believe it or not this isn’t the first time the two have joined forces. Check out the Aliens-themed cuckoo clock, complete with crew member torso and emerging chestburster!

Continue reading “Quivering Facehugger Is All Geared Up”

Sound-Reactive Light Saber Flips Allegiance Via Vowel Sounds

Students [Berk Gokmen] and [Justin Green] developed an RP2040-based LED-illuminated lightsaber as a final project with a bit of a twist. It has two unusual sound-reactive modes: disco mode, and vowel detection mode.

Switching allegiances (or saber color, at least) is only a sound away.

Disco mode alters the color of the saber dynamically in response to incoming sounds. Color and brightness are altered in response to incoming frequencies picked up by the on-board microphone, making a dynamic light show that responds particularly well to music.

The second mode is vowel detection, and changes the lightsaber’s color depending on spoken sounds. The “ee” sound makes the saber red, and the “ah” sound turns it blue. This method requires a lot of processing and filtering, and in the end it works, but is quite dependent on individual speakers for calibration.

The sound functionality centers around FFTs (Fast Fourier Transforms) which are fundamental to processing signals like audio in a meaningful way, and is a method accessible to embedded devices like microcontrollers with ADCs.

The lightsaber is battery-powered and wireless, and there are loads of details about the finer points of the design (including challenges and tradeoffs) on the project page, and the source code is available on GitHub. A video demonstration and walkthrough is embedded below.

Continue reading “Sound-Reactive Light Saber Flips Allegiance Via Vowel Sounds”

Raspberry Pi Does Its Best Retro PC Impression

The Raspberry Pi is a popular choice if you’re looking to put together a simple emulation box — it’s relatively cheap, small enough to tuck into pretty much any entertainment center, and benefits from a large and vibrant development community. You can even get enclosures that will dress the Linux single-board computer up like a miniature version of your favorite retro console. But what about the old school PC gamers who want to relive their glory days in a palm-sized package?

Well, if you’ve got a 3D printer, [fantasticmrdavid] might have just the solution for you. This second iteration of his printable Raspberry Pi enclosure is designed to look like the 286 desktop that he had in his youth, complete with a functional “floppy drive” in the front that takes an SD card. With a 3.5 inch MPI3508 LCD up in the “monitor” and a copy of DOSBox on the SD card, you’re well on your way to booting up a copy of Windows 3.11 or building some contraptions in The Incredible Machine.

While the external aesthetics of the design are impeccable, we appreciate that [fantasticmrdavid] didn’t skimp on the internals. There’s mount points for dual 25 mm fans to keep the more powerful variants of the Raspberry Pi cool, and a speaker expansion board that plugs into the GPIO header to provide era-appropriate bloops and bleeps. The tiny details here really shine, like the fact that the face plates for the dual drives are designed as separate pieces so they can be printed in a different color than the main case.

If you’re not interested in the classics, don’t worry. We’ve seen the Raspberry Pi stand in foraa modern gaming PC, complete with the RGB LEDs you’d expect in a contemporary rig.

Several Raspberry Pi Picos connected to each other

Raspberry Pi Pico Parallel Mandelbrot Computation

The Mandelbrot set is — when visualized with some colors — an interesting shape with infinite detail. While the patterns are immediately obvious to the human eye, anyone who’s run one can tell you that they’re pretty computationally expensive to produce. Fortunately, as with many things in graphics, rendering the Mandelbrot set can be easily parallelized.

That’s what [rak277] and [ir93] demonstrate in their RP2040-based finals project. Computron, as they call it, is a network of Raspberry Pi Picos that work together to compute a visualization of the Mandelbrot set and show it on a VGA display. The Computron is made of two or more “math units” and one “projection unit”. The math units communicate over a shared I²C bus with the projection unit to first divide the workload and then compute their share of the work.

This project shows both the strengths and limitations of parallel computation. It makes use of multiple math units on a highly parallelizable workload, but as more math units are added there are diminishing performance gains due to the increased communications load on the network, which [rak277] and [ir93] suspect to be the current bottleneck in the Computron.

If you’re fresh out of Pi Picos, and don’t mind waiting awhile, you could always crank out a Mandelbrot set on your trusty Atari 800 in BASIC.