Tag Archives: uno

Capture macro photos with this Arduino-powered platform

via Arduino Blog

Getting that perfect up-close macro shot is touch, especially since even the smallest movement can throw off a focused image or make the subject leave the frame. This need for stability and precision is what drove Kike Glez (AKA ‘TelekikeG’ on Instructables) to build a motorized photography platform that would be able to gradually move closer/further away relative to the subject with extreme levels of granularity.

The device utilizes an Arduino Uno as its primary microcontroller and its job is to generate pulses for the DRV8825 stepper driver, which turns the stepper motor as well as accepts user inputs from a series of five buttons — all mounted on a custom PCB shield. The board also features several TIL331 seven-segment modules for a more vintage appearance. Rather than constructing the entire platform from scratch, an old CD-ROM drive was repurposed in order to use the laser head gantry to move the subject instead. Lastly, a pair of bright lights were placed in front of the subject that provided plenty of illumination.

To take a macro photo, the user must first input the start and stop locations of the subject, along with how much delay there should be between making a movement and taking a picture. The result is a massive collection of images, which can then be combined in software to create highly detailed macro photos. 

For more information about Glez’s project, be sure to check out its write-up here on Instructables

The post Capture macro photos with this Arduino-powered platform appeared first on Arduino Blog.

AutoStrap is a self-tightening strap that’s like something out of Back to the Future

via Arduino Blog

For wearable devices, attaching them to an arm or leg can be an annoying process since the straps used often have complicated tightening/locking mechanisms. This is what inspired one Instructables user who goes by The Puma to create the AutoStrap, a self-tightening strap system for wearable electronics similar to Marty McFly’s power-lacing shoes in Back to the Future.

The AutoStrap works by using a 3D-printed arm that is loaded with a spring and is actuated with a stepper motor. In order to check if the device is fully tightened around one’s arm, the spring contains 1K Ohm resistor within that goes from the rated resistance down to zero when the end is reached. This value, in turn, tells the Arduino Uno that a home point has been reached and to stop, where a button press can then reverse the process.

Besides being a quick way to attach wearable devices for fitness or VR tracking, the AutoStrap also has potential to become an assistive device for those who might not be able to use traditional attachment mechanisms. To read more about this project, you can visit its write-up here on Instructables and watch its demo video below.

The post AutoStrap is a self-tightening strap that’s like something out of Back to the Future appeared first on Arduino Blog.

AIfES releases exciting new version of TinyML library for Arduino

via Arduino Blog

Last July AIfES (Artificial Intelligence for Embedded Systems) from the Fraunhofer Institute for Microelectronic Circuits and Systems (IMS) was launched. This open source solution makes it possible to run, and even train, artificial neural networks (ANN) on almost any hardware, including the Arduino UNO. 

The team hasn’t stopped work on this exciting machine learning platform, and an update just landed that you’ll definitely want to check out.

The new AIfES-Express API

AIfES-Express is an alternative, simplified API that’s integrated directly into the library. The new features allow you to run and train a feed-forward neural network (FNN) with only a few lines of code.

Q7 weight quantization

This update enables the simple Q7 (8-bit) quantization of the weights of a trained FNN. This significantly reduces the memory required. And depending where it’s being deployed, it brings a significant increase in speed along with it.

This is especially true for controllers without FPU (Floating Point Unit). The quantization can be handled directly in AIfES® (and AIfES-Express) on the controller, PC, or wherever you’re using it. There are even example Python scripts to perform the quantization directly in Keras or PyTorch. The quantized weights can then be used in AIfES®.

Advanced Arm CMSIS integration

AIfES® now provides the option to use the Arm CMSIS (DSP and NN) library for a faster runtime.

New examples to help you get building

A simple gesture recognition application can be trained on-device for different Arduino boards, including:

You can play tic-tac-toe against a microcontroller, with a pre-trained net that’s practically impossible to defeat. There are F32 and quantized Q7 versions to try. The Q7 version even runs on the Arduino UNO. The AIfES® team do issue a warning that it can be demoralizing to repeatedly lose against an 8-bit controller!

This Portenta H7 example is particularly impressive. It shows you how to train in the background on one core, while using the other to run a completely different task. In the example, the M7 core of the Portenta H7 can even give the M4 core a task to train an FNN. The optimized weights can then be used by the M7 to perform the FNN with no delay, due to the training.

Here’s a link to the GitHub repository so you can give this a go yourself.

The post AIfES releases exciting new version of TinyML library for Arduino appeared first on Arduino Blog.

PneuMat is an interactive shape-changing system to help ensure infants sleep safely

via Arduino Blog

Every parent knows that babies need to sleep in specific conditions. Sudden Infant Death Syndrome (SIDS) is a very tragic possibility and a number of steps must be taken to prevent it, such as avoiding blankets that can restrict an infant’s breathing. But babies can also choke on milk if they aren’t lying in an ideal position. PneuMat is a special Arduino-controlled system that is capable of autonomously moving a baby back into a safe resting position.

Babies would rest on top of a PneuMat in their crib or on table. Pressure sensors line the surface of the mat and detect the baby’s position. It can differentiate between a baby lying on its side and a baby lying on its back. If the baby’s position is inappropriate, the air chambers in the mat inflate independently to change their posture. If, for instance, a baby has just been fed, PneuMat can keep the baby on their back and in an inclined position to keep them from choking on milk. It can also roll a baby over.

An Arduino Uno is important for enabling PneuMat’s functionality. It monitors the pressure sensors that line the mat and controls the pumps that inflate the air chambers when required. In addition to saving lives directly, PneuMat could provide useful data over time. Because it is always monitoring the infant’s sleeping position, it can determine how they toss and turn while they sleep. That information could help doctors better understand SIDS and learn how best to prevent the worst from happening.

The post PneuMat is an interactive shape-changing system to help ensure infants sleep safely appeared first on Arduino Blog.

A remote-controlled Arduino Nerf tank

via Arduino Blog

Arduino Nerf Tank

Makers love Nerf guns, but Nathan Li takes foam-based home security to a new level with his mini Nerf tank. Naturally there’s an Arduino Uno in there, powering the mobile dart launcher.

Scruffy lookin’ Nerf tank herder

This miniature roving robot, known as M.A.T. (Modular Arduino Tank), is beautifully built. Not only is it remarkably accurate, but the dart launching mechanism is a triumph of non-lethal weapon design.

Unlike the majority of Nerf mods out there, this tank doesn’t actually use any parts from a toy gun. Attached to the front of the dart turret is a pair of flywheel motors. These spin the flywheels in opposite directions, at a pretty fast rate. An arm mounted on a servo feeds a dart into the flywheels, which propel it at an impressive lick!

The next dart is gravity fed, and simply falls into place, making it quite a rapid firing micro tank.

Testing the tank

Li takes his tank through a series of batteries, all of which show impressive results. Accuracy is spot on, which isn’t easy with notoriously unreliable Nerf darts. A five-foot muzzle velocity test achieves a whopping 35MPH dart speed. The distance test sends foam projectiles an impressive 44 feet.

Then there’s a demonstration of some excellent grouping in the accuracy test.

It’s sparked up a whole conversation over on Reddit about how the firing mechanism can be modified. The flywheel thrower operates much like baseball launchers (and this dog toy, for example), which has really captured the maker community’s imagination. Shooting dried peas seems to be a popular idea. As does the idea of building in object detection for pest control.

The maker has shared his Arduino code on GitHub. You can also find the 3D print files and a build guide on Li’s website.

The post A remote-controlled Arduino Nerf tank appeared first on Arduino Blog.

This low-cost motion control rig helps capture high-quality shots

via Arduino Blog

Being a camera operator is tough. Having to move the camera and maintain a smooth motion can be tricky, and the speed at which it’s done is never consistent. That’s what prompted Andy to create his own motorized robotic camera rig that can move in up to four different axes simultaneously. The camera gets attached to a standard mounting plate and then placed into the gimbal. The gimbal is able to both pitch the camera up (rotate around the X axis) and rotate it side to side (called ‘yaw’ or Z-axis rotation). In order to prevent a bunch of wires from tangling around each other while spinning, each rotational axis uses a slipring to transfer electrical power and signals continuously. 

Most of the magic is housed in the electronics and software. Andy went with an Arduino Uno running Grbl firmware to translate GCODE commands into concrete actions with the stepper motors. He used a set of opto-interrupting modules that detect when an object has passed between an emitter and detector to signal when the axis is homed. And finally, a Raspberry Pi runs his custom program that takes in keyframe data, parses it, and sends it to the Uno. 

As you can see from his excellent video, the camera rig is amazing at capturing smooth, continuous shots along multiple axes. You can view more about this project on its Hackaday write-up

The post This low-cost motion control rig helps capture high-quality shots appeared first on Arduino Blog.