New Part Day: Onion Tau LiDAR Camera

The Onion Tau LiDAR Camera is a small, time-of-flight (ToF) based depth-sensing camera that looks and works a little like a USB webcam, but with  a really big difference: frames from the Tau include 160 x 60 “pixels” of depth information as well as greyscale. This data is easily accessed via a Python API, and example scripts make it easy to get up and running quickly. The goal is to be an affordable and easy to use option for projects that could benefit from depth sensing.

When the Tau was announced on Crowd Supply, I immediately placed a pre-order for about $180. Since then, the folks at Onion were kind enough to send me a pre-production unit, and I’ve been playing around with the device to get an idea of how it acts, and to build an idea of what kind of projects it would be a good fit for. Here is what I’ve learned so far.

Continue reading “New Part Day: Onion Tau LiDAR Camera”

A Raspberry Pi-Packing Cassette Powers This ZX Spectrum Emulator

Sometimes we are vaguely aware of the inexorable march of technological progress. Other times it thrums steadily under the surface while we go about our lives. And sometimes, just sometimes, it smacks us right in the face.

Few projects can demonstrate the advancement and miniaturization of computing technology like putting an entire functional computer inside a storage medium that once only held mere kilobytes of data. And that’s exactly what [JamHamster] has done by stuffing a Raspberry Pi Zero W inside a cassette tape to run his ZX Spectrum emulator. It’s an impressive and clean build, and it pairs so well with a downright gorgeous, retro inspired, CRT-lookalike LCD monitor, which is another creation of his.

A Raspberry Pi Zero with several areas lightly trimmed away inside an open cassette tape.

The Pi did have to undergo a bit of light surgery; though he managed to lose only four GPIO pins in the operation. He also put a ton of love into a literally-highly-polished aluminum heatsink, which is entirely hidden within the case but does keep the computer cool in its claustrophobic quarters. Of course, [JamHamster] isn’t new to these cassette builds. You may recognize his work from the TZXDuino, a virtual tape loader for the ZX Spectrum.

Honestly, sometimes we just have to sit back and be amazed at the kind of computer power that can be packed into such tiny packages. The Pi Zero isn’t the smallest or the most powerful of options, but it is far more capable than the computer it is emulating here. So whether they’re hiding inside outdated storage formats or powering a stock-looking sleeper PSP, we just can’t help but be impressed.

Tether Tames Temperamental Typing

[chadaustin] has a favorite keyboard with a great ergonomic shape, key travel distance, and size, but after switching to Windows 10, the wireless connection introduced a terrible delay. Worse yet, the receiver is notoriously susceptible to interference from USB 3.0 hubs. To provide 128-bit AES encryption, the receiver is paired with the keyboard at the factory and cannot be replaced. If you lose that, you gain a highly ergonomic paper-weight. The solution for [chadaustin] was tethering the keyboard and receive several crash-courses in hardware hacking along the way. As evidenced by the responses to this project on ycombinator, many long-time fans of the Microsoft Sculpt Ergonomic Keyboard, introduced in 2013, suffer similar issues.

chadaustin's sculpt keyboard USB board layout
KiCad USB controller board layout

We really appreciate that [chadaustin] took an incremental approach, tackling one problem at a time and getting help from others along the way for first attempts at many complex steps. The proof-of-concept involved hand-soldering each lead from the keyboard matrix’s test pads to a QMK Proton C, which worked but couldn’t fit inside the keyboard’s case. For a more permanent and tidy solution, [chadaustin] tried a ribbon-cable breakout board and other microcontrollers, but none of those were compact enough to fit inside the case either. This required a custom PCB, another first for [chadaustin].

After a one-day intro to KiCad, [chadaustin] dug into the datasheets, completed a schematic for the board, and generously shared the process of choosing components and creating the layout. [chadaustin] ordered a board and found the mounting holes’ placement needed to be shifted.

With the full matrix mapped by [johnmilkspill], flashing QMK onto the AT90USB1286 controller went fairly smoothly. [chadaustin] chose to map both sides of the split spacebar back to the space key but did add a feature by repurposing the battery indicator LED to Caps Lock. And the results?

chadaustin's sculpt keyboard USB controller fit into case
USB controller fits into the plastic case, wires added to ISP for bootloader button

According to testing done with Is It Snappy?, the latency dropped from the wireless 78 ms down to 65 ms over USB. More importantly, this latency is now consistent, unaffected by USB hubs, and there is no receiver to lose. Of course, [chadaustin] has ideas for future improvement, including regaining the multimedia function keys, as these kinds of hacks are never really done; they are just in the current revision. No word on the fate of the detached number pad, but that likely needs its own tether and is a project for another day.

Thanks for the tip [Linus Söderlind]