Hacking An Arduino NFC Reader With WebUSB

When [gdarchen] wanted to read some NFC tags, he went through several iterations. First, he tried an Electron application, and then a client-server architecture. But his final iteration was to make a standalone reader with an Arduino and use WebUSB to connect to the application on the PC.

This sounds easy, but there were quite a few tricks required to make it work. He had to hack the board to get the NFC reader’s interrupt connected correctly because he was using a Leonardo board. But the biggest problem was enabling WebUSB support. There’s a library, but you have to change over your Arduino to use USB 2.1. It turns out that’s not hard, but there’s a caveat: Once you make this change you will need the WebUSB library in all your programs or Windows will refuse to recognize the Arduino and you won’t be able to easily reprogram it.

Once you fix those things, the rest is pretty easy. The PC side uses node.js. If you back up a level in the GitHub repository, you can see the earlier non-Arduino versions of the code, as well.

If you want to understand all the logic that went into the design, the author also included a slide show that discusses the three versions and their pros and cons. He did mention that he wanted a short-range solution so barcodes and QR codes were out. He also decided against RFID but didn’t really say why.

NFC business cards are a thing. You can also use them to catch some public transportation.

LED Flame Illuminates The Beauty Of Noise

Have you ever wrapped up a nice blinky project only to be disappointed by the predictability of the light or the color patterns? When it came to lighting this LED candle, so was [fungus amungus]. But there’s a better way, and it involves noise.

Perlin noise was created in the early 80s by Ken Perlin while he was working on the movie Tron. Frustrated by the current state of computer graphics and too limited on space to use images, he devised an algorithm for generating natural-looking textures. Basically, you generate a bunch of numbers between 0 and 1, then assign values to those numbers, such as a range of greyscale values from black (0) to white (1), or the values from the color wheel. The result is much prettier than random numbers because the neighboring values for any given number aren’t radically different. You get nice randomness with hardly any overhead.

[fungus amungus] is using the FastLED’s noise function to generate the numbers, but there’s a whole lot more going on here. As he explains in the excellent video after the break, if you want to animate these values, you just add another dimension of them. Although [fungus amungus] is using a Trinket Pro and a NeoPixel ring, we think a simplified version could be done with a Circuit Playground Express using the built-in LEDs.

If you want to do it the hard way, start by making your own NeoPixel ring.

Continue reading “LED Flame Illuminates The Beauty Of Noise”

Circuit Sculpture Teaches Binary, Plays PONG

We sure wish we’d had a teacher like [Danko Bertović]. He built this beautiful circuit sculpture to teach his students how to count in binary and convert it to decimal and hexadecimal. If you don’t already know binary, you get to learn it on DIP switches and a dead-bugged ATMega328 in his latest Volos Projects video after the break. Lucky you!

Once the students have the hang of entering binary input on the switches, they can practice it on the four-banger calculator. This educational sculpture can also take text input and scroll it, but it takes a bit of work. You have to look up the ASCII value of each character, convert the decimal to binary, and program it in with the switches. There’s one more function on the menu — a one-player PONG game to help the students relax after a long day of flipping switches.

Funny enough, this project came to be after [Danko] came upon the DIP switch in his parts box and wasn’t quite sure what it was called. How great is it that he learned something about this part, and then used that knowledge to build this machine that uses the part to teach others? It’s surely the best fate that parts bin curiosities can hope for.

Don’t have the patience for circuit sculpture? You can make a pretty nice binary calculator with a bit of paper and a lot of compressed air.

Continue reading “Circuit Sculpture Teaches Binary, Plays PONG”

Need Hackable Melodies? Here’s The TETRIS Theme And More

[Robson Couto] started to get interested in musical projects and as a side effect created downloadable code with simple notation for a good variety of themes, songs, and melodies. They are all for the Arduino and use only the built-in tone() function, but don’t let that distract you. If you look past that, you’ll see that each sketch is a melody that consists of single notes and durations; easily adapted to other purposes or simply used as-is. After all, [Robson] wanted the source of each tune to be easily understood, easily modified, and to have no external dependencies.

All that may sound a bit like MIDI, but MIDI has much more in common with hardware events than music notation because it includes (among other things) note starts and note ends as separate elements. Converting MIDI into a more usable format was a big part of a project that fed Bach music to a neural network and got surprisingly good results.

When doing music projects, sometimes having a recognizable melody represented very simply as notes and durations with only one note at a time can be an awfully handy resource, and you can find them on GitHub. There’s a brief video of the Tetris theme (actual name: Korobeiniki) being played after the break.

Continue reading “Need Hackable Melodies? Here’s The TETRIS Theme And More”

Arduino Polygraph Shows How It’s Done

Sometimes, a project comes along that makes a good reference design for anyone doing similar work. In this particular case, it’s a DIY USB polygraph-like machine by [Juangg] using an Arduino and sensors on the hardware side, and a Python front end for data visualization. It’s even complete with 3D printed enclosure and sensor elements.

[Juangg] designed it to use three sensors: a pulse sensor, a breath sensor, and one to measure Galvanic Skin Response (GSR). The pulse sensor uses a piezo element pressed against a fingertip to detect changes in pressure resulting from blood flow. It can be picky about placement, but finding sweet spot can yield remarkably good readings. The breath sensor works on a similar principle but uses a 3D printed fixture to hold the sensor between a strap and the subject’s chest, so that breathing in and out can be detected. The GSR sensor is a voltage divider used to measure small changes in skin conductivity. How well does it all work? That depends on what one is looking to get out of it, but the documentation and design files are available from the project page and the GitHub repository if anyone wants a reference for similar work.

The polygraph may have a mixed reputation, but it makes a good project that demonstrates just how messy biometrics can be from an engineering perspective. And in case you missed it, here’s a reminder that Wonder Woman and the polygraph have much more in common than you might realize.

Minimalist Mate Maker Keeps You Caffeinated

Americans love their coffee. The Brits adore their tea. In South America, the number one way to get through the day is with yerba mate, a tea made from the yerba plant. It is typically shared in a social setting, with one person preparing the beverage for everyone to enjoy. Although caffeine certainly deserves a ceremony, it never needs one. Hit the streets and you’ll see people everywhere with a thermos under one arm, keeping water hot and ready to refill the cup of mate in their hand.

The Stanley vacuum thermos is quite a popular choice for drinkers on the go, but the Argentinian government recently placed new restrictions foreign imports. [Roni Bandini] decided to build a minimum viable mate machine so he always has perfectly hot water on tap.

An Arduino Nano heats the water and displays the rising temperature on an LCD screen. When the temperature is just right, the display asks for your cup. An ultrasonic sensor detects the cup and dispenses a certain amount of water determined in the sketch. Yerba leaves can be used a few times before losing their flavor, so the machine keeps track and lets him know when it’s time to replace them. You can sip on a brief demo after the break.

Let’s say you don’t have perfectly-prepared mate, and it always comes out too hot. That’s better than too cold, but still not ideal. Why not make a temperature-sensing coaster that alerts you when it has cooled to perfection?

Continue reading “Minimalist Mate Maker Keeps You Caffeinated”

Build A DSLR Photo Booth The Easy Way

It’s a well-known fact in capitalist societies that any product or service, if being used in a wedding, instantly triples in cost. Wanting to avoid shelling out big money for a simple photo booth for a friend’s big day, [Lewis] decided to build his own.

Wanting a quality photo output, a Canon DSLR was selected to perform photographic duties. An Arduino Nano is then pressed into service to run the show. It’s hooked up to a MAX7219 LED matrix which feeds instructions to the willing participants, who activate the system with a giant glowing arcade button. When pressed, the Nano waits ten seconds and triggers the camera shutter, doing so three times. Images are displayed on a screen hooked up to the camera’s USB HDMI port.

It’s a build that keeps things simple. No single-board PCs needed, just a camera, an Arduino, and a monitor for the display. We’re sure the wedding-goers had a great time, and we look forward to seeing what [Lewis] comes up with next. We’ve seen a few of his hacks around here before, too.

Continue reading “Build A DSLR Photo Booth The Easy Way”