Posts with «arduino hacks» label

Make Physics Fun with a Trebuchet

What goes up must come down. And what goes way, way up can come down way, way too fast to survive the sudden stop. That’s why [Tom Stanton] built an altitude recording projectile into an oversized golf ball with parachute-controlled descent. Oh, and there’s a trebuchet too.

That’s a lot to unpack, but suffice it to say, all this stems from [Tom]’s obvious appreciation for physics. Where most of us would be satisfied with tossing a ball into the air and estimating the height to solve the classic kinematic equations from Physics 101, [Tom] decided that more extreme means were needed.

Having a compound trebuchet close at hand, a few simple mods were all it took to launch projectiles more or less straight up. The first payload was to be rocket-shaped, but that proved difficult to launch. So [Tom] 3D-printed an upsized golf ball and packed it with electronics to record the details of its brief ballistic flight. Aside from an altimeter, there’s a small servo controlled by an Arduino and an accelerometer. The servo retracts a pin holding the two halves of the ball together, allowing a parachute to deploy and return the package safely to Earth. The video below shows some pretty exciting launches, the best of which reached over 60 meters high.

The skies in the field behind [Tom]’s house are an exciting place. Between flying supercapacitors, reaction wheel drones, and low-altitude ISS flybys, there’s always something going on up there.

Stator Library Makes Your Arduino Code Easier To Read

The readability of your code can make the difference between your project being a joy to work on, or an absolute headache. This goes double when collaborating with others. Having easily parsed code reduces your cognitive load and makes solving problems easier. To try and help with this, [PTS93] developed the Stator library to make certain common tasks simpler to read.

The aim of the library is to get rid of piles of state tracking variables and endless if/else statements – hence the name. It’s designed primarily for the Arduino IDE but doesn’t have any dependencies on the API, so can be used in other C++ environments. It comes with a variety of neat tools for common jobs, such as reading an analog sensor with hysteresis around a trigger point, as well as easy ways to track state changes across multiple variables. By using basic English terms instead of condition checks and mathematical operators, it can make things more readable and easier to follow.

The power of the Arduino platform has always been in its easy to use libraries that make everything easier, from interfacing LCDs to working with Amazon Dash buttons.

Ardunio’s Pluggable Discovery Programs With Any Protocol

The first Arduino was serial, and over the decade and a half, this has been the default way to upload code to an Arduino board. In 2008, support for in-circuit programmers was added, and later port detection was added. The latest version of the Arduino IDE adds something new: pluggable discovery. Now any protocol is supported by the Arduino IDE.

This feature is the brainchild of [Paul Stoffregen], creator of the Teensy. If you’ve ever used a Teensy, you’ll remember the Teensyduino application used to upload code to the board. The Teensy uses HID protocol instead of serial for uploading. After working to improve the integration between the Teensy and Arduino IDE, [Paul] stated extending the DiscoveryManager. After some discussion with the Arduino developers, this feature was then added to Arduino 1.8.9, released a month or so ago.

There are some issues with Pluggable Discovery, most importantly that it doesn’t yet exist in the Arduino Command Line Interface (yeah, that exists too). If you’re looking to contribute to Open Source, that would be a nice project to pick up.

With the right JSON, and configuration, it is now theoretically possible to extend the Arduino IDE to any sort of protocol. This means (again, theoretically), it’s possible to update the firmware in your DIY MIDI synth over SysEx message, or a parallel port, maybe. Someone is going to upload to an Arduino board over PCIe, eventually.

Arduino Leonardo Gets A Lockable Bootloader

Security is something that’s far too often overlooked in embedded devices. One of the main risks is that if the device doesn’t verify the authenticity of incoming firmware updates. [Walter Schreppers] was working on a USB password storage device, so security was paramount. Thus, it was necessary to develop a secure bootloader.

[Walter]’s device was based upon the Arduino Leonardo. Starting with the Caterina bootloader, modifications were made to enable the device to be locked and unlocked for programming. This can be done in a variety of ways, depending on how things are setup. Unlocking can be by using a secret serial string, an onboard jumper, and [Walter] even suspects a SHA1 challenge/response could be used if you were so inclined.

It’s never too soon to start thinking about security in your projects. After all, we must stave off the cyberpunk future in which leather-clad youths flick all your lights on and off before burning your house down in the night by overclocking the water heater. Naturally, we’ve got a primer to get you going in the right direction. Happy hacking!

Insert Coin (Cell) To Play LedCade

In this era of 4K UHD game console graphics and controllers packed full of buttons, triggers, and joysticks, it’s good to occasionally take a step back from the leading edge. Take a breath and remind ourselves that we don’t always need all those pixels and buttons to have some fun. The LedCade is a μ (micro) arcade game cabinet built by [bobricius] for just this kind of minimalist gaming.

Using just three buttons for input and an 8×8 LED matrix for output, the LedCade can nevertheless play ten different games representing classic genres of retro arcade gaming. And in a brilliant implementation of classic hardware hacking humor, a player starts their game by inserting not a monetary coin but a CR2032 coin cell battery.

Behind the screen is a piezo speaker for appropriately vintage game sounds, and an ATmega328 with Arduino code orchestrating the fun. [bobricius] is well practiced at integrating all of these components as a result of developing an earlier project, the single board game console. This time around, the printed circuit board goes beyond being the backbone, the PCB sheet is broken apart and reformed as the enclosure. With classic arcade cabinet proportions, at a far smaller scale.

If single player minimalist gaming isn’t your thing, check out this head-to-head gaming action on 8×8 LED arrays. Or if you prefer your minimalist gaming hardware to be paper-thin, put all the parts on a flexible circuit as the Arduflexboy does.

The HackadayPrize2019 is Sponsored by:

Simple, Self-Contained LoRa Repeater In About an Hour

[Dave Akerman]’s interest in high-altitude projects means he is no stranger to long-range wireless communications, for which LoRa is amazingly useful. LoRa is a method of transmitting at relatively low data rates with low power over long distances.

Despite LoRa’s long range, sometimes the transmissions of a device (like a balloon’s landed payload) cannot be received directly because it is too far away, or hidden behind buildings and geography. In these cases a useful solution is [Dave]’s self-contained LoRa repeater. The repeater hardware is simple, and [Dave] says that if one has the parts on hand, it can be built in about an hour.

The device simply re-transmits any telemetry packets it receives, and all that takes is an Arduino Mini Pro and a small LoRa module. A tiny DC-DC converter, battery, and battery charger rounds out the bill of materials to create a small and self-contained unit that can be raised up on a mast, flown on a kite, or carried by a drone.

The repeater’s frequency and other settings can even be reprogrammed (using a small windows program) for maximum flexibility, making the little device invaluable when going hunting for landed payloads like the one [Dave] used to re-create a famous NASA image using a plastic model and a high-altitude balloon. Check out the details on the GitHub repository for the project and start mashing “add to cart” for parts at your favorite reseller.

A Physical Knob For Browser Tabs

If you’re like most of us, you have about twenty browser tabs open right now. What if there were a way to move through those tabs with a physical interface? That’s what [Zoe] did, and it’s happening with the best laptop ever made.

The hardware for this build is simply an Arduino and a rotary encoder, no problem there. The firmware on the Arduino simply reads the encoder and sends a bit or two of data over the serial port. This build gets interesting when you connect it to a Firefox extension that allows you to get data from a USB or serial port, and there’s a nice API to access tabs. Put all of this together, and you have a knob that will scroll through all your open tabs.

This build gets really good when you consider there’s also a 3D printed mount, meant to attach to a Thinkpad X220, the greatest laptop ever made. At the flick of a knob, you can scroll through all your tabs. It’s handy if you’re reading three or four or five documents simultaneously, or if you’re just editing video and trying to go through your notes at the same time. A great invention, and we’re waiting for this to become a standard device on keyboards and mice. Check out the video below.

Telephone Plays The Songs Of Its People

Music, food, and coding style have one thing in common: we all have our own preferences. On the other hand, there are arguably more people on this planet than there are varieties in any one of those categories, so we rarely fail to find like-minded folks sharing at least some of our taste. Well, in case your idea of a good time is calling a service hotline for some exquisite tunes, [Fuzzy Wobble] and his hold music jukebox, appropriately built into a telephone, is just your guy.

Built around an Arduino with an Adafruit Music Maker shield, [Fuzzy Wobble] uses the telephone’s keypad as input for selecting one of the predefined songs to play, and replaced the phone’s bell with a little speaker to turn it into a jukebox. For a more genuine experience, the audio is of course also routed to the handset, although the true hold music connoisseur might feel disappointed about the wide frequency range and lack of distortion the MP3s used in his example provide. Jokes aside, projects like these are a great reminder that often times, the journey really is the reward, and the end result doesn’t necessarily have to make sense for anyone to enjoy what you’re doing.

As these old-fashioned phones gradually disappear from our lives, and even the whole concept of landline telephony is virtually extinct in some parts of the world already, we can expect to see more and more new purposes for them. Case in point, this scavenger hunt puzzle solving device, or the rotary phone turned virtual assistant.

Make Your Own MIDI Controller With An Arduino

Engineers create something out of nothing, and no where is this more apparent than in the creation of customized computer hardware. To make a simple MIDI controller, you need knowledge of firmware design and computer architecture, you need knowledge of mechanical design, and you need to know electronic design. And then you need the actual working knowledge and experience to wield a tool, be it a hammer, laser cutter, or an IDE. [Mega Das] brought together all of these skill to build a MIDI controller. Sure, it’s for bleeps and bloops coming out of a speaker, but take a step back and realize just how awesome it is that any one person could imagine, then implement such a device.

The electronics for this build include a printed circuit board that serves to break out the connections on an Arduino nano to a dozen arcade push buttons, four slide pots, two rotary pots, and a handful of screw terminals to connect everything together. Mechanically, this is a laser-cut box engraved with some fancy graphics and sized perfectly to put everything inside.

Yes, we’ve seen a lot of MIDI controllers built around the Arduino over the years, but this one is in a class by itself. This is taking off-the-shelf parts and customizing them to exactly what you want, and a prodigious example of what is possible with DIY hardware creation. You can check out the build video below.

Printed Perching Pals Proliferate

Anansi in African folktale is a trickster and god of stories, usually taking physical form of a spider. Anansi’s adventures through oral tradition have adapted to the situation of people telling those stories, everything ranging from unseasonable weather to living a life in slavery. How might Anansi adapt to the twenty-first century? [odd_jayy] imagined the form of a cyborg spider, and created Asi the robot companion to perch on his shoulder. Anyone who desire their own are invited to visit Asi’s project page.

Asi was inspired by [Alex Glow]’s Archimedes, who also has a project page for anyone to build their own. According to [Alex] at Superconference 2018, she knew of several who have done so, some with their own individual customization. [odd_jayy] loved the idea of a robot companion perched on his shoulder but decided to draw from a different pool of cultural folklore for Asi. Accompanying him to various events like Sparklecon 2019, Asi is always a crowd pleaser wherever they go.

Like every project ever undertaken, there is no shortage of ideas for Asi’s future and [odd_jayy] listed some of them in an interview with [Alex]. (Video after the break.) Adding sound localization components will let Asi face whoever’s speaking nearby. Mechanical articulation for legs would allow more dynamic behaviors while perched, but if the motors are powerful enough, Asi can walk on a surface when not perched. It’s always great to see open source projects inspire even more projects, and watch them as they all evolve in skill and capability. If they all become independently mobile, we’ll need clarification when discussing the average velocity of an unladen folklore robot companion: African or European folklore?