A Custom Keypad With Vision

A combination of cheap USB HID capable microcontrollers, the ability to buy individual mechanical keys online, and 3D printing has opened up a whole new world of purpose-built input devices. Occasionally these take the form of full keyboards, but more often than not they are small boards with six or so keys that are dedicated to specific tasks or occasionally a particular game or program. An easy and cheap project with tangible benefits to anyone who spends a decent amount of time sitting in front of the computer certainly sounds like a win to us.

But this build by [r0ckR2] takes the concept one step farther. Rather than just being a simple 3×3 keypad, his includes a small screen that shows the current assignments for each key. Not only does this look really cool on the desk (always important), but it also allows assigning multiple functions to each key. The screen enables the user to switch between different pages of key assignments, potentially allowing a different set of hot keys or macros for every piece of software they use.

The case is entirely 3D printed, as are the key caps. To keep things simple, [r0ckR2] didn’t bother to design a full enclosure, leaving all the electronics exposed on the back. Some might think it’s a little messy, but we appreciate the fact that it gives you easy access to the internals if you need to fix anything. Rubber feet were added to the bottom so it doesn’t slide around while in use, but otherwise the case is a pretty straightforward affair.

As for the electronics, [r0ckR2] went with an STM32 “Blue Pill” board, simply because it’s what he had on hand. The screen is a ST7735 1.44 inch SPI TFT, and the keys themselves are Cherry MX Red clones he got off of eBay. All in all, most of the gear came from his parts bins or else was only a couple bucks online.

If you’re looking for something a bit bigger, check out this gorgeous Arduino-powered version, or this far more utilitarian version. Both are almost entirely 3D printed, proving the technology is capable of more than making little boats.

[via /r/functionalprint]

Open Source Hardware Video Game Music Player

[Aidan Lawrence] likes classic synthesized video game music in the same way that other people “like” breathing and eating. He spent a good deal of 2017 working on a line of devices based on the Yamaha YM2612 used in the Sega Genesis to get his feet wet in the world of gaming synths, and is now ready to take the wraps off his latest and most refined creation.

One of his earlier attempts at a hardware VGM player.

The YM2151 Arcade Classic is an open source hardware player for Video Game Music (VGM) files. It uses no emulation, the files are played on the device’s YM2151 chip in the same way they would have been on a real arcade cabinet at the time of their release. Interestingly, as some arcade machines were exceedingly rare or even scrapped before release, [Aidan] believes that his player may be the first time some of these songs have ever been played (at least in public) on real hardware.

The YM2151 synthesizer is powered by a STM32 “Blue Pill” board, which was selected as much for its capabilities as it was its low cost. The STM32 loads the VGM files from an SD card, and puts track information for the currently playing song on the 128×32 OLED display. A few tactile switches under the screen allow for shuffling through the songs stored on the card, and a slide switch for mute rounds out the simplistic but functional user interface.

In the GitHub repository, [Aidan] has provided the source code, schematics, Bill of Materials, and KiCad-generated Gerber files; everything you need to create your own version of his player. After listening to it rock out for a few minutes in the video after the break, we’re tempted to take him up on that offer.

This player reminds us of a similar design, also using original hardware, that we covered last year. The logical next step for this project would be to flesh out the UI and put it into an enclosure like this SNES chiptune player.

Continue reading “Open Source Hardware Video Game Music Player”

BrewBuddy Is A Home Brewer’s Best Friend

Whether coffee, tea, or beer is your jam, brewing is a delicate pas de deux of time and temperature. Proper brewing of any of these beverages can elevate the experience from average to amazing. With this in mind, [Marcelo] created a time and temperature tool to dial in his beer-brewing process.

BrewBuddy is a complex application-specific timer with an integrated thermometer. It lets him program time and temperature profiles for both the mashing process and the boiling process and store up to 10 steps for each. BrewBuddy doesn’t control the brewing temperature, but it does unify temperature-taking and time-marking into one convenient device that can last about 20 hours on a single CR2032.

The system is based on an STM32 and an LMT86 analog temperature sensor which has been modified to sit inside a stainless steel tube. There are four directional buttons to navigate through intuitive menus to set the desired times and temperatures. As each step completes, the status LED lights up and BrewBuddy waits for confirmation via button push before moving on to the next step. If there’s a problem, the timer can be paused and resumed using the up/down buttons. [Marcelo] is working to perfect the case design, but he already has the board files and firmware up on GitHub. Open up a cold one and check out the demo videos after the break.

After boiling and cooling comes fermentation, and that requires careful monitoring of the sugar content. Here’s a tool for that.

Continue reading “BrewBuddy Is A Home Brewer’s Best Friend”

DS212 Oscilloscope Review: Open Source And Great For Hacking

We’ve seen plenty of oscilloscopes that look like repurposed cell phones. Usually, though, they only have one channel. The DS212, has two channels and a signal generator! [Marco] gives his review and a quick tear down in the video below.

The scope isn’t going to replace a big bench instrument, but for a portable scope with a rechargeable battery, it isn’t bad. The 1 MHz analog bandwidth combines with a 10 megasample per second front end and 8K of sample memory. The signal generator can produce basic waveforms up to 1 MHz. We were somewhat surprised the unit didn’t sport a touch screen, which is why you can see [Marco’s] fingers in the screenshot above. He seems to like the dual rotary encoder system the devices uses for navigation.

Where this really stands out is that it is open source for the the firmware running on the STM32 processor inside. We so rarely see this for commercially available bench tools and it makes this a fine hacking platform. It’s easy to imagine adding features like digital signals out and decoding digital data. It would be interesting to marry it with a WiFi chip and use it as a front end for another device over WiFi. Lots of possibilities. [Marco] shows that even though he’s not familiar with the STM32, he was able to add a custom waveform output to the device easily. This has the potential to be a custom troubleshooting platform for your builds. Lining up all of the sensing and signal generation settings for each specific type of test means you don’t need a guru to walk through the common failure modes of a product.

There are many small inexpensive scopes out there that might not match a big bench instrument but can still be plenty useful. [Jenny List] just reviewed one that comes in at around $21. And last year, we saw a sub-$100 scope that would net you just one channel scope. That’s progress!

An Awesome Open Mechanical Keyboard

Who doesn’t want a little added functionality to their  lives? Feeling a few shortcut keys would make working in Eagle a bit smoother, [dekuNukem] built his own programmable mechanical keypad: kbord.

It sports vibrant RGB LED backlight effects with different animations, 15 keys that execute scripts — anything from ctrl+c to backdoors — or simple keystrokes, up to 32 profiles, and a small OLED screen to keep track of which key does what!

kbord is using a STM32F072C8T6 microcontroller for its cost, speed, pins, and peripherals, Gateron RGB mechanical keys — but any clear key and keycaps with an opening for the kbord’s LEDs will do — on a light-diffusing switch plate, and SK6812 LEDs for a slick aesthetic.

Check out the timelapse video tour of his build process after the break! (Slightly NSFW, adolescent humor for a few seconds of the otherwise very cool video. Such is life.)

Continue reading “An Awesome Open Mechanical Keyboard”

Playing Mario On An Oscilliscope

Any display can be connected to a microcontroller and used as a display if you know the protocol to use and have enough power in your micro. Sometimes, an odd display is used just “because it’s there.” This seems to be the case for Reddit user [phckopper], who has used a STM32 and a PS2 joystick to play a version of a Mario game on an oscilloscope.

There’s not many technical details but [phckopper] lets us know that the rendering is done using the SPI on the STM, transferred via DMA, which is synchronized to two saw-tooth waves that are fed in to the X and Y axes of the oscilloscope.  The Z axis, which controls the brightness of the dot, is fed from the MOSI. By making the oscilloscope range all over the screen, similar to the way a CRT’s gun does, [] is able to draw sprites, rather than vector graphics. The display has a resolution of 400×400 and each sprite is 16×16. The input is from a PS2 joystick connected to [phckopper]’s PC, with the information communicated over UART using a simple protocol.

We don’t get to see much of the game in the video after the break, but it’s a pretty impressive job nonetheless, especially when you realize that [phckopper] did this project when he was just sixteen! There are a couple of other oscilloscope projects here at Hackaday, like this one, a great version of pong played on the ‘scope, or this one, showing off some great graphics.

Continue reading “Playing Mario On An Oscilliscope”

A Digital LCD Makeover For An Analogue CRT Spectrum Analyser

[Seb Holzapfel, VK2SEB] has a rather nice spectrum analyser, a Hewlett Packard 141T. It’s an entirely analogue instrument though, so it lacks some of the sophisticated features you might expect to see on its modern counterparts.

One feature the HP does have is a vertical deflection output that in effect allows the trace to be reproduced on an oscilloscope. [Seb] has taken that and applied it to an STM32F746 Discovery board with its associated LCD touchscreen to produce an interface for the HP that includes modern features such as trace normalisation and a waterfall view. Along the way he’s had to make a voltage level converter to render the HP’s scan output into a range acceptable for the ST board.

He goes into detail on his software for the project, which he is at pains to remind us is still very much a work in progress. He notes that the HP has a range of other outputs (on those “D” sockets that include co-axial connectors) that provide information about its band and scan settings, so there is ample possibility for further customisation.

If you are interested in this project then the code is all available via GitHub, otherwise you can watch his video below the break. He’s labelled it as “Part 1”, so we look forward to more on this project.

Continue reading “A Digital LCD Makeover For An Analogue CRT Spectrum Analyser”