Posts with «arduino hacks» label

[Emily]’s Eerie Educational Electric Eyeball Entertains

Like many of us, [Emily’s Electric Oddities] has had a lot of time for projects over the past year or so, including one that had been kicking around since late 2018. It all started at the Hackaday Superconference, when [Emily] encountered the Adafruit Hallowing board in the swag bag. Since that time, [Emily] has wanted to display the example code eyeball movement on a CRT, but didn’t really know how to go about it. Spoiler alert: it works now.

See? It’s educational.

Eventually, [Emily] learned about the TV out library for Arduino and got everything working properly — the eyeball would move around with the joystick, blink when the button is pressed, and the pupil would respond visually to changes in ambient light. The only problem was that the animation moved at a lousy four frames per second. Well, until she got Hackaday’s own [Roger Cheng] involved.

[Roger] was able to streamline the code to align with [Emily]’s dreams, and then it was on to our favorite part of this build — the cabinet design. Since the TV out library is limited to black and white output without shades of gray, Emily took design cues from the late 70s/early 80s, particularly the yellow and wood of the classic PONG cabinet. We love it!

Is Your Pet Eye the worst video game ever, as [Emily] proclaims it to be? Not a chance, and we’re pretty sure that the title still rests with Desert Bus, anyway. Even though the game only lasts until the eye gets tired and goes to sleep, it’s way more fun than Your Pet Rock. Don’t miss the infomercial/explanation/demonstration video after the break. If one video is just not enough, learn more about [Emily’s] philosophy of building weird projects from the Supercon talk she presented. It’s also worth mentioning that this one fits right into the Reinvented Retro contest.

Why are eyeballs so compelling? We can’t say for sure, but boy, this eyeball web cam sure is disconcerting.

Thanks for the tip, [Jake_of_All_Trades]!

Hack a Day 31 May 21:01

Making Minty Fresh Music With Markov Chains: The After Eight Step Sequencer

Step sequencers are fantastic instruments, but they can be a little, well, repetitive. At it’s core, the step sequencer is a pretty simple device: it loops through a series of notes or phrases that are, well, sequentially ordered into steps. The operator can change the steps while the sequencer is looping, but it generally has a repetitive feel, as the musician isn’t likely to erase all of the steps and enter in an entirely new set between phrases.

Enter our old friend machine learning. If we introduce a certain variability on each step of the loop, the instrument can help the musician out a bit here, making the final product a bit more interesting. Such an instrument is exactly what [Charis Cat] set out to make when she created the After Eight Step Sequencer.

The After Eight is an eight-step sequencer that allows the artist to set each note with a series of potentiometers (which are, of course, housed in an After Eight mint tin). The potentiometers are read by an Arduino, which passes MIDI information to a computer running the popular music-oriented visual programming language Max MSP. The software uses a series of Markov Chains to augment the musician’s inputted series of notes, effectively working with the artist to create music. The result is a fantastic piece of music that’s different every time it’s performed. Make sure to check out the video at the end for a fantastic overview of the project (and to hear the After Eight in action, of course)!

[Charis Cat]’s wonderful creation reminds us of some the work [Sara Adkins] has done, blending human performance with complex algorithms. It’s exactly the kind of thing we love to see at Hackaday- the fusion of a musician’s artistic intent with the stochastic unpredictability of a machine learning system to produce something unique.

Thanks to [Chris] for the tip!

Rodriguez — IV Curve Tracer on the Cheap

In response to an online discussion on the Electrical Engineering Stack Exchange, [Joseph Eoff] decided to prove his point by slapping together a bare-bones IV curve tracer using an Arduino Nano and a handful of passives. But he continued to tinker with the circuit, seeing just how much improvement was possible out of this simple setup. He squeezes a bit of extra resolution out of the PWM DAC circuit by using the Timer1 library to obtain 1024 instead of 256 steps. For reading voltages, he implements oversampling (and in some cases oversampling again) to eke out a few extra bits of resolution from the 10-bit ADC of the Nano. The whole thing is controlled by a Python / Qt script to generate the desired plots.

While it works and gives him the IV curves, this simplicity comes at a price. It’s slow — [Joseph] reports that it takes several minutes to trace out five different values of base current on a transistor. It was this lack of speed that inspired him to name the project after cartoon character Speedy Gonzales’s cousin,  Slowpoke Rodriguez, AKA “the slowest mouse in all of Mexico”. In addition to being painstakingly slow, the tracer is limited to 5 volts and currents under 5 milliamps.

[Joseph] documents the whole design and build process over on his blog, and has made the source code available on GitHub should you want to try this yourself. We covered another interesting IV curve tracer build on cardboard ten years ago, but that one is much bigger than the Rodriguez.

Go Ape with a Banana Macropad

The super fun thing about macro pads is that they’re inherently ultra-personalized, so why not have fun with them? This appealing little keeb may have been a joke originally, but [dapperrogue] makes a valid point among a bunch of banana-related puns on the project page — the shape makes it quite the ergonomic little input device.

Inside this open-source banana is that perennial favorite for macro pads, the Arduino Pro Micro, and eight switches that are wired up directly to input pins. We’re not sure what flavor of Cherry those switches are, hopefully brown or green, but we suddenly wish Cherry made yellow switches. If you want to build your own, the STLs and code are available, and we know for a fact that other switch purveyors do in fact make yellow-stemmed switches.

Contrary to what the BOM says, we believe the sticker is mandatory because it just makes the build — we imagine there would be fewer double takes without it. Hopefully this fosters future fun keyboard builds from the community, and we can’t wait to sink our teeth into the split version!

There are a bunch of ways to make a macropad, including printing everything but the microcontroller.

Via r/mk and KBD

Realistic Mission Control Box is a Blast for All Ages

A lot of electronic busy boxes that are built for children are simply that — a mess of meaningless knobs and switches that don’t do much beyond actuating back and forth (which, let’s be honest, is still pretty fun to do). But this Mission Control Center by [gcall1979] knocks them all out of orbit. The simulation runs through a complete mission, including a 10-minute countdown with pre-flight system checks, 8.5 minutes of powered flight to get out of the atmosphere that includes another four tasks, and 90 minutes to orbit the Earth while passing through nine tracking stations across the world map.

That’s a lot time to keep anyone’s attention, but fortunately [gcall1979] included a simulation speed knob that can make everything go up to 15 times faster than real-time. This knob can be twiddled at any time, in case you want to savor the countdown but get into space faster, or you don’t have 90 minutes to watch the world map light up.

The main brain of this well-built box is an Arduino Mega, which controls everything but the launch systems’ mainframe computer — this is represented by bank of active LEDs that blink along with the voice in the sound clips and runs on an Arduino Uno and a couple of shift registers. To keep things relatively simple, [gcall1979] used an Adafruit sound board for the clips.

We love everything about this build, especially the attention to detail — the more important pre-flight tasks are given covered toggle switches, and there’s a Shuttle diagram that lights up as each of these are completed. And what Shuttle launch simulator would be complete without mushroom buttons for launch and abort? Grab your victory cigar and check out the demo video after the break.

Is your child too young to be launching the Shuttle? Here’s an equally cool busy box with toddler brains in mind.

Piggy Bank Slot Machine Puts a Spin on Saving

Saving money is inherently no fun until the time comes that you get to spend it on something awesome. Wouldn’t you be more likely to drop your coins into a piggy bank if there was a chance for an immediate payout that might exceed the amount you put in? We know we would. And the best part is, if you put such a piggy bank slot machine out in the open where your friends and neighbors can play with it, you’ll probably make even more money. As they say, the house always wins.

Drop a coin in the slot and it passes through a pair of wires that act as a simple switch to start the reels spinning. Inside is an Arduino Uno and a giant printed screw feeder that’s driven by a small stepper motor and a pair of printed gears. The reels have been modernized and the display is made of four individual LED matrices that appear as a single unit thanks to some smoky adhesive film.

This beautiful little machine took a solid week of 3D printing, which includes 32 hours wasted on a huge piece that failed twice. [Max 3D Design] tried rotating the model 180° in the slicer and thankfully, that solved the problem. Then it was on to countless hours of sanding, smoothing with body filler, priming, and painting to make it look fantastic.

If you want to make your own, all the files are up on Thingiverse. The code isn’t shown, but we know for a fact that Arduino slot machine code is out there already. Check out the build and demo video after the break.

As much as we like this build’s simplicity, it would be more slot machine-like if there was a handle to pull. Turns out you can print those, too.

Thanks for the tip, [zwapz]!

Auto Strummer Can Plectrum the Whole Flat-Strumming Spectrum

Playing the guitar requires speed, strength, and dexterity in both hands. Depending on your mobility level, rocking out with your axe might be impossible unless you could somehow hold down the strings and have a robot do the strumming for you.

[Jacob Stambaugh]’s Auto Strummer uses six lighted buttons to tell the hidden internal pick which string(s) to strum, which it does with the help of an Arduino Pro Mini and a stepper motor. If two or more buttons are pressed, all the strings between the outermost pair selected will be strummed. That little golden knob near the top is a pot that controls the strumming tempo.

[Jacob]’s impressive 3D-printed enclosure attaches to the guitar with a pair of spring-loaded clamps that grasp the edge of the sound hole. But don’t fret — there’s plenty of foam padding under every point that touches the soundboard.

We were worried that the enclosure would block or muffle the sound, even though it sits about an inch above the hole. But as you can hear in the video after the break, that doesn’t seem to be the case — it sounds fantastic.

Never touched a real guitar, but love to play Guitar Hero? There’s a robot for that, too.

ECG Project With All the Messy Safety Details

We’ve seen a number of heart rate monitoring projects on Hackaday, but [Peter’s] electrocardiography (ECG) Instructable really caught out attention.

If you’ve followed Hackaday for any period of time, you’re probably already somewhat familiar with the hardware needed to record the ECG. First, you need a high input impedance instrumentation amplifier to pick up the millivolt signal from electrical leads carefully placed on the willing subject’s body. To accomplish this, he used an AD8232 single-lead ECG module (we’ve actually seen this part used to make a soundcard-based ECG). This chip has a built-in instrumentation amplifier as well as an optional secondary amplifier for additional gain and low-pass filtering. The ECG signal is riddled with noise from mains that can be partially attenuated with a simple low-pass filter. Then, [Peter] uses an Arduino Nano to sample the output of the AD8232, implement a digital notch filter for added mains noise reduction, and display the output on a 2.8″ TFT display.

Other than the circuit itself, two things about his project really caught our attention. [Peter] walks the reader through all the different safety considerations for a commercial ECG device and applies these principles to his simple DIY setup to ensure his own safety. As [Peter] put it, professional medical electronics should follow IEC 60601. It’s a pretty bulky document, but the main tenets quoted from [Peter’s] write-up are:

  1. limiting how much current can pass through the patient
  2. how much current can I pass through the patient?
  3. what electrical isolation is required?
  4. what happens if a “component” fails?
  5. how much electromagnetic interference can I produce?
  6. what about a defibrillator?

[Peter] mentions that his circuit itself does not fully conform to the standard (though he makes some honest attempts), but lays out a crude plan for doing so. These include using high-valued input resistors for the connections to the electrodes and also adding a few protection diodes to the electrode inputs so that the device can withstand a defibrillator. And of course, two simple strategies you always want to follow are using battery power and placing the device in a properly shielded enclosure.

[Peter] also does a great job breaking down the electrophysiology of the heart and relates it to terms maybe a bit more familiar to non-medical professionals. Understanding the human heart might be a little less intimidating if we relate the heart to a simple voltage source like a battery or maybe even a function generator. You can imagine the ions in our cells as charger carriers that generate electrical potential energy and nerve fibers as electrical wires along which electrical pulses travel through the body.

Honestly, [Peter] has a wealth of information and tools presented in his project that are sure to help you in your next build. You might also find his ECG simulator code really handy and his low-memory display driver code helpful as well. Cool project, [Peter]!

Measuring ECG is something that is near and dear to my heart (sorry, couldn’t resist). Two of my own projects that were featured on Hackaday before I became a writer here include a biomedical sensor suite in Arduino shield form factor, and a simple ECG built around an AD623 instrumentation amplifier.

An Arduino With A Floppy Drive

For many of us the passing of the floppy disk is unlamented, but there remains a corps of experimenters for whom the classic removable storage format still holds some fascination. The interface for a floppy drive might have required some complexity back in the days of 8-bit microcomputers, but even for today’s less accomplished microcontrollers it’s a surprisingly straightforward hardware prospect. [David Hansel] shows us this in style, with a floppy interface, software library, and even a rudimentary DOS, for the humble Arduino Uno.

The library provides functions to allow low level work with floppy disks, to read them sector by sector. In addition it incorporates the FatFS library for MS-DOS FAT file-level access, and finally the ArduDOS environment which allows browsing of files on a floppy. The pictures show a 3.5″ drive, but it also supports 5.25″ units and both DD and HD drives. We can see that it will be extremely useful to anyone working with retrocomputer software who is trying to retrieve old disks, and we look forward to seeing it incorporated in some retrocomputer projects.

Of course, Arduino owners needn’t have all the fun when it comes to floppy disks, the Raspberry Pi gets a look-in too.

Ooohhh, That Smell: Arduino Monitors Air Quality

According to [Dr. Tom Lehrer’s] song Pollution, “Wear a gas mask and a veil. Then you can breathe, long as you don’t inhale!” While the air quality in most of the world hasn’t gotten that bad, there is a lot of concern about long-term exposure to particulates in the air causing health problems. [Ashish Choudhary] married an Arduino with a display and a pollution sensor to give readings of the PM2.5 and PM10 levels in the air.

The sensor uses a laser diode and a photodiode to detect and count particles, while a fan moves air through the system. If you aren’t up on pollution metrics, PM2.5 is a count of very fine particles (under 2.5 microns) and PM10 is a count of particles for 10 microns. You can find a datasheet for the device online.

One thing to note is that the sensor has a finite lifespan. The datasheet claims “up to” 8,000 hours. If you ran the sensor continuously that’s not quite a year, so you might want to be judicious about how often you light up the device.

This isn’t the first time we’ve seen this particular sensor. If you want to find the exact source of a pollutant, consider this build.