A Pi Pico Oscilloscope

At the budget end of the oscilloscope range lie the so-called pocket ‘scopes. About the size of a deck of cards, they combine a microcontroller and an LCD screen to make an instrument with a bandwidth in the tens of kilohertz and a not-too-sparkling performance. They’re something of a toy, but then again, if all that’s needed is a simple ‘scope for audio frequencies, they make a passable choice in a small package. Now [jgpeiro] has made one which is light years ahead of the toy kits, using a Raspberry Pi Pico, a 100 MHz ADC, and an effort to design a better input circuit.

At its simplest this could be a straightforward op-amp and ADC circuit feeding the Pico, but instead it has multiple stages carefully designed to offer the full bandwidth, and with gain, offset, and trigger settings being set by a series of DAC chips under software control. This and the decent bandwidth make this a much more viable oscilloscope, and one we’d like to see further developed.

By comparison, we took a look at the best of the competition a few years ago.

A Pi Pico plugged into a breadboard, with an I2C OLED display connected to it

Need An USB-I2C Adapter? Use Your Pico!

Given its abundance and simplicity, the RP2040 has no doubt become a favourite for USB peripheral building – in particular, USB-connected tools for electronics experiments. Today, we see one more addition to our Pico-based tool arsenal – a USB-I2C adapter firmware for RP2040 by [Renze Nicolai]. This is a reimplementation of the ATTiny-based I2C-Tiny-USB project and complies to the same protocol – thus, it’s compatible with the i2c-tiny-usb driver that’s been in the Linux kernel for ages. Just drag&drop the .uf2, run a script on your Linux system, and you will get a /dev/i2c-X device you can work with from userspace code, or attach other kernel drivers to.

The software will work with any RP2040 devboard – just connect your I2C devices to the defined pins and you’ll have them show up in i2cdetect output on your Linux workstation. As a demo, [Renze] has written a userspace Python driver for one of these SSD1306 128×64 OLEDs, and gives us a commandline that has the driver accept output of an ffmpeg command capturing your main display’s contents, duplicating your screen on the OLED – in a similar fashion that we’ve seen with the “HDMI” I2C-driven display a few months back. Everything you might need is available on the GitHub page, including usage instructions and examples, and the few scripts you can use if you want to add an udev rule or change the I2C clock frequency.

Just to name a few purposes, you can use a Pi Pico as a tool for SWD, JTAG, CAN, a logic analyser with both digital and analog channels, or even as a small EMP-driven chip glitching tool. The now-omnipresent $3 Pi Pico boards, it seems, are a serious contender to fondly remembered hacker tools of the past, such as the legendary BusPirate.

Continue reading “Need An USB-I2C Adapter? Use Your Pico!”

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”

A left-hand side unit of a split keyboard. The keys are black with RGB lighting and the key legends are displayed on small OLED screens in each key.

Poly Keyboard Has Screens In Every Key

Aspiring polyglots can be stymied by differing keyboard layouts and character sets when switching between languages. [Thomas Pollak]’s Poly Keyboard circumvents this problem by putting a screen in every key of the keyboard.

In his extensive build logs, [Pollak] details the different challenges he’s faced while bringing this amazing keyboard to life. For example, the OLED screens need glyph rendering to handle the legends on the keys. Since the goal is true universal language support, he used the Adafruit-GFX Library as a beginning and was able to extend support to Japanese, Korean, and Arabic so far in his custom fork of QMK.

The attention to detail on this build is really impressive. Beside the dedication to full glyph support, [Pollak] has measured the amount of extra force the flex cables from the OLEDs add to the actuation of the keyswitches. For the Gateron yellow switch he tested, the difference was about 62.2 g versus the initial 49.7 g.

In case you’re thinking you’ve seen other screen keyboard projects, [Pollak] includes a roundup of similar projects in his logs as well. This isn’t the first keyboard we’ve seen here at Hackaday with an OLED on top of a keyswitch, although [Voidstar Lab]’s MiRage only has three screen keys that were removed in a later iteration. If you’d like a more conventional fixed display in your keyboard, check out [Peng Zhihui]’s modular board with an e-ink display and haptic feedback knob.

Continue reading “Poly Keyboard Has Screens In Every Key”

Two e-readers side to side. On the left, you can see the frontal view, showing text on the e-ink screen. On the right, you can see the backside with a semi-transparent 3D-printed cover over it, and two AAA batteries inside a holder in the center.

Open Book Abridged: OSHW E-Reader Now Simplified, Pico-Driven

If you ever looked for open-source e-readers, you’ve no doubt seen [Joey Castillo]’s Open Book reader, but you might not yet have seen the Abridged version he’s building around a Raspberry Pi Pico.

The Open Book project pairs a 4.2″ E-Ink screen with microprocessors we all know and love, building a hacker-friendly e-reader platform. Two years ago, this project won first place in our Adafruit Feather contest — the Feather footprint making the Open Book compatible with a wide range of MCUs, giving hackers choice on which CPU their hackable e-reader would run. Now, it’s time for a RP2040-based reboot.

three PCBs being shown - one soldered-together version with a Pico on it, and two upopulated PCBs, showing front and back, on the populated PCB, you can see the Raspberry Pi Pico and other components soldered on. On the unpopulated PCBs, you can see there's a lot of text helping you understand and assemble this e-reader.This project is designed so that you can assemble it on your own after sourcing parts and PCBs. To help you in the process, the PCB itself resembles a book page – on the silkscreen, there is explanations of what each component is for, as well as information that would be useful for you while hacking on it, conveying the hardware backstory to the hacker about to dive into assembly with a soldering iron in hand. There’s simple but quite functional software to accompany this hardware, too – and, as fully open-source devices go, any missing features can be added.

Joey has recorded a 30-minute video of the Pi Pico version for us, assembling and testing the newly ordered boards, then showing the software successfully booting and operational. The Pi Pico-based revision has been greatly simplified, with a number of self-assembly aspects improved compared to previous versions – the whole process really does take less than half an hour, and he gets it done with a pretty basic soldering iron, too!

If you’re looking for updates on this revision as development goes on, following [Joey] on Twitter is your best bet. He’s no stranger to making devices around us more free and then sharing the secret sauce with all of us! During the 2021 Remoticon he showed off a drop-in replacement mainboard for the Casio F-91W wristwatch, and told us all about reverse-engineering its controller-less segment LCD — worth a listen for any hacker who’s ever wanted to bend these LCDs to their will.

Continue reading “Open Book Abridged: OSHW E-Reader Now Simplified, Pico-Driven”

Card's author typing on the IBM PC110's keyboard, with the Pico W-based card plugged into the PCMCIA slot on the left. PC110's screen shows successful ping 8.8.8.8.8.

Pi Pico W Does PCMCIA, Gets This IBM PC110 Online

Bringing modern connectivity to retro computers is an endearing field- with the simplicity of last-century hardware and software being a double-edged sword, often, you bring a powerful and tiny computer of modern age to help its great-grandparent interface with networks of today. [yyzkevin] shows us a PCMCIA WiFi card built using a Pi Pico W, talking PCI ISA. This card brings modern-day WiFi connectivity to his IBM PC110, without requiring a separate router set up for outdated standards that the typical PCMCIA WiFi cards are limited by.

The RP2040 is made to talk PCI ISA using, of course, the PIO engine. A CPLD helps with PCI ISA address decoding, some multiplexing, and level shifting between RP2040’s 3.3V and the PCI 5 V levels. The RP2040 software emulates a NE2000 network card, which means driver support is guaranteed on most OSes of old times, and the software integration seems seamless. The card already works for getting the PC110 online, and [yyzkevin] says he’d like to improve on it – shrink the design so that it resembles a typical PCMCIA WiFi card, tie some useful function into the Pico’s USB port, and perhaps integrate his PCMCIA SoundBlaster project into the whole package while at it.

This is a delightful project in how it achieves its goal, and a pleasant surprise for everyone who’s been observing RP2040’s PIO engine conquer interfaces typically unreachable for run-of-the-mill microcontrollers. We’ve seen Ethernet, CAN and DVI, along many others, and there’s undoubtedly more to come.

We thank [Misel] and [Arti] for sharing this with us!

Pretty Pico Macropad Eases Transition Back To Office

[Thomas “Mel” Maillioux] is no stranger to the custom mechanical keyboard game — and faced with having to return to the office, they decided to whip up a sweet little macropad to both commemorate the occasion and make work a bit easier.

This cotton candy-colored block of beauty was designed to pay homage to [Mel]’s favorite joystick, the TRS-80 self-centering number with the single red, square button, and it looks fantastic. They started this journey by studying the key legends on their laptop to determine which macros might serve them best, based on which legends were the most worn.

Fortunately, all the macros they wanted to use — lock the workstation, save the current, active file, minimize/restore all windows, snap windows to the right or left, and volume control — are all macro’d already within Windows, so that made things rather easy.

Hardware-wise, it doesn’t get much easier than a Raspberry Pi Pico, some mechanical switches, an old USB cable, and donor CAT5 pairs so it looks pretty inside and out. Plus, the handy rotary encoder volume knob will mute and un-mute when pressed. We think the snap-fit enclosure looks great, and it needs no supports to boot. If you want to make your own, be sure to check out the repo.

Okay, we lied: macro pad making does get easier, provided you have access to a 3D-printer.

Via MKKC Discord