Button, Button, Who’s Got The (Pico) Button?

There is an episode of Ren and Stimpy with a big red “history eraser’ button that must not be pressed. Of course, who can resist the temptation of pressing the unpressable button? The same goes for development boards. If there is a button on there, you want to read it in your code, right? The Raspberry Pi Pico is a bit strange in that regard. The standard one lacks a reset button, but there is a big tantalizing button to reset in bootloader mode. You only use it when you power up, so why not read it in your code? Why not, indeed?

Turns out, that button isn’t what you think it is. It isn’t connected to a normal CPU pin at all. Instead, it connects to the flash memory chip. So does that mean you can’t read it at all? Not exactly. There’s good news, and then there’s bad news.

The Good News

The official Raspberry Pi examples show how to read the button (you have read all the examples, right?). You can convert the flash’s chip-select into an input temporarily and try to figure out if the pin is low, meaning that the button is pushed. Sounds easy, right?

Continue reading “Button, Button, Who’s Got The (Pico) Button?”

Salad Spinner Busts Some New Moves

Can you believe that [Tom Tilley]’s wife was just going to pawn off this perfectly good salad spinner on the thrift store when it’s so ripe for hacking? We couldn’t, either. Fortunately, he caught it just in time, right before dinner.

One of the coolest things a person can do that also tends to aid gameplay is to make a custom controller. [Tom] decided to make one for Bust-A-Move, a simple game where one shoots balls at bubbles in order to pop them. It looks like quite the fun little stress reducer. Anyway, a simple game deserves a simple controller, no? Yes.

As you’ll see in the build/demo video below, [Tom] started with a standard wireless mouse and hot-glued a cardboard origami creation to it. This goes upside-down inside the salad spinner and gets connected to the spinner part so that the entire origami moves in a circle. [Tom] then extended the left mouse button to a switch, which he affixed to the outside.

This controller re-uses a slightly modified mouse that [Tom] used in a previous Bust-A-Move controller. He is using a FreePIE script and vJoy in order to map mouse movements to the joystick inputs expected by the game. Watch [Tom] bust some moves after the break.

Continue reading “Salad Spinner Busts Some New Moves”

You’ve Got Mail: Reading Addresses With OCR

Last time I delivered on this column, I told you about the USPS’ attempts to fully automate a post office. Of course, that’s a bit of a misnomer, since it took 1,500 employees to actually operate the place on a daily basis. Although Project Turnkey in Rhode Island and Project Gateway in California were proving grounds for all kinds of mail sorting and processing equipment, the act of actually reading addresses and routing mail to its final destination still required human intervention and hand coding.

Today, the post office processes hundreds of millions of mail pieces each day using various pieces of equipment. One of those important pieces of equipment is the OCR address reader, which manages to make sense of all kinds of chicken scratch.

Continue reading “You’ve Got Mail: Reading Addresses With OCR”

TMD-3: Clever Hall Sensor Hack Leads To Better Turing Demo

We’ll beat everyone to the punch: yes, actually building a working Turing machine, especially one that uses a Raspberry Pi, is probably something that would have pushed [Alan Turing]’s buttons, and not in a good way. The Turing machine is, above all else, a thought experiment, an abstraction of how a mechanical computing machine could work. Building a working one seems to be missing the point.

Thankfully, [Michael Gardi] has ignored that message three times now, and with good reason: some people just grok abstract concepts better when they can lay their hands on something and manipulate it. His TMD-1 was based on 3D printed tiles with embedded magnets — arranging the tiles on a matrix containing Hall effect sensors programmed the finite state machine, with the “tape” concept represented by a strip of eight servo-controlled flip cards. While TMD-1 worked fine, it had some limitations, which [Mike] quickly remedied with TMD-2, a decidedly more complicated affair that used a Raspberry Pi, a camera, and OpenCV to read an expanded state machine with six symbols and six states, without breaking the budget on all the Hall sensors required.

TMD-3 refines the previous design, eschewing the machine vision approach and returning to the Hall effect roots of the original. But instead of using three sensors per tile, [Mike] determined that one sensor would suffice as long as he could mount the magnet at different depths within each tile. That way, the magnetic field for each symbol could be discerned by a single Hall sensor, greatly reducing complexity and expense. An LCD screen and a Raspberry Pi run a console app that shows the tape status, the state machine, and the state transitions.

[Mike] put a ton of work into this one — there are nineteen project logs — and he includes a lot of useful tips and tricks, like designing PCBs directly in KiCAD before even having a schematic. Of course, with a track record like his, we’d expect nothing less.

Continue reading “TMD-3: Clever Hall Sensor Hack Leads To Better Turing Demo”

Scaled-Up Matches Are Hilarious And Moderately Effective

Regular matches are fine for lighting candles and the like, but they’re a bit small and fiddly to use. After seeing some giant prop matches used in a stage play, [Handy Bear] decided to see if they could build some functional extra-large matches at home.

The build starts with a square wooden dowel, cut into lengths to serve as the main body of the matches. Regular tiny matches were then harvested for their flammable matchheads, made of potassium chlorate. Sourcing the material this way is far simpler than attempting a chemical synthesis from raw materials. Once roughly ground, the material was glued on to the end of the wooden rod to finish the match. [Handy Bear] then whipped up a giant matchbox to suit, using the ignition strips from multiple smaller matchboxes in the process.

Impressively, the monster matches work, and work well. They readily ignite when struck, and are able to keep a strong flame burning for some time.  However they’re not quite potent enough to fully ignite the wood, so they don’t burn down like the real thing. We could see these being a great way to light a campfire with less hassle than regular matches, even if they are a bulky solution to the problem.

Continue reading “Scaled-Up Matches Are Hilarious And Moderately Effective”

Open Source Tracker Keeps An Eye On Furry Friends

Most of the time, you’ll know where your cats are — asleep on the bed about 23.5 hours a day and eating or pooping the rest of the time. But some cats are more active than others, so there’s commercial options for those who want to keep tabs on their pet. Unfortunately, [Sahas Chitlange] didn’t like any of them, so he designed and built his own open source version: FindMyCat.io.

The system is in two parts: a module that fits onto a cat collar, and a home station that, well, stays at home. It offers a variety of tracking modes. In home mode, the home station signals the collar every 10 seconds, which stays in a deep sleep most of the time. If the collar doesn’t get a signal from the home station, it switches to ping mode, where it will wait for a signal from the FindMyCat over the LTE-M connection and report its location.

Finally, the app can set the collar to Lost Kitteh mode, where the collar will send a location to the app every seven minutes or thirty seconds. The collar also supports a direction-finding feature, using the ultra wideband (UWB) feature of recent Apple iPhones to point you in the direction and distance of the tracked cat.

The collar is built around a Nordic Semiconductor NRF-9160, a System in a Package (SiP) that does most of the heavy lifting as it includes GPS, an LTE-M modem, and an ARM processor. One interesting feature here: [Sahas] doesn’t make his antennas on the PCB, but instead uses an Ignion NN03-310, an off-the-shelf antenna that is already qualified for LTE-M use. That means this system can be connected to almost any LTE-M network without getting yelled at for using unqualified hardware and making the local cell towers explode.

The collar also includes a DWM3001CDK ultrawideband (UWB) module used for the locator feature. The accompanying app uses this and Apple’s UWB support to show the user which direction the cat is in, and how far away it is. The app isn’t in the Apple App Store yet, so you’ll need to sign up for an Apple Developer account to use it. We’d love to hear from anyone who takes it for a test drive with their own pet.

Continue reading “Open Source Tracker Keeps An Eye On Furry Friends”

Latency Meter For Accurate Gaming

The gaming world experienced a bit of a resurgence in 2020 that is still seen in the present day. Even putting aside the effects from the pandemic, the affordability and accessibility has arguably never been better. Building a gaming PC can have its downsides, though, and a challenging issue to troubleshoot is input lag or input latency. This is something that’s best measured with standalone hardware, and if this is an issue on your setup you may want to take a look at this latency meter.

Unlike other measurement devices that use the time between a mouse button input and the monitor’s display of a bullet or shooting event, this one looks at mouse movement and the change in the scene instead. This makes it much more versatile than other methods since it’s independent of specific actions, and can be used in any game without any specific events needed to perform the measurement. A camera phototransistor is placed on the monitor’s top edge and the Arduino-based device sends mouse commands to the computer while measuring the time between those commands and the shift in the image on the monitor.

The project is open source, so with the right hardware it’s possible to build one to troubleshoot latency issues or just to learn more about a particular hardware configuration’s behavior. Arduinos and other microcontrollers have been doing all kinds of things by pretending to be human interface devices like this for a while now. One of our favorites of late was this effects pedal that replicates musical effects on mice and keyboards.