Foot Pedal Ups Vim Productivity, Brings Ergonomic Benefits

Vim is the greatest or the worst text editor of all time, depending on the tribe you’re in. Either way, members of both camps can appreciate this build from [Chris Price], which uses a foot pedal to ease operations for the user.

The basic concept was to use a pedal to enable switching between normal and insert modes. In Vim’s predecessor, vi, switching modes was easy, with the ESC key located neatly by the Q on the keyboard of the ADM-3A terminal. On modern keyboards, though, it’s a pain, and so a foot pedal is a desirable solution. In the Vim world, it’s referred to as a “Vim clutch.”

The build used a cheap pedal switch sourced from eBay, into which a Raspberry Pi Pico was installed. The Pico was hooked up to the switch contacts, and programmed to act as a USB HID device. When the pedal is pressed down, the Pico sends an “i” keypress to enter Vim’s insert mode. Releasing the pedal has the Pico send a “ESC” keypress to return to normal mode.

Those that use Vim on a regular basis would likely appreciate the productivity improvements of such a device. Plus, there’s some ergonomic benefits to not having to strain one’s hand over to reach the ESC key. Of course, it’s an old-school solution, but there’s still something so compelling and next-level about having a foot pedal hooked up to one’s dev rig.

Open World 3D Game Runs On The RP2040 Microcontroller

The Raspberry Pi RP2040 is versatile and cheap, but it’s by no means known as the most powerful microcontroller on the world. Regardless, it is capable of great things, as demonstrated by [Bernhard Strobl], who built a 3D open world game engine that runs on that very platform.

The graphics are simple, but with a compelling low-poly style.

The game engine itself is built to run on the Pimoroni PicoSystem, which is essentially a handheld gaming platform built around the RP2040 chip. The engine takes advantage of the multi-core nature of the RP2040, using the second core as a dedicated rasterizer to keep frames pumping out.

The basic game [Bernhard] built in the engine features 50 NPC characters and 50 further zombies, all running at the same time. Specs are impressive, with the engine’s included game simulating a “world” of 120 x 120 meters in size. As a maximum limit, the engine can handle a 2.56 x 2.56 km world, thanks to the use of 8-bit integers for directional data. However, limited storage space would make it difficult to achieve such a large world in practice.

We don’t get to see much of the gameplay in the YouTube video, but the quality of the graphics is impressive for such a cheap microcontroller. It seems within the bounds of possibility that an actual open-world game could be practical on the PicoSystem if only enough storage were available. Video after the break.

Continue reading “Open World 3D Game Runs On The RP2040 Microcontroller”

An ortholinear keyboard with predominantly blank white keycaps. There are two red keycaps on the bottom outside corners. The center of the keyboard houses a large LCD in portrait orientation on a red PCB.

2022 Cyberdeck Contest: Keezyboost40 Is A Cyberdeck Masquerading As A Keyboard

There’s something to be said for über-powerful cyberdecks, but there’s also a certain appeal to less powerful decks squeezed into a tiny form factor. [Christian Lo] has designed a cyberdeck that looks like a simple ortholinear keyboard but is running a more flexible environment.

There are games and animations you can play on QMK, but [Lo] felt that a different framework would give him more flexibility to really stretch the limits of what this Raspberry Pi Pico-powered deck could do. He decided to go with a Rust-based firmware with the keyberon library and says, “it felt like I was in control of the firmware.” While the board is using Rust for now, [Lo] says he’s open to conversations about other firmware options to achieve his goals, like a virtual pet game for the board.

The PCB is described as “bog standard” with the possible exception of placing the Pi in a cutout on the board to keep things as low profile as possible. The trade-off comes in the form of reduced board rigidity and potentially increased strain on the connections to the microcontroller.

Looking for more cool cyberdecks? Check out the Winners of the 2022 Cyberdeck Contest or go see all the entries on the Contest Page.
Continue reading “2022 Cyberdeck Contest: Keezyboost40 Is A Cyberdeck Masquerading As A Keyboard”

Self-Hosted Pi Pico Development

Older readers and those with an interest in retrocomputing may remember the days when a computer might well have booted into a BASIC interpreter. It was simultaneously a general purpose device that could run any software it would load, and also a development environment. Not something that can be said for today’s development boards which typically require a host computer on which to write code. Have we lost something along the way? Perhaps an answer to that question can be found in [lurk101]’s self-hosted development environment for the Raspberry Pi Pico.

It presents itself as a shell, with a flash file system, a port of the vi editor, and a C compiler. We might think of vi as being more at home on a UNIX-derived system, but in this case it’s a port of the vi included in BusyBox. Meanwhile the compiler comes from amacc project.

Of course, this still requires a terminal of some type which in practice will mean a host computer. But the feat is nevertheless an interesting one, and we can see that it might not be impossible given the Pico’s surprising versatility to being some of the terminal features onto the chip itself.

It’s worth noting that this isn’t the first attempt we’ve seen to put a command line interface on a development board.

One Shot IR Helper Is A Great Beginner Project

Sometimes you need a little utility device to do a very simple job, and do it well.This one-shot IR helper from [Gregory Sanders] is just that. 

[Gregory] had a TV that didn’t support automatically turning on when the power was applied. This is frustrating when you like to leave devices switched hard off when not in use to save on standby energy draw. Thus, there needed to be a way to send the screen an on signal when his multi-monitor setup was powered on.

A simple circuit paired with a Pi Pico was pressed into service. The Pico flashes an IR LED, squirting out the requisite code to tell the TCL branded TV to switch on. [Gregory] figured out the codes by using an Arduino to read the output of the TV’s remote with an IR sensor. The hook here is the code is written in MicroPython, using IR libraries from [Peter Hinch].

Now, when [Gregory] powers up his rig, the IR sender will trigger the TV to switch on. It’s a little frustrating that the auto-on function wasn’t available in the factory, but regardless, now everything’s working as it should. If you want to do this in reverse, consider building a TV-B-Gone or a silencer for the boomboxes used by dancing grandmas!

Raspberry Pi Pico Replaces PlayStation Memory Card

It’s almost hard to believe these days, what with modern game consoles packing terabytes of internal storage, but there was a time when the totality of your gaming career would be stored on an external memory card that held just a few megabytes of save data. Of course, before that you had to write down a sequence of random letters and numbers to pick up where you left off, but that’s a story for another day.

While the memory card concept might be quaint to the modern gamer, its modular nature does provide the hacker with some interesting avenues to explore. For example, take a look at the very impressive PicoMemcard project from [Daniele Giuliani]. Hardware wise, it doesn’t get much simpler than this. You just take the PCB from a cheap (or dead) PlayStation memory card, and solder seven jumpers to the edge connector contacts so you can plug them into the Pico. Then you’ve just got to upload the firmware to the Pico, and you’re done. Continue reading “Raspberry Pi Pico Replaces PlayStation Memory Card”

DIY Keyboard Can’t Get Much Smaller

The PiPi Mherkin really, really can’t get much smaller. The diminutive keyboard design mounts directly to the Pi Pico responsible for driving it, has a similar footprint, and is only about 9 mm thick. It can’t get much smaller since it’s already about as small as the Pi Pico itself.

Running on the Pi Pico is the PRK firmware, a keyboard framework that makes the device appear as a USB peripheral, checking the “just works” box nicely. The buttons here look a little sunken, but the switches used are available in taller formats, so it’s just a matter of preference.

We have to admit the thing has a very clean look, but at such a small size we agree it is perhaps more of a compact macropad than an actual, functional keyboard. Still, it might find a place in the right project. Design files are online, if you’re interested.

If you like small, compact keyboards but would prefer normal-sized keys, check out the PiPi Mherkin’s big brother, the PiPi Gherkin which gets clever with dual-function tap/hold keys to provide full functionality from only 30 keys, with minimal hassle.

Keyboards are important, after all, and deserve serious attention, as our own [Kristina Panos] knows perfectly well.