Arduino Heart Rate Monitor Has Star Trek Chic

Building a real-life version of the Star Trek tricorder has been the goal of engineers and hackers alike since the first time Dr McCoy complained about being asked to work outside of his job description. But while modern technology has delivered gadgets remarkably similar in function, we’ve still got a long way to go before we replicate 24th century Starfleet design aesthetic. Luckily there’s a whole world of dedicated hackers out there who are willing to take on the challenge.

[Taste The Code] is one such hacker. He wanted to build himself a practical gadget that looked like it would be at home on Picard’s Enterprise, so he gathered up the components to build a hand-held heart rate monitor and went in search for a suitable enclosure. The electronics were simple enough to put together thanks to the high availability and modularity we enjoy in a post-Arduino world, but as you might expect it’s somewhat more difficult to put it into a package that looks suitably sci-fi while remaining functional.

Internally his heart rate monitor is using an Arduino Pro Mini, a small OLED screen, and a turn-key pulse sensor which was originally conceived as a Kickstarter in 2011 by “World Famous Electronics”. Wiring is very simple: the display is connected to the Arduino via I2C, and the pulse sensor hooks up to a free analog pin. Everything is powered by 3 AA batteries delivering 4.5 V, so he didn’t even need a voltage regulator or the extra components required for a rechargeable battery pack.

Once everything was confirmed working on a breadboard, [Taste The Code] started the process of converting a handheld gyroscopic toy into the new home of his heart rate monitor. He kept the battery compartment in the bottom, but everything else was stripped out to make room. One hole was made on the pistol grip case so that a finger tip could rest on the pulse sensor, and another made on the side for the OLED screen. This lets the user hold the device in a natural way while getting a reading. He mentions the sensor can be a bid fiddly, but overall it gives accurate enough readings for his purposes.

If you’re more interested in the practical aspects of a real-life Star Trek tricorder we’ve seen several projects along those lines over the years, including a few that were entered into the Hackaday Prize.

Continue reading “Arduino Heart Rate Monitor Has Star Trek Chic”

Manual 3D Digitizer Works A Bit Like 3-Dimensional Measuring Tape

Digitizing an object usually means firing up a CAD program and keeping the calipers handy, or using a 3D scanner to create a point cloud representing an object’s surfaces. [Dzl] took an entirely different approach with his DIY manual 3D digitizer, a laser-cut and 3D printed assembly that uses rotary encoders to create a turntable with an articulated “probe arm” attached.

Each joint of the arm is also an encoder, and by reading the encoder values and applying a bit of trigonometry, the relative position of the arm’s tip can be known at all times. Manually moving the tip of the arm from point to point on an object therefore creates measurements of that object. [Dzl] successfully created a prototype to test the idea, and the project files are available on GitHub.

We remember the earlier version of this project and it’s great to see how it’s been updated with improvements like the addition of a turntable with an encoder. DIY 3D digitizing takes all kinds of approaches, and one example was this unit that used four Raspberry Pi Zeros and four cameras to generate high quality 3D scans.

“DB” = Abbreviated Microcontroller Debugging

We’ve all been there. When debugging a microcontroller project, we just want to put in a print statement to figure out what’s going on with the microcontroller in real time. However, advanced embedded programmers know that printf statements are verboten: they’re just too SLOW. While not fixing this plight entirely, [Atakan Sarioglu] has come up with a clever way to create readable debug messages with minimal runtime overhead.

[Atakan Sarioglu]’s innovation, called BigBug (Github), is a dynamically-generated codebook. The codebook translates abbreviated messages sent over serial (UART here) to longer-form human-readable messages. To generate the codebook, BigBug automatically parses your comments to create a lookup between an abbreviation and the long-form message. When you are running your program on the microcontroller, BigBug will translate the short codes to long messages in real-time as you send log/debug data over serial. Continue reading ““DB” = Abbreviated Microcontroller Debugging”

Arduino One Pixel Camera Sees All (Eventually)

Taking pictures in the 21st century is incredibly easy. So easy in fact that most people don’t even own a dedicated camera; from smartphones to door bells there are cameras built into nearly electronic device we own. So in this era of ubiquitous photography, you might think that a very slow and extremely low resolution camera wouldn’t be of interest. Under normal circumstances that’s probably true, but this single pixel camera built by [Tucker Shannon] is anything but normal.

Continue reading “Arduino One Pixel Camera Sees All (Eventually)”

Button, Button, Who’s Got The (One) Button?

We often think that less is more, but what can you do with a device that has only a single button? [Danko Bertović] wondered the same thing and he built an Arduino with a single button and a display. After doing some obvious things  (like a counter or stopwatch) he decided to make a calculator for his latest Volos Projects video.

You can find the source code online and he used a library from GitHub to handle the reaction to single presses, double presses, and long presses. Is it ideal? Probably not. But if you only have a limited amount of space or pins, it can make the difference between a feasible project and one you can’t finish.

His original projects also included a Flappy Bird clone. The OLED display is only 64×48 so that’s not a lot of room. The packaging of the tiny Arduino, the battery, and the display in a good looking case, was pretty impressive. So the device might be usable for something.

Of course, the library will work with any program and there’s no reason you can’t have more than one button and simply multiply their functions with the same strategy. There’s a sample on GitHub that shows how you can create two OneButton objects connected to different hardware devices.

By the way, the little box may have only one button, but it also has a power switch. Turns out, you can use it as an input in certain circumstances. If the OLED display strikes you as too luxurious, try the DUO BINARY.

Continue reading “Button, Button, Who’s Got The (One) Button?”

Arduino-Powered Rocket Test Stand

If you’re into amateur rocketry, you pretty quickly outgrow the dinky little Estes motors that they sell in the toy stores. Many hobbyists move on to building their own homebrew solid rocket motors and experimenting with propellant mixtures, but it’s difficult to know if you’re on the right track unless you have a way to quantify the thrust you’re getting. [ElementalMaker] decided he’d finally hit the point where he needed to put together a low-cost test stand for his motors, and luckily for us decided to document the process and the results.

The heart of the stand is a common load cell (the sort of thing you’d find in a digital scale) coupled with a HX711 amplifier board mounted between two plates, with a small section of vertical PVC pipe attached to the topmost plate to serve as a motor mount. This configuration is capable of measuring up to 10 kilograms with an 80Hz sample rate, which is critically important as these type of rocket motors only burn for a few seconds to begin with. The sensor produces hundreds of data points during the short duration of the burn, which is perfect for graphing the motor’s thrust curve over time.

Given such a small window in which to make measurements, [ElementalMaker] didn’t want to leave anything to chance. So rather than manually igniting the motor and triggering the data collection, the stand’s onboard Arduino does both automatically. Pressing the red button on the stand starts a countdown procedure complete with flashing LED, after which a relay is used to energize a nichrome wire “electronic match” stuck inside the motor.

In the video after the break you can see that [ElementalMaker] initially had some trouble getting the Arduino to fire off the igniter, and eventually tracked the issue down to an overabundance of current that was blowing the nichrome wire too fast. Swapping out the big lead acid battery he was originally using with a simple 9V battery solved the problem, and afterwards his first test burns on the stand were complete successes.

If model rockets are your kind of thing, we’ve got plenty of content here to keep you busy. In the past we’ve covered building your own solid rocket motors as well as the electronic igniters to fire them off, and even a wireless test stand that lets you get a bit farther from the action at T-0.

Continue reading “Arduino-Powered Rocket Test Stand”

Every Computer Deserves A Rotary Encoder

In the era of touch screens and capacitive buttons, we’d be lying if we said we didn’t have the occasional pang of nostalgia for the good old days when interfacing with devices had a bit more heft to it. The physical clunk and snap of switches never seems to get old, and while you can always pick up a mechanical keyboard for your computer if you want to hear that beautiful staccato sound while firing off your angry Tweets, there’s a definite dearth of mechanical interface devices otherwise.

[Jeremy Cook] decided to take matters into his own hands (literally and figuratively) by designing his own multipurpose USB rotary input device. It’s not a replacement for the mouse or keyboard, but a third pillar of the desktop which offers a unique way of controlling software. It’s naturally suited to controlling things like volume or any other variable which would benefit from some fine tuning, but as demonstrated in the video after the break even has some gaming applications. No doubt the good readers of Hackaday could think of even more potential applications for a gadget like this.

The device is built around the diminutive Arduino-compatible PICO board by MellBell, which features a ATmega32u4 and native USB. This allowed him to very rapidly spin up a USB Human Interface Device (HID) with minimal headaches, all he had to do was hang his buttons and rotary encoder on the PICO’s digital pins. To that end, he [Jeremy] used the fantastic I2C rotary encoder designed by [fattore.saimon], which readers may remember as a finalist in the Open Hardware Design Challenge phase of the 2018 Hackaday Prize. He also added a NeoPixel ring around the encoder to use for some visual feedback and because, well, it just looks cool.

Since all of the core components are digital, there’s not a whole lot required in the way of wiring or passive components. This let [Jeremy] put the whole thing together on a piece of perfboard, freeing him up to spend time designing the 3D printed enclosure complete with translucent lid so he can see the NeoPixel blinkenlights. He got the tolerances tight enough that the whole device can be neatly press-fit together, and even thought to add holes in the bottom of the case so he could push the perfboard back out if he needed to down the line.

[Jeremy] spends a good chunk of the video going over the software setup and development of the firmware, and details some of the nuances he had to wrap his head around when working with the I2C encoder. He also explains the math involved in getting his encoder to emulate a mouse cursor moving in a circle, which he thinks could be useful when emulating games that originally used an encoder such as Tempest or Pong.

We’ve seen similar USB “knobs” in the past for controlling volume, but the additional inputs that [Jeremy] built into his version definitely makes it a bit more practical. Of course we’re suckers for interesting USB input devices to begin with.

Continue reading “Every Computer Deserves A Rotary Encoder”