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”

Take The Blue Pill And Go Forth

Forth has a long history of being a popular hacker language. It is simple to bootstrap. It is expressive. It can be a very powerful system. [jephthal] took the excellent Mecrisp Forth and put it on the very inexpensive STM32 “blue pill” board to create a development system that cost about $2. You can see the video below.

If you have thirty minutes, you can see just how easy it is to duplicate his feat. The blue pill board has to be programmed once using an STM32 programmer. After that, you can use most standard Forth words and also use some that can manipulate the low-level microcontroller resources.

Continue reading “Take The Blue Pill And Go Forth”