Posts with «arduino hacks» label

Water Your Plants Just Four Times Per Year

While it’s true that some plants thrive on neglect, many of them do just fine with a few ounces of water once a week, as long as the light level is right. But even that is plenty to remember and actually do in our unprecedented times, so why bother trying? [Martin] has solved this problem for us, having given every aspect of automatic plant care a lot of thought. The result of his efforts is Flaura, a self-watering open-source plant pot, and a YouTube channel to go with it.

The 3D-printed pot can easily be scaled up or down to suit the size of the plant, and contains a water reservoir that holds about 0.7 L of water at the default size. Just pour it in through the little spout, and you’re good for about three months, depending on the plant, the light it’s in, and how much current water it draws. You can track the dryness level in the companion app.

Whenever the capacitive soil moisture sensor hidden in the bottom of the dirt detects drought conditions, it sends a signal through the Wemos LOLIN32 and a MOSFET to a small pump, which sends up water from the reservoir.

The soil is watered uniformly by a small hose riddled with dozens of tiny holes that create little low-pressure water jets. This is definitely our favorite part of the project — not just because it’s cool looking, but also because a lot of these types of builds tend to release the water in the same spot all the time, which is. . . not how we water our plants. Be sure to check out the project overview video after the break.

No printer? No problem — you could always use an old Keurig machine to water a single plant, as long as the pump is still good.

Thanks for the tip, [Keith]!

Arduino and Git: Two Views

You can’t do much development without running into Git, the version control management system. Part of that is because so much code lives on GitHub which uses Git, although you don’t need to know anything about that if all you want to do is download code. [Dr. Torq] has a good primer on using Git with the Arduino IDE, if you need to get your toes wet.

You might think if you develop by yourself you don’t need something like Git. However, using a version control system is a great convenience, especially if you use it correctly. There’s a bug out in the field? What version of the firmware? You can immediately get a copy of the source code at that point in time using Git. A feature is broken? It is very easy to see exactly what changed. So even if you don’t work in a team, there are advantages to having source code under control.

If you are already using a more advanced IDE, Git is probably integrated into your environment, or, at least, it could be. If you are allergic to the command line, there are plenty of GUI tools to use Git, also. One nice thing about Git is that your local repository is just a directory. You don’t need to stand up a special server or anything to use it.

We don’t think it is directly related, but [Andreas] recently had a video on Git and Arduino. It isn’t as detailed, but it does have some good stuff and is worth the time to watch. You can see it below.

We’ve used Git for some odd things in the past. Note that Git is the version control system while GitHub is a website. However, if you are a hardcore command line user, you can manipulate GitHub from there, too.

Edible Electronics Let Us Hear the Lamentations of the Chocolate Bunnies

Yet another Day of the Chocolate Bunnies has passed by, and what did you do to mark the occasion? You likely kicked back and relaxed, surrounded by whatever you gave up for Lent, but good for you if you mixed chocolate and electronics like [Repeated Failure] did. They created a completely edible chocolate Easter bunny that screams when bitten.

So obviously, the hardest part is figuring out something to build the circuit with that is both conductive and safe to eat. [Repeated Failure] spent a lot of time with carbon oleogel paste, which is made from natural oils and waxes. Not only was it less conductive than [Repeated Failure]’s skin, it came out pitch black and tasted like nothing, which kind of a bonus, when you think about it.

Then came the cake paint, which [Repeated Failure] laced with trace amounts of silver powder. While that worked somewhat better, a successful circuit would have likely required near-fatal amounts of the stuff. Yikes!

The winner turned out to be edible silver leaf, which is like gold leaf but cheaper. Ever had Goldschläger? Gold leaf is what’s suspended inside. The really nice thing about silver leaf is that it comes in thin sheets and can easily be cut into circuit traces with scissors and connected to I/O pins with copper tape. Be sure to check it out after the break, including [Repeated Failure]’s friend’s reaction to innocently biting the chocolate bunny’s ears off, as one tends to do first.

Think you’d rather hear plants giggle? Sure, it sounds cute, but it’s actually kind of creepy.

Paper Tape Reader Self-calibrates, Speaks USB

Input devices consisting of optical readers for punched paper tape have been around since the earliest days of computing, so why stop now? [Jürgen]’s Paper Tape Reader project connects to any modern computer over USB, acting like a serial communications device. Thanks to the device’s automatic calibration, it works with a variety of paper materials. As for reading speed, it’s pretty much only limited to how fast one can pull tape through without damaging it.

Stacked 1.6 mm PCBs act as an enclosure, of sorts.

While [Jürgen]’s device uses LEDs and phototransistors to detect the presence or absence of punched holes, it doesn’t rely on hardware calibration. Instead, the device takes analog readings of each phototransistor, and uses software-adjusted thresholds to differentiate ones from zeros. This allows it to easily deal with a wide variety of tape types and colors, even working with translucent materials. Reading 500 characters per second isn’t a problem if the device has had a chance to calibrate.

Interested in making your own? The build section of the project has all the design files; it uses only through-hole components, and since the device is constructed from a stack of 1.6 mm thick PCBs, there’s no separate enclosure needed.

Paper tape and readers have a certain charm to them. Cyphercon 4.0 badges featured tape readers, and we’ve even seen the unusual approach of encoding an I2C byte stream directly onto tape.

This DIY UPDI Programmer is Nice and Cheap

[Daumemo] likes experimenting with DIY electronics, and like many people, eventually ran across an AVR microcontroller with a Unified Program and Debug Interface (UPDI). One option is of course to purchase an UPDI programmer, but an even better solution was to make a DIY USB version from nice, cheap parts.

Programming an Attiny404 over the UPDI interface.

UPDI is an interface for external programming and on-chip debugging of microcontrollers, and [Daumemo]’s solution is based on the jtag2updi project. It combines an Arduino Nano (in this case, a clone) with a single resistor, a single capacitor, and a six pin angled header (with a cleverly bent pin) to enable programming UPDI devices over a USB connection. [Daumemo] is happy to report that the device works just fine in both Microchip Studio with AVRDUDE, or PlatformIO.

Is an Arduino Nano a bit overpowered in this role? Maybe, but the price is certainly right. There’s no need for a custom PCB either, since everything can be soldered direct to the Nano board. A matching 3D printed enclosure is about all that’s needed to make a robust and reliable DIY USB UPDI programmer out of a handful of parts, and that sounds good to us.

On the other hand, if you do find yourself making custom PCBs, you may be interested in another of [Daumemo]’s DIY projects: a printable structure to turn a rotary tool into a PCB drill press.

CAT Is Not Your Average Meow-cropad

Are you completely over the idea of the keyboard in any flattish form and looking for something completely different for inputting your data? Or do you want a mega macropad for 3D design, GIMP or Inkscape work, or to use while relaxing with a nice first-person shooter? Then this ergonomic, double-fistable keyboard/controller mashup named CAT may be what you’re looking for.

Inside each of these slinky felines is pretty much what you’d expect to find — 25 or so switches and an Arduino Pro Micro. Interestingly enough, the switches are all lever-action and not push buttons. There are two breeds of CAT available to build or buy: one has 25 buttons, and the other has a joystick or trackball on the thumb between two upper and two lower buttons. You could have one type for each hand!

More information is available on the Lynx Workshop site, which is where you’ll also find tutorials and instructions for everything from the 3D printing to the electronics to the assembly and coding. There is even a bonus 3D modeling tutorial. Don’t want to invest the time to make your own CAT? These kitties are also available for pre-order. Claw past the break to check them out in action.

Looking for something with regular keyswitches? Oh, we have plenty of those.

Stress-Testing An Arduino’s EEPROM

Every time one of us flashes an Arduino’s internal memory, a nagging thought in the backs of our minds reminds us that, although everything in life is impermanent, nonvolatile re-writable memory is even more temporary. With a fixed number of writes until any EEPROM module fails, are we wasting writes every time we upload code with a mistake? The short answer is that most of us shouldn’t really be concerned with this unless we do what [AnotherMaker] has done and continually write data until the memory in an Arduino finally fails.

The software for this is fairly simple. He simply writes the first 256 ints with all zeros, reads them to make sure they are all there, and then repeats the process with ones. After iterating this for literally millions of times continuously over the course of about a month he was finally able to get his first read failure. Further writes past this point only accelerated the demise of the memory module. With this method he was able to get nearly three million writes before the device failed, which is far beyond the tens or hundreds of thousands typically estimated for a device of this type.

To prove this wasn’t an outlier, [AnotherMaker] repeated the test, and did a few others while writing to a much smaller amount of memory. With this he was able to push the number of cycles to over five million. Assuming the Arduino Nano clone isn’t using an amazingly high-quality EEPROM we can safely assume that most of us have nothing to worry about and our Arduinos will be functional for decades to come. Unless a bad Windows driver accidentally bricks your device.

Thanks to [morgan] for the tip!

Hack a Day 08 Apr 03:00

Accessible Arduino Mouse Helps

We enjoy access to cheap stuff because of the mass market for things like mice, keyboards, and cell phones. But if you need a device that doesn’t have mass appeal, you will have to pay a lot more if you can find it at all. However, with modern techniques like 3D printing and Arduino-like microcontrollers being cheap and simple to use, you now have the option to build that special one-of-a-kind device. Case in point: [Davy’s] mouse for people who have brain or nervous system disorders. This particular device is helping a 6-year-old who can’t manipulate a normal mouse.

The device uses an Arduino Pro and an MPU-6050 accelerometer and gyroscope. The original design uses machined aluminum, but 3D printing should work, too. There’s something wrong with the link to the design files in the post, but it is easy to find the correct link.

If you do 3D print a similar enclosure, you might consider using heat-set threaded inserts instead of tapping the holes. They work great, are easy to install, and seem to be a bit more robust than trying to thread plastic. Then again, threaded plastic isn’t as bad as you might think.

There are, of course, many ways you could make this work, and besides, every special user will be a little different. But what a great feeling to help someone be able to do what most people take for granted.

Rotary Phone MIDI Controller Still Makes Calls

[Kevin] has long wanted to do something musical with a vintage rotary phone and an Arduino, and has finally done so and committed the first of several experiments to HTML in a five-part series. He found a nice old British Telecom number, but it had been converted to plug and socket wiring to work on the modern system. Because of this, [Kevin] wanted to keep it completely functional as a phone. After all, it ought to work fine until 2025, when pulse dialing will no longer be supported in [Kevin]’s locality.

As you can likely understand, [Kevin] was keen to interface with the phone from the outside and leave the inside untouched. He used a sacrificial ADSL filter’s PCB to break out the socket, and added a pull-up resistor between the pin and 5 V.

Pretty quickly, [Kevin] figured out that when the phone is on the hook, it gives a constant high signal, where as the picking up the phone presents as a high signal going low, and dialing each number results in pulses of that quantity that alternate between high and low.

In part two of the series, [Kevin] really gets into decoding the pulse dialing, which is necessary for the third installment when things get musical. Here, [Kevin] adds in a MIDI module and a Roland MT-32 synth to use the dial as a MIDI note generator — each note dialed will sustain until the receiver is replaced on the hook.

Part four focuses on a MIDI patch changer. [Kevin] picks up the phone, dials a code up to three digits long, and hangs up, which this triggers the synth to change to the assigned voice. In part five, the phone becomes a random note sequencer, and each successive spin of the same digit will produce a different, randomly-chosen note. This is really just the beginning, however, so we’ll be checking back for updates. In the meantime, you can listen to the note generator and the random note sequencer demos after the break.

Wouldn’t you like to use a rotary dial all the time? Well, as long as it wasn’t an emergency?

Robotic Tufting Gun Fires Off CNC Textiles

Often used to make rugs, tufting is a process wherein a hollow needle is used to cram thread or yarn into fabric in some kind of pattern. This can be done by hand, with a gun, or with big machines. Some machines are set up to punch the same pattern quickly over and over again, and these are difficult to retool for a new pattern. Others are made to poke arbitrary patterns and change easily, but these machines move more slowly.

This robotic tufting system by [Owen Trueblood] is of the slow and arbitrary type. It will consist of a modified tufting gun strapped to a robot arm for CNC textile art. Tufting guns are manufactured with simple controls — a power switch, a knob to set the speed, and a trigger button to do the tufting. Once it’s affixed to the robot arm, [Owen] wants to remote control the thing.

The gun’s motor driver is nothing fancy, just a 555 using PWM to control a half H-bridge based on input from the speed control potentiometer. [Owen] replaced the motor controller with an Arduino and added an I/O port. The latter is a 3.5 mm stereo audio jack wired to GND and two of the Arduino’s pins. One is a digital input to power the gun, and the other is used as an analog speed controller based on input voltage. [Owen] is just getting started, and we’re excited to keep tabs on this project as the gun goes robotic.

This isn’t the first time we’ve seen robots do textiles — here’s a 6-axis robot arm that weaves carbon fiber.

Hack a Day 06 Mar 06:00