Posts with «arduino hacks» label

Hackvent Calendar Will Open the Door and Get Your Kids Soldering

Who says it’s too early to get in the holiday spirit? We say it’s not. After all, people need time to get in the spirit before it comes and goes. And what better way to count down the days until Christmas than an electronic Advent calendar?

[Tom Goff]’s kids had some pretty cool ideas for building a decoration, like a musical, lighted sleigh complete with robotic Santa Claus. While that’s a little much to pull off for this year, they did salvage the music and lights part for their Hackvent calendar.

There are 24 small LEDs for December 1st through the 24th, and a big white star for December 25th. Each day, the kids just push the button and the day’s LED lights up. On the big day, all the small lights cascade off and the white one lights up, then it plays Jingle Bells through a sound playback module.

Each LED is connected directly to an input on an Arduino Mega. While there are several ways of lighting up 25 LEDs, this one is pretty kid-friendly. We think the coolest part of this build is that [Tom] and the kids did it old school, with nails hammered into the laser-cut plywood and used as connection terminals. Be sure to check it out in action after the break.

The more time you have, the more you can put into your Advent calendar build. Like chocolates, for instance.

Ham Radio Gets Brain Transplant

Old radios didn’t have much in the way of smarts. But as digital synthesis became more common, radios often had as much digital electronics in them as RF circuits. The problem is that digital electronics get better and better every year, so what looked like high-tech one year is quaint the next. [IMSAI Guy] had an Icom IC-245 and decided to replace the digital electronics inside with — among other things — an Arduino.

He spends a good bit of the first part of the video that you can see below explaining what the design needs to do. An Arduino Nano fits and he uses a few additional parts to get shift registers, a 0-1V digital to analog converter, and an interface to an OLED display.

Unless you have this exact radio, you probably won’t be able to directly apply this project. Still, it is great to look over someone’s shoulder while they design something like this, especially when they explain their reasoning as they go.

The PCB, of course, has to be exactly the same size as the board it replaces, including mounting holes and interface connectors. It looks like he got it right the first time which isn’t always easy. Does it work? We don’t know by the end of the first video. You’ll have to watch the next one (also below) where he actually populates the PCB and tests everything out.

Hack a Day 27 Nov 18:01

Bluetooth Record Player Puts a New Spin On Vinyl

You know, we were just discussing weird and/or obsolete audio formats in the writers’ dungeon the other day. (By the way, have you ever bought anything on DAT or MiniDisc?) While vinyl is hardly weird or (nowadays) obsolete, the fact that this Bluetooth record player by [JGJMatt] is so modern makes it all the more fantastic.

Not since the Audio-Technica Sound Burger, or Crosley’s semi-recent imitation, have we seen such a portable unit. But that’s not even the most notable part — this thing runs inversely to normal record players. Translation: the record stands still while the the player spins, and it sends the audio over Bluetooth to headphones or a speaker.

Inside this portable player is an Arduino Nano driving a 5 VDC motor with a worm gear box. There really isn’t too much more to this build — mostly power, a needle cartridge, and a Bluetooth audio transmitter. There’s a TTP223 touch module on the lid that allows [JGJMatt] to turn it off with the wave of a hand.

[JGJMatt] says this is a prototype/work-in-progress, and welcomes input from the community. Right now the drive system is good and the Bluetooth is stable and able, but the tone arm has some room for improvement — in tests, it only played a small section of the record and skidded and skittered across the innermost and outermost parts. Now, [JGJMatt] is trying two-part arm approach where the first bit extends and locks into position, and then a second arm extending from there and moves around freely.

Commercial record players can do more than just play records. If you’ve got an old one that isn’t even good enough for a thrift store copy of a Starship record, you could turn it into a pottery wheel or a guitar tremolo.

Arduino + Ham Radio = Texting

Over on the Spectrum web site, [Dale] — a relatively new ham radio operator — talks about his system for sending text messaging over VHF radios called HamMessenger. Of course, hams send messages all the time using a variety of protocols, but [Dale] wanted a self-contained and portable unit with a keyboard, screen, and a GPS receiver. So he built one. You can find his work on GitHub.

At the heart of the project is MicroAPRS, an Arduino firmware for packet radio. Instead of using a bigger computer, he decided to dedicate another Arduino to do everything but the modem function.

You can probably figure out the rest. A $10 GPS, a battery pack, a charge controller, and a few user interface parts like an OLED screen and a keyboard. In addition, there’s an SD card to store messages.

Of course, we couldn’t help but notice that our cell phone has a keyboard, screen, GPS, and storage. We might have been tempted to work out a way to connect the radio to it by Bluetooth. But we have to admit the little HamMessenger setup is cool-looking and probably lasts longer on a charge than our phone, too.

Binaural Hearing Modeled with an Arduino

You don’t have two ears by accident. [Stoppi] has a great post about this, along with a video you can see below. (The text is in German, but that’s what translation is for.) The point to having two ears is that you receive audio information from slightly different angles and distances in each ear and your amazing brain can deduce a lot of spatial information from that data.

For the Arduino demonstration, cheap microphone boards take the place of your ears. A servo motor points to the direction of sound. This would be a good gimmick for a Halloween prop or a noise-sensitive security camera.

Math-wise, if you know the speed of sound, the distance between the sensors, and a few other pieces of data, you wind up with a fairly simple trigonometry problem. In non-math terms, it is easy to get a feel for why this works. If the sound hits both microphones at once, it must be coming from straight ahead. If it hits the left microphone first, it must be closer to that microphone and vice versa. If the sound were right in line with both microphones but closer to the left, the time delay would be exactly due to the speed of sound over the distance between the sensors. If the time is less than that, the sound must be somewhere in between.

The microphone modules have both analog outputs and digital outputs. The digital output triggers if the sound level exceeds a limit set by a potentiometer. By using these modules, the circuit is trivial. Just an Arudino, the two modules, and the servo motor.

Now imagine that you wanted all this spatial detail to come through your headphones. Recording binaural audio is a thing. You can 3D print a virtual head if you are interested. We’ve seen projects for this several times.

Machine Learning Shushes Stressed Dogs

If there’s one demographic that has benefited from people being stuck at home during Covid lockdowns, it would be dogs. Having their humans around 24/7 meant more belly rubs, more table scraps, and more attention. Of course, for many dogs, especially those who found their homes during quarantine, this has led to attachment issues as their human counterparts have begin to return to work and school.

[Clairette] has had a particularly difficult time adapting to her friends leaving every day, but thankfully her human [Nathaniel Felleke] was able to come up with a clever solution. He trained a TinyML neural net to detect when she barked and used and Arduino to play a sound byte to sooth her. The sound bytes in question are recordings of [Nathaniel]’s mom either praising or scolding [Clairette], and as you can see from the video below, they seem to work quite well. To train the network, [Nathaniel] worked with several datasets to avoid overfitting, including one he created himself using actual recordings of barks and ambient sounds within his own house. He used Eon Tuner, a tool by Edge Impulse, to help find the best model to use and perform the training. He uploaded the trained network to an Arduino Nano 33 BLE Sense running Mbed OS, and a second Arduino handled playing sound bytes via an Adafruit Music Maker Featherwing.

While machine learning may sound like a bit of an extreme solution to curb your dog’s barking, it’s certainly innovative, and even appears to have been successful. Paired with this web-connected treat dispenser, you could keep a dog entertained for hours.

Low-Cost Computer Gesture Control with an I2C Sensor

Controlling your computer with a wave of the hand seems like something from science fiction, and for good reason. From Minority Report to Iron Man, we’ve seen plenty of famous actors controlling their high-tech computer systems by wildly gesticulating in the air. Meanwhile, we’re all stuck using keyboards and mice like a bunch of chumps.

But it doesn’t have to be that way. As [Norbert Zare] demonstrates in his latest project, you can actually achieve some fairly impressive gesture control on your computer using a $10 USD PAJ7620U2 sensor. Well not just the sensor, of course. You need some way to convert the output from the I2C-enabled sensor into something your computer will understand, which is where the microcontroller comes in.

Looking through the provided source code, you can see just how easy it is to talk to the PAJ7620U2. With nothing more exotic than a switch case statement, [Norbert] is able to pick up on the gesture flags coming from the sensor. From there, it’s just a matter of using the Arduino Keyboard library to fire off the appropriate keycodes. If you’re looking to recreate this we’d go with a microcontroller that supports native USB, but technically this could be done on pretty much any Arduino. In fact, in this case he’s actually using the ATtiny85-based Digispark.

This actually isn’t the first time we’ve seen somebody use a similar sensor to pull off low-cost gesture control, but so far, none of these projects have really taken off. It seems like it works well enough in the video after the break, but looks can be deceiving. Have any Hackaday readers actually tried to use one of these modules for their day-to-day futuristic computing?

Adafruit AVRProg Grows UPDI Interface Support

Making a small number of things with an embedded application is pretty straightforward, you usually simply plug in a programmer or debugger dongle (such as an AVRISP2) into your board with an appropriate adaptor cable, load your code into whatever IDE tool is appropriate for the device and hit the program button. But when you scale up a bit to hundreds or thousands of units, this way of working just won’t cut it. Add in any functional or defect-oriented testing you need, and you’re going to need a custom programming rig.

Adafruit have a fair bit of experience with building embedded boards and dealing with the appropriate testing and programming, and now they’ve updated their AVR Programming library to support the latest devices which have moved to the UPDI (Unified Programming and Debug Interface) programming interface. UPDI is a single-wire bidirectional asynchronous serial interface which enables programming and debugging of embedded applications on slew of the new AVR branded devices from Microchip. An example would be the AVR128DAxx which this scribe has been tinkering with lately because it is cheap, has excellent capacitive touch support, and is available in a prototype-friendly 28-pin SOIC package, making it easy peasy to solder.

The library is intended for use with the Arduino platform, so it should run on a vast array of hardware, without any special requirements, so making a custom programming jig out of hardware lots of us have lying around is not a huge hassle.

Adafruit provide a few application examples in the project GitHub to get you going, such as this ATTiny817 example that wipes the flash memory, sets appropriate fuses and drops in a bootloader.

The UPDI code was taken from the [brandanlane’s] portaprog which is hosted on the TTGO T-Display ESP32 board from Chinese outfit LilyGo, which is also worth checking out.

A little while ago we saw how the AVR Multitool, the AVRGPP learned to speak UPDI, and since we’re on programming interfaces, its possible to get the cheap-as-chips USBasp to speak TPI as well.

 

Hack a Day 08 Nov 16:30

Groovin’ With a Gesture-Controlled MP3 Player

Touchscreens are great, but they’re not always the perfect solution. Trying to operate one with gloves on (even alleged “touchscreen-friendly” ones) can be cumbersome at best, and if the screen is on a publicly-shared device, such as a checkout kiosk it can easily become a home for bacteria, viruses and all sorts of other nasty stuff.

That’s what [Norbert Zare] was thinking when he built his gesture-controlled MP3 player. It uses a PAJ7620U2 gesture sensor to register a few intuitive hand motions including finger twirls to control the volume, hand swipes to skip forward and backwards, and a flat hand to play and pause the song. It even has a motorized knob and cute cutout music notes that move to provide some visual feedback for the gestures, which you can see in-action in the video below. If this seems familiar, it’s because on Tuesday we took a look at the camera-based, glance-to-skip-tracks controller he built.

To actually play some music, he gutted an old MP3 player and hooked the solder pads from the control buttons up to an Arduino, which reads gesture information from the sensor and emulates the MP3 player’s buttons by setting the appropriate pins to HIGH and LOW. Finally, he topped the whole thing off with an LCD screen and a case.

The great thing about [Norbert]’s approach is that it isn’t just limited to an MP3 player — it can be extended to replace the buttons on pretty much any device. Because the Arduino only needs to be connected to the button inputs of the device, it should be relatively easy to adapt most existing tactile interfaces to be touch-free. Paired with this gesture-tracking macro keyboard we saw earlier in the year, the days of actually having to touch our tech may soon be behind us.

Focus Flower Motivates By Squirting Water In Your Face

When you need to get some tasks done and are short on attention, it’s hard to beat a timer. But whenever you do, it feels pretty darn good. The problem is that when you don’t finish in time, what’s the punishment? There are no consequences baked into the Pomodoro Technique other than good ol’ guilt. Wouldn’t it be better if there was a bit of negative reinforcement involved?

[Hardware Unknown]’s Focus Flower never needs watering, at least not in the normal horticultural way. You will have to fill a reservoir, because this flower provides liquid motivation. No, it’s not a spirit spritzer, though we suppose you could turn it into an avant-garde vodka fountain when the novelty of water wears off, making this Pomodoro with a twist into more of a Bloody Mary. It’s a natural next step, especially if you were already into the hot sauce idea.

Operation Focus Flower is simple: just push the easy button to start the task timer, and the Arduino Nano attached will begin a countdown. Push the button again when you’re done, but if you don’t do it before the countdown is over, the plant squirts you with a steady, skin-blasting stream of water from a solenoid-driven flosser tip. An air compressor nearby is required, which blows the minimalist vibe a bit, but you could always stow that part underneath your desk.

The Focus Flower sure looks to be effective at the whole negative reinforcement thing. And it doesn’t leave you totally clueless — there’s a ring of LEDs around the base that show how much time is left. Whenever you do successfully hit the button in time, it will say ‘that was easy’ in one of 12 languages, hence all the flags. Do not miss the totally free infomercial below.

Maybe you want a more friendly way to manage your time — we understand. Meet the Pomodachi productivity pet.

Via the Arduino Blog