chadaustin's sculpt keyboard test pads wired to protonC

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]

Minimal UART Computer

[Carsten] spent over a year developing a small CPU system, implementing his own minimalist instruction set entirely in TTL logic. The system uses a serial terminal interface for all I/O, hence the term UART in the title. [Carsten] began building this computer on multiple breadboards, which quickly got out of hand.

He moved the design over to a PCB, but he was still restless. This latest revision replaces EEPROM with cheaper and easier to use CMOS Flash chips, and the OS gains a small file system manager. As he says in the video, his enemy is feature creep.

Tetris on the UART Computer

In addition to designing this CPU project, [Carsten] built an assembler and wrote a substantial operating system and various demo programs and games. He not only learned KiCAD to make this board, but also taught himself to use an auto-router. The KiCAD design, Gerbers, and BOM are all provided in his repository above. ROM images and source code are provided, as well as a Windows cross-assembler. But wait – there’s more. He also wrote a cycle exact emulator of the CPU, which, as he rightfully brags, comes in at under 250 lines of C++ code. This whole project is an amazing undertaking and represents a lot of good work. We hope he will eventually release the assembler project as well, in case others want to take on the challenge of building it to run under Linux or MacOS. Despite this, the documentation of the Minimal UART Computer is excellent.

[Carsten] claims the project has finally passed the finish line of his design requirements, but we wonder, will he really stop here? Do check out his YouTube channel for further informative videos. And thanks to [Bruce] for sending in the tip.

Continue reading “Minimal UART Computer”

Phasors In LTSpice

[Ted] recently demonstrated the analysis of an RL circuit using a piece of paper, Octave, and LTSpice. If you prefer, the Octave code should work fine in MATLAB, as well. If you are looking to get serious about electronic theory this is a reasonably simple case and is a good chance to get a workout with some of the tools.

We like the approach because too often it is easy to just use the computer and not pick up the understanding that you get when working through a problem by hand. You do need to understand complex numbers, but, overall, the math isn’t too hairy.

Continue reading “Phasors In LTSpice”

DIY B-Movie Robot Is A-OK

While we certainly agree that “Devil Girl From Mars” is an attractive movie title, we have yet to see this apparent British B-movie delight for ourselves. If [Cory Collins]’ fantastic build of Chani, the lumbering, terrifying robot that accompanies the vinyl-clad and caped Devil Girl in question is any indication, we bet it’s delightfully bad.

[Cory] was able to faithfully reproduce Chani — lights, lumbering and all — for less than $50. This price tag does not include the vacuum former required to make the domed head, but hey, it’s an investment into future projects.

[Cory] started by dissecting an R/C stunt car from Harbor Freight and stringing the innards up to a 3D-printed walking mechanism that’s been modified to use gear-reduced motors so it walks more slowly. While Chani is stomping around on TPU treads, the LEDs from the R/C car’s headlights shine inside of its dome. Chani’s boxy body is a big paper sculpture that looks spot-on to us when compared to the movie’s trailer.

We love the way that Chani walks — it sort of dips and glides along in a forward-facing Moonwalk fashion. As you can see in the video below, [Cory] totally nailed the robot’s gait, and it’s hilarious to watch Chani’s little coolant hose-looking arms dangle and shake as he makes his slow and menacing way across the table. Stick around for some scary nighttime footage of Chani against a thunderstorm.

Want your robots to move more like movie robots? All you gotta do is use the right tools.

Continue reading “DIY B-Movie Robot Is A-OK”

Cassette Lamp Is A Throwback To The Pencil-Winding Glory Days

The audio cassette was the first music format that truly championed portability. It was robust, compact, and let people take music on the go to soundtrack their very lives. It was later supplanted by the higher-quality CD and then further digital technologies, but the format remains a nostalgic highlight for many. It also inspired this excellent lamp build from [Fab].

The lamp consists of 8 clear cassettes assembled into a rough cube-like shape on a 3D printed frame. The cassettes are edge-lit from below by a set of WS2812B LEDs, letting them glow in full-color splendour. The real magic of the lamp is the interface, however. A pencil can be inserted to turn the tape reels, just like rewinding a real cassette. However, in this case, they’re attached to a pair of rotary encoders, which are used to vary the color of the LEDs. As a bonus, the entire lamp runs off a Wemos D1, making it possible to update the lamp remotely over the Internet.

It’s a stylish build that would make an excellent conversation piece in any hip maker’s loungeroom. It’s a great nod to the creator of the compact cassette, [Lou Ottens], who passed away earlier this month. Video after the break.

Continue reading “Cassette Lamp Is A Throwback To The Pencil-Winding Glory Days”

Running 57 Threads At Once On The Arduino Uno

When one thinks of the Arduino Uno, one thinks of a capable 8-bit microcontroller platform that nonetheless doesn’t set the world alight with its performance. Unlike more modern parts like the ESP32, it has just a single core and no real multitasking abilities. But what if one wanted to run many threads on an Uno all at once? [Adam] whipped up some code to do just that.

Threads are useful for when you have multiple jobs that need to be done at the same time without interfering with each other. The magic of [Adam]’s ThreadHandler library is that it’s designed to run many threads and do so in real time, with priority management as well. On the Arduino Uno, certainly no speed demon, it can run up to 57 threads concurrently at 6ms intervals with a minumum timing error of 556 µs and a maximum of 952 µs. With a more reasonable number of 7 threads, the minimum error drops to just 120 µs.  Each thread comes with an estimated overhead of 1.3% CPU load and 26 bytes of RAM usage.

While we struggle to think of what we could do with more than a handful of threads on an Arduino Uno, we’re sure you might have some ideas – sound off in the comments. ThreadHandler is available for your perusal here, and runs on SAMD21 boards as well as any AVR-based boards that are compatible with TimerOne. We’ve seen other work in the same space before, such as ChibiOS for the Arduino platform. Video after the break.

Continue reading “Running 57 Threads At Once On The Arduino Uno”

Science Officer…Scan For Elephants!

If you watch many espionage or terrorism movies set in the present day, there’s usually a scene where some government employee enhances a satellite image to show a clear picture of the main villain’s face. Do modern spy satellites have that kind of resolution? We don’t know, and if we did we couldn’t tell you anyway. But we do know that even with unclassified resolution, scientists are using satellite imagery and machine learning to count things like elephant populations.

When you think about it, it is a hard problem to count wildlife populations in their habitat. First, if you go in person you disturb the target animals. Even a drone is probably going to upset timid wildlife. Then there is the problem with trying to cover a large area and figuring out if the elephant you see today is the same one as one you saw yesterday. If you guess wrong you will either undercount or overcount.

The Oxford scientists counting elephants used the Worldview-3 satellite. It collects up to 680,000 square kilometers every day. You aren’t disturbing any of the observed creatures, and since each shot covers a huge swath of territory, your problem of double counting all but vanishes.

Continue reading “Science Officer…Scan For Elephants!”