Posts with «arduino hacks» label

Pocket Computer Reminds Us of PDAs

Before smartphones exploded on the scene in the late 00s, there was still a reasonable demand for pocket-sized computers that could do relatively simple computing tasks. Palm Pilots and other PDAs (Personal Digital Assistants) were all the rage in the ’90s and early ’00s, although for cutting-edge tech from that era plenty of these devices had astronomical price tags. This Arduino-based PDA hearkens back to that era, albeit with a much more accessible parts list.

The build is based around an Arudino Nano with an OLED screen and has the five necessary functions for a PDA: calculator, stopwatch, games, phonebook, and a calendar. With all of these components on such a small microcontroller, memory quickly became an issue when using the default libraries. [Danko] uses his own custom libraries in order to make the best use of memory which are all available on the project’s GitHub page. The build also includes a custom PCB to keep the entire pocket computer pocket-sized.

There are some other features packed into this tiny build as well, like the breakout game that can be played with a potentiometer. It’s an impressive build that makes as much use of the microcontroller’s capabilities as is possible, and if you enjoy projects where a microcontroller is used as if it is a PC take a look at this Arduino build with its own command-line interface.

Hack a Day 23 Jun 21:00

Sisyphean Ball Race Robot Toils Gracefully, Magnetically

Aren’t ball races and marble runs fun? Wouldn’t they be so much more enjoyable if you didn’t have to climb back up the ladder each time, as it were, and reset the thing? [Johannes] wrote in to tell us about a wee robot with the Sisyphean task of setting a ball bearing on a simple but fun course, collecting it from the end, and airlifting it back to the start of the track.

[Johannes] built this ‘bot to test small-scale resin printing strength as well as the longevity of some tiny linear actuators from Ali that may or may not be available at a moment’s notice. The point was to see how these little guys fared when connected directly to an Arduino or other microcontroller, rather than going the safer route with a motor driver of some kind.

Some things worked well, like the c-clips that keep the axles together, and using quick pulses to release the magnetically-linked ball from the gripper. Other aspects didn’t work out so well. Tiny resin parts do not respond well to force, for starters. And then there’s the actuators themselves. The connections are fragile and the motors are weak, but they vary wildly in quality from piece to piece, so YMMV. Some lose steps, and others occasionally seize. But you wouldn’t know any of that from the graceful movement capture in the video below. Although it appears to be automated, the bot is under remote control because of the motor issues.

Not into ball runs? There are other Sisyphean tasks available, such as moving sand around in the name of meditation.

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.