Wii-Inspired Controller Built Using Raspberry Pi Pico

We all thought Nintendo was going to change the world of gaming when it released the Wii all those years ago. In the end, it was interesting but not really fundamentally life-changing for most of us. In any case, [Sebastian] and [Gabriel] decided to build a Wii-like controller for their microcontroller class at Cornell.

The build uses a pair of Raspberry Pi Pico microcontrollers, communicating over HC-05 Bluetooth modules. One Pico acts as a controller akin to a Wiimote, while the other runs a basic game and displays it on a screen via VGA output. The controller senses motion thanks to a MPU6050 inertial measurement unit, combining both gyros and accelerometers in all three axes.

The duo demonstrate the hardware by using it as a pointer to play a simple Tic-Tac-Toe game. It’s in no way going to light up the Steam charts, but the project page does go into plenty of useful detail on how everything was implemented. If you want to create your own motion gaming controller, you could do worse than reading up on their work.

We’ve seen some other great examples of motion controls put to good use, like this VR bowling game. Video after the break.

Continue reading “Wii-Inspired Controller Built Using Raspberry Pi Pico”

Localizing Fireworks Launches With A Raspberry Pi

If you have multiple microphones in known locations, and can determine the time a sound arrives at each one, you can actually determine the location that sound is coming from. This technique is referred to as sound localization via time difference of arrival. [Kim Hendrikse] decided to put the technique to good use to track down the location of illicit fireworks launches.

The build is based on the Raspberry Pi, with [Kim] developing an “autonomous recording unit” complete with GPS module for determining their location and keeping everything time synchronized. By deploying a number of these units, spread out over some distance, it’s possible to localize loud sounds based on the time stamps they show up in the recording on each unit.

Early testing took place with an air horn and four recording units. [Kim] found that the technique works best for sounds made within the polygon.  Determining the location was achieved with a sound investigation tool called Raven Lite, developed by Cornell University. The process is very manual, involving hunting for peaks in sound files, but we’d love to see a version that automated comparing sound peaks across many disparate recording units. In any case, it worked incredibly well for [Kim] in practice. Later testing with friends and a network of six recorders spread over Limburg, Netherlands, [Kim] was later able to localize fireworks launches with an accuracy down to a few meters.

Similar techniques are used to locate gunshots, and can work well with pretty much any loud noise that’s heard over a great distance. If you’ve been using your hacker skills to do similar investigative work, don’t hesitate to let us know on the tipsline!

Beyond The Basics: Exploring More Exotic Scope Trigger Modes

Last time, we looked at some powerful trigger modes found on many modern scopes, including the Rigol DHO900 series we used as an example. Those triggers were mostly digital or, at least, threshold-based. This time, we’ll look at some more advanced analog triggers as well as a powerful digital trigger that can catch setup and hold violations. You can find the Raspberry Pi code to create the test waveforms online.

In addition to software, you’ll need to add some simple components to generate the analog waveform. In particular, pin 21 of the Pi connects to  2uF capacitor through a 10K resistor. The other side of the capacitor connects to ground. In addition, pin 22 connects directly to the capacitor, bypassing the 10K resistor. This allows us to discharge the capacitor quickly. The exact values are not especially important.

Runt Triggers

A runt pulse is one that doesn’t have the same voltage magnitude as surrounding pulses. Sometimes, this is due to a bus contention, for example. Imagine if you have some square waves that go from 0 to 5V. But, every so often, one pulse doesn’t make it to 5V. Instead, it stops at 3V.

Continue reading “Beyond The Basics: Exploring More Exotic Scope Trigger Modes”

Restoring The DC Bias

If you have a signal that passes through a capacitor or transformer, you will lose the DC portion of the signal. What do you do? If you need it, you can restore the DC bias using various techniques, as [Sam Ben-Yaakov] shows in a recent video.

These types of circuits were common in analog TVs, and, in fact, [Sam] shows the schematic of a TV to explain the need for the DC level. In that case, a vacuum tube diode does the work, but a solid state one will do the same job.

Continue reading “Restoring The DC Bias”

Australia Bans Engineered Stone, Workers Elsewhere Demand The Same

Engineered stone, also known as artificial stone or composite stone, has become a popular material in the construction and design industries due to its aesthetic appeal and durability. It’s become the go-to solution for benchtops in particular, with modern kitchens and bathrooms heavily featuring engineered stone in this way.

However, this seemingly innocuous material harbors a dark side, posing significant health risks to workers involved in its manufacturing and installation. The hazards associated with engineered stone have gone unnoticed for some time, but the toll is adding up, and calls for action grow louder. Let’s examine why engineered stone is so harmful, and explore the measures being taken across the world to curtail or even ban its use.

Continue reading “Australia Bans Engineered Stone, Workers Elsewhere Demand The Same”

Simulate A Better Termination

If you are making certain precision measurements, you know you need to terminate the connections with the right impedance, normally 50 ohms. Proper termination minimizes reflections on the line which can disturb measurements. Some instruments already have 50 ohm terminations, at least optionally. If not, you usually use little connector shells with the right resistor inside. [Joe Smith] decided to see if he could improve on the normal terminations using circuit simulation techniques. You can see a video of the work below.

In the process of testing, he also needs a resistive splitter, and, just like with the terminators, he shows you what’s going on inside. It was easy to compare since he had a scope that could independently set channels to have a 50-ohm termination or a 1 megaohm termination.

Continue reading “Simulate A Better Termination”

Clockhands For Faster CPU Execution

When you design your first homebrew CPU, you probably are happy if it works and you don’t worry as much about performance. But, eventually, you’ll start trying to think about how to make things run faster. For a single CPU, the standard strategy is to execute multiple instructions at the same time. This is feasible because you can do different parts of the instructions at the same time. But like most solutions, this one comes with a new set of problems. Japanese researchers are proposing a novel way to work around some of those problems in a recent paper about a technique they call Clockhands.

Suppose you have a set of instructions like this:

LOAD A, 10
LOAD B, 20
SUB A,B
LOAD B, 30
JMPZ  DONE
INC B

If you do these one at a time, you have no problem. But if you try to execute them all together, there are a variety of problems. First, the subtract has to wait for A and B to have the proper values in them. Also, the INC B may or may not execute, and unless we know the values of A and B ahead of time (which, of course, we do here), we can’t tell until run time. But the biggest problem is the subtract has to use B before B contains 30, and the increment has to use it afterward. If everything is running together, it can be hard to keep straight.

Continue reading “Clockhands For Faster CPU Execution”