Posts | Comments

Planet Arduino

Archive for the ‘arduino hacks’ Category

We’ve all seen those chess computers that consist out of a physical playing field, and a built-in computer that would indicate where you should put its pieces while inputting the position of your pieces in some way. These systems are usually found in a dusty cardboard box in a back room’s closet, as playing like this is fairly cumbersome, and a lot depends on the built-in chess computer.

This take by [andrei.erdei] on this decades-old concept involves an ATmega328p-based Arduino Pro Mini board, a nice wooden frame, and 4 WS2812-based 65×65 mm RGB 8×8 LED matrices, as well as some TTP223 touch sensors that allow one to control the on-board cursor. This is the sole form of input: using the UP and RIGHT buttons to select the piece to move, confirm with OK, then move to the new position. The chess program will then calculate its next position and indicate it on the LED matrix.

Using physical chess pieces isn’t required either: each 4×4 grid uses a special pattern that indicates the piece that occupies it.  This makes it highly portable, but perhaps not as fun as using physical pieces. It also kills the sheer joy of building up that collection of enemy pieces when you’ve hit that winning streak. You can look at the embedded gameplay video after the break and judge for yourself.

At the core of the chess program is [H.G. Muller]’s micro-Max project. Originally ported to the Arduino Uno, this program outputs the game to the serial port. After tweaking it to use the LED matrix instead, [andrei.erdei] was then faced with the lack of memory on the board for the most common LED libraries. In the end, the FAB_LED library managed to perform the task with less memory, allowing it and the rest of the program to fit comfortably into the glorious 2 kB of SRAM that the ATmega328p provides.

Classic 8-bit chess engines are marvels of software engineering. Ever wonder how they stack up against modern chess software? Check out this article!

Over the last several months, [Aaron Christophel] has been working on creating a custom firmware for cheap fitness trackers. His current target is the “D6 Tracker” from a company called MPOW, which can be had for as little as $7 USD. The ultimate goal is to make it so anyone will be able to write their own custom firmware for this gadget using the Arduino IDE, and with the release of his new Android application that allows wirelessly flashing the device’s firmware, it seems like he’s very close to realizing that dream.

Previously, [Aaron] had to crack open the trackers and physically connect a programmer to update the firmware on the NRF52832-based devices. That might not be a big deal for the accomplished hardware hacker, but it’s a bit of a hard sell for somebody who just wants to see their own Arduino code running on it. But with this new tool, he’s made it so you can easily switch back and forth between custom and original firmware on the D6 without even having to take it off your wrist.

After the break, you can see the video that [Aaron] has put together which talks about the process of flashing a new firmware image. It’s all very straightforward: you simply pick the device from the list of detected BLE devices, the application puts the tracker into bootloader mode, and then you select the DFU file you want to flash.

There are a couple of ready-made firmwares you can put on the D6 right now, but where’s the fun in that? [Aaron] has put together a customized version of the Arduino IDE that provides everything you need to start writing and flashing your own firmware. If you’ve ever dreamed about creating a wearable device that works exactly the way you want, it’s hard to imagine a cheaper or easier way to get in on the action.

When we last heard from [Aaron] earlier this year, he was working on the IWOWN I6HRC tracker. But it looks like the availability of those devices has since dried up. So if you’re going to try your hand at hacking the MPOW D6, it might be wise to buy a few now while they’re still cheap and easy to find.

[Matthew Peverill] is a busy PhD student who loves to make time for a little Kerbal Space Program. He was tired of using such pedestrian controls as a keyboard and mouse for such important work, and wanted something a little more like they have down in Houston.

For this project, he’s focusing on the inputs more than anything else. The intent is not to play solely from this control panel, but to strike a balance between fun inputs and accurate control without screwing up favorite game play modes. It’s based on an Arduino Due, and uses some custom I²C multiplexer boards to wrangle all the various inputs.

We love the look of this panel, especially the appropriately Futura-fonted labels and all the toggle switches. Matthew took inspiration and guidance for this project from a couple of sources, so he’s definitely following in the Hackaday spirit of standing on the shoulders of giants. He’s moved through two prototypes and is working out the bugs before making the next one. The final version will be made of backlit transparent acrylic, and you know we can’t wait to see that.

What, you don’t have access to a laser cutter? Just build a control panel into an old Heathkit trainer or something.

Planning a game of Hacker Jeopardy at your next meetup? You’re going to want some proper buzzers to complete the experience, but why buy when you can build? [Flute Systems] has released an open source DIY game buzzer system based on the Arduino that will help instantly elevate your game. Certainly beats just yelling across the room.

The design has been made to be as easily replicable as possible: as long as you’ve got access to a 3D printer to run off the enclosures for the buzzers and base station, you’ll be able to follow along no problem. The rest of the project consists of modular components put together with jumper wires and scraps of perfboard. Granted it might not be the most elegant solution, but there’s something to be said for projects that beginners and old salts alike can complete.

Each buzzer consists of an Arduino Pro Mini 3.3 V, a nRF24L01, and of course a big pushbutton on the top. Each one is powered by a 110 mAh 3.7 V LiPo battery, though [Flute Systems] notes that the current version of the buzzer can’t actually recharge it. You’ll need to pull the pack out and charge it manually once and awhile. Thankfully, the printed enclosure features a very clever twist-lock mechanism which makes it easy to open anytime you need to poke at the internals.

The base station uses the 5 V version of the Pro Mini, with a Adafruit PowerBoost 1000C to step up the voltage from its 2,000 mAh battery. Of course it also has a nRF24L01, and also adds a buzzer and twin four digit seven-segment LED displays. [Flute Systems] says you can expect about five hours of runtime for the base station.

An especially nice feature of this setup is that the eight digit display allows the base station to show the number of each button in the order it was received. So rather than just getting a display of who buzzed in first, you can see the chronological order in which all eight buttons were pressed. Coming up with clever applications for this capability is left as an exercise for the reader.

Of course, there’s more than one way to build a buzzer. If you don’t like the way [Flute Systems] did it, then check out this version that uses 900 MHz radios and an OLED to show the results.

Every time we watch Minority Report we want to make wild hand gestures at our computer — most of them polite. [Rootsaid] wanted to do the same and discovered that the PAJ7620 is an easy way to read hand gestures. The little sensor has a serial interface and can recognize quite a bit of hand waving. To be precise, the device can read nine different motions: up, down, left, right, forward, backward, clockwise, anticlockwise, and wave.

There are plenty of libraries to read it for common platforms. If you have an Arduino that can act as a keyboard for a PC, the code almost writes itself. [Rootsaid] uses a specific library for the PAJ7620 and another — Nicohood — for sending media keys.

With those two libraries, it is very simple to write the code. You simply read a register from the sensor and determine which key to send using the Nicohood library. The serial communications is I2C and there’s a tiny optical sensor onboard along with an IR LED.

Of course, you could send other keys than media controls. We wouldn’t mind going back and forward on web pages with a gesture, for example.

We’ve seen gesture recognition with radar. We’ve also seen it with ultrasonics.


u

[Julien] is one of those cool dads who shows his love with time invested rather than money spent. His daughter plays the harp, and you would not believe the price of concert harps. Even the cheap ones are several thousand USD. So naturally, he decided he would build her a MIDI concert harp from the ground up.

This plucky work in progress uses a strain gauge and an AD620 amplifier on every string to detect the tension when plucked. These amplifiers are connected to Arduinos, with an Arduino every nine strings. The Arduinos send MIDI events via USB to a Raspberry Pi, which is running the open synth platform Zynthian along with Pianoteq.

The harp is strung with guitar strings painted with silver, because he wanted capacitive touch support as well. But he scrapped that plan due to speed and reliability issues. Strain past the break to check out a brief demo video.

[Julien] used strings because he wanted to anchor the harpist in tactility. But you’re right; many if not most MIDI harps use lasers.

Considering their hardware specification, graphing calculators surely feel like an anachronism in 2019. There are plenty of apps and other software available for that nowadays, and despite all preaching by our teachers, we actually do carry calculators with us every day. On the other hand, never underestimate the power of muscle memory when using physical knobs and buttons instead of touch screen or mouse input. [epostkastl] combined the best of both worlds and turned his broken HP-48 into a Bluetooth LE keyboard to get the real feel with its emulated counterpart.

Initially implemented as USB device, [epostkastl] opted for a wireless version this time, and connected an nRF52 based Adafruit Feather board to the HP-48’s conveniently exposed button matrix pins. For the software emulation side, he uses the Emu48, an open source HP calculator emulator for Windows and Android. The great thing about Emu84 is that it supports fully customizable mappings of regular keyboard events to the emulated buttons, so you can easily map, say, the cosine button to the [C] key. The rest is straight forward: scanning the button matrix detects button presses, maps them to a key event, and sends it as a BLE HID event to the receiving side running Emu84.

As this turns [epostkastl]’s HP-48 essentially into a regular wireless keyboard in a compact package — albeit with a layout that outshines every QWERTY vs Dvorak debate. It can of course also find alternative use cases, for examples as media center remote control, or a shortcut keyboard. After all, we’ve seen the latter one built as stomp boxes and from finger training devices before, so why not a calculator?

Toy pianos are fun to plink around on for a minute, but their small keyboards and even smaller sound make them musically uninteresting pretty quickly. [Måns Jonasson] found a way to jazz up a two-octave toy piano almost beyond recognition. All it took was thirty solenoids, a few Arduinos, a MIDI shield, and a lot of time and patience.

This particular piano’s keys use lever action to strike thin steel tines. These tines are spaced just wide enough for tiny 5V solenoids to fit over them. Once [Måns] got a single solenoid striking away via MIDI input, he began designing 3D printed holders to affix them to the soundboard.

Everything worked with all thirty solenoids in place, but the wiring was a bird’s nest of spaghetti until he upgraded to motor driver shields. Then he designed a new bracket to hold eight solenoids at once, with a channel for each pair of wires. Every eight solenoids, there’s an Arduino and a motor shield.

The resulting junior player piano sounds like someone playing wind chimes like a xylophone, or a tiny Caribbean steel drum. Check out the build video after the break.

Hate the sound of toy pianos, but dig the convenient form factor? Turn one into a synth.

[W8BH] attended a talk by another ham, [W8TEE] that showed a microcontroller sending and receiving Morse code. He decided to build his own, and documented his results in an 8 part tutorial. He’s using the Blue Pill board and the resulting device sends code with paddles, sends canned text, provides an LCD with a rotary knob menu interface, and even has an SD card for data storage.

All the code is on GitHub. If you are interested in Morse code or in learning how to write a pretty substantial application using the Blue Pill and the Arduino IDE (or any other similar processor), this is a great exposition that is also a practical tool.

[W8BH] takes good advantage of breakout boards with things such as the displays and jacks on them. Of course, you don’t absolutely have to use those, but it does make life easier. You can see [W8TEE’s] version posted in an online forum.

The parts of the tutorial all build on each other, so you start out simple and get deeper and deeper. The tutorials are PDF files, but they are well organized and easy to read.

We’ve done our tutorials and videos on the Blue Pill. If you don’t want to rely on the Arduino IDE, there are ways around that, too.

Blue Pill header pic: Popolon [CC BY-SA 4.0]

Getting an old traffic light and wiring it up to do its thing inside your house isn’t exactly a new trick; it’s so common that it wouldn’t normally pass muster for these hallowed pages. Even using one up to show the real-time status of your build or system resource utilization would be pushing it at this point. To get our attention, your traffic light is going to need to have a unique hook.

So how did [Ronald Diaz] manage to get his project to stand out from the rest? Interestingly enough, it’s nothing you can see. His traffic light doesn’t just look the part, it also sounds like the real thing. With far more effort and attention to detail than you’d probably expect, he’s made it so his Australian pedestrian traffic light correctly mimics the complex chirping of the original.

Working from a video of the traffic light on YouTube, [Ronald] was able to extract and isolate the tones he was after. Performing spectral analysis on the audio sample, he was able to figure out the frequency and durations of the eleven individual tones which make up the complete pattern. From the 973 Hz tone that only lasts 25 ms to the continuous 500 Hz “woodpecker”, every element of the sound was meticulously recreated in his Arduino code.

The Arduino Pro Mini used to control the traffic light is not only responsible for playing the tones through a piezo speaker, but as you might expect, for firing off the relays which ultimately control the red and green lamps. With everything carefully orchestrated, [Ronald] can now get that authentic Australian side-of-the-road experience without having to leave the comfort of his own home.

If you’d rather your in-home traffic light be more useful than realistic, we’ve got plenty of prior art for you to check out. This traffic light that tells you how the value of Bitcoin is trending is a great example. Or maybe this one that can tell you if the Internet is down.



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook