Posts with «arduino hacks» label

Friday Hack Chat: Tenaya Hurst From Arduino

Join us this Friday at noon PDT for a Hack Chat with Tenaya Hurst of Arduino. If you’ve been one of the big Maker Faires over the last few years (or innumerable other live events) and stopped by the Arduino area you’ve probably met Tenaya. She is the Education Accounts Manager for Arduino and loves working with wearable electronics.

Come and discuss maker education and the role Arduino is playing in getting our students excited about electronics, and STEAM education in general. Tenaya will also be discussing a new wearable tech kit she’s been working on. We hope to see the gear in person at Bay Area Maker Faire next week.

Here’s How To Take Part:

Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging.

Log into Hackaday.io, visit that page, and look for the ‘Join this Project’ Button. Once you’re part of the project, the button will change to ‘Team Messaging’, which takes you directly to the Hack Chat.

You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.


Filed under: Arduino Hacks, Hackaday Columns, wearable hacks

Mission Control for Kerbal

[Niko1499] had a plan. He’d built a cool hardware controller for the game Kerbal Space Program (KSP). He got a lot of positive reaction to it and decided to form a company to produce them. As many people have found out, though, that’s easier said than done, and the planned company fell short of its goals. However, [Niko1499] has taken his controller and documented a lot about its construction, including some of the process he used to get there.

If you haven’t run into it before, KSP is sort of half simulator, half game. You take command of an alien space program and develop it, plan and execute missions, and so on. The physics simulation is quite realistic, and the game has a large following.

When we first saw the photos, we thought it was an old Heathkit trainer, and–indeed–the case is from an old Heathkit. However, the panel is laser cut, and the software is Arduino-based. [Niko1499] covers a few different methods of letting the Arduino control the game by emulating a joystick, a keyboard, or by using some software to take serial data and use it to control the game.

The project isn’t quite an exact how-to, although he does provide a bill of materials and the software. However, you’ll surely want to customize the layout to fit your case and your preferences anyway.

We are always surprised we don’t see more dedicated hardware control panels for popular software like Gimp (or Photoshop) or video editing. Faking mouse and keyboard input is pretty simple and having dedicated buttons for common functions could be pretty productive if you plan it out right.

We have, however, seen a number of controllers for KSP for quite a while. Of course, everyone has their own take on exactly what one should look like.


Filed under: Arduino Hacks

Hack Your Hike with this Arduino Puzzle Geocache

For those who love to hike, no excuse is needed to hit the woods. Other folks, though, need a little coaxing to get into the great outdoors, which is where geocaching comes in: hide something in the woods, post clues to its location online, and they will come. The puzzle is the attraction, and doubly so for this geocache with an Arduino-powered game of Hangman that needs to be solved before the cache is unlocked.

The actual contents of a geocache are rarely the point — after all, it’s the journey, not the destination. But [cliptwings]’ destination is likely to be a real crowd pleaser. Like many geocaches, this one is built into a waterproof plastic ammo can. Inside the can is another door that can only be unlocked by correctly solving a classic game of Hangman. The game itself may look familiar to long-time Hackaday readers, since we featured it back in 2009. Correctly solving the puzzle opens the inner chamber to reveal the geocaching goodness within.

Cleverly, [cliptwings] mounted the volt battery for the Arduino on top of the inner door so that cachers can replace a dead battery and play the game; strangely, the cache entry on Geocaching.com (registration required) does not instruct players to bring a battery along.

It looks like the cache has already been found and solved once since being placed a few days ago in a park north of Tucson, Arizona. Other gadget caches we’ve featured include GPS-enabled reverse caches, and a puzzle cache that requires IR-vision to unlock.

Thanks to [Dan Wagoner], who built the game upon which this is based, for the tip.

 


Filed under: Arduino Hacks, misc hacks

Honey, When Did We Get an Indoor Pool?

Is it too much to ask for a home to have a little ‘smart’ built-in? If you’ve ever woken up (or come home) to your dwelling being flooded, you’ll know how terrible it feels, how long it can take to recover from, and how stressful it can be. Yeah, it’s happened to us before, so we really feel for [David Schneider]. He woke up one Sunday morning to a whole lot of water in his house. The inlet valve for his washing machine somehow got stuck in the open position after putting a load of laundry in the previous night.

[David] took progressively complex measures to prevent a broken water feed flood from happening in the future. First, he lined the entire floor of his laundry closet with a steel tray. OK, that’s a good start but won’t prevent another disaster unless it is caught very quickly. How about a simple audible water alarm? That’s good and all if you’re home, but what if you’re not?

Next, he installed a valve with a mechanical timer on the water line for the washing machine which closes automatically after 2 hours of being opened. Much better, but what about all the other thirsty appliances around the house? After searching online a little, he found plenty of whole house systems that would work for him, but there were 2 problems with these. First, most were network-based and he didn’t want to IoT-ify his house’s water system. Second, they were overpriced.

Of course the solution was to put together his own system! First, he purchased a few mostly inexpensive things — a wireless alarm, some water sensors, and a motorized ball valve. Then he collected the last few things he needed from what he had on hand around the house, and got to work connecting the 4 LEDs on the alarm to 4 analog input pins on his Arduino. Next, he added a relay between the Arduino and the motorized ball valve.

If a sensor detects water, it tells the alarm about it (wirelessly), which triggers the Arduino to energize a relay that is connected to the motorized ball valve, causing it to shut off the main water line for the entire house. Disaster averted! Sure, it’s a fairly simple hack, but it works, meets his requirements, and now he sleeps better at night knowing he won’t wake up (or come home) to an indoor swimming pool.

It’s surprising that we haven’t seen more hacks like this given it’s such a common problem. The closest thing we can remember is an overflow sensor for an aquarium. If homes came standard with a water main shutoff system, it would remove a stressful event from our lives and maybe even lower our insurance premium.


Filed under: Arduino Hacks, home hacks

Vintage Vending Machine Makes The Perfect Gift

Nothing says ‘I Love You’ like an old vending machine, and if it is a restored and working vintage Vendo V-80 cola dispenser then you have yourself a winner. [Jan Cumps] from Belgium was assigned the repair of the device in question by a friend. He started off with just a working refrigerator and no electronics. In a series of repairs, he began with replacing the mechanical coin detector’s switches with optical and magnetic sensors to detect the movement of the coin. These sensors are in turn connected to an Arduino which drives the dispensing motor. The motor itself had to be rewound as part of the repair. Since the project is on a deadline, the whole thing is finished using protoboards and through-hole parts. The final system works by dispensing one frosty bottle every time a coin is inserted.

In contrast to most vending machine repairs, this project was a simple one. Instead of using an off-the-shelf coin detector, a simple LED and photodiode pair brought the hack to life. This could easily be adapted to any machine and even be used to create a DIY vending machine on the cheap. 

In his blog, [Jan Cumps] demonstrates each working step in a video and share the Arduino code and schematic as well as other interesting details. You can see the final working version in the video below.

It has been a long time since a Vending Machine Prototyping project was commissioned and we would love to see what this project inspires.


Filed under: Arduino Hacks

Sous Vide Arduino isn’t Lost in Translation

If your idea of a six-course meal is a small order of chicken nuggets, you might have missed the rise of sous vide among cooks. The idea is you seal food in a plastic pouch and then cook it in a water bath that is held at a precise temperature. That temperature is much lower than you usually use, so the cook times are long, but the result is food that is evenly cooked and does not lose much moisture during the cooking process. Of course, controlling a temperature is a perfect job for a microcontroller and [Kasperkors] has made his own setup using an Arduino for control. The post is in Danish, but Google translate is frighteningly good.

The attractive setup uses an Arduino Mega, a display, a waterproof temperature probe, and some odds and ends. The translation does fall down a little on the parts list, but if you substitute “ground” for “earth” and “soil” you should be safe. For the true epicurean, form is as important as function, and [Kasperkors’] acrylic box with LEDs within is certainly eye-catching. You can see a video of the device, below.

The switches, LEDs, and relays are all pretty standard fare. The real heart of the project is the temperature control. Many controllers use a PID (proportional/integral/derivative) to hold the temperature, but this project takes a more pragmatic approach. Depending on how far from the set point the temperature is, the controller simply drives the heating element differently and measures more or less frequently to adjust. For example, if the temperature is more than two degrees low, the heating element is left on constantly. As it gets closer, though, the heating element runs for 10 seconds, there’s a 5 second wait, and then the algorithm reads the temperature again.

There’s a lot of debate about how precise the temperature has to be. Apparently, for things like fish, a wide range of temperatures isn’t a problem. Eggs, however, need tighter control because their proteins can denature (whatever that means).

There’s also a safety relay that shuts the whole affair down if the temperature goes very high or low so a bad temperature sensor won’t boil everything away. We might have considered doing that with a bimetallic coil so that even an Arduino failure would not stop it from working.

We’ve seen other attractive sous vide setups. Not to mention the more utilitarian builds made with a crock pot. No matter what it looks like, these projects are probably not going to help your waistline.


Filed under: Arduino Hacks

Pi Time – A Fabric RGB Arduino Clock

Pi Time is a psychedelic clock made out of fabric and Neopixels, controlled by an Arduino UNO. The clock started out as a quilted Pi symbol. [Chris and Jessica] wanted to make something more around the Pi and added some RGB lights. At the same time, they wanted to make something useful, that’s when they decided to make a clock using Neopixels.

Neopixels, or WS2812Bs, are addressable RGB LEDs , which can be controlled individually by a microcontroller, in this case, an Arduino. The fabric was quilted with a spiral of numbers (3.1415926535…) and the actual reading of the time is not how you are used to. To read the clock you have to recall the visible color spectrum or the rainbow colors, from red to violet. The rainbow starts at the beginning of the symbol Pi in the center, so the hours will be either red, yellow, or orange, depending on how many digits are needed to tell the time. For example, when it is 5:09, the 5 is red, and the 9 is yellow. When it’s 5:10, the 5 is orange, the first minute (1) is teal, and the second (0) is violet. The pi symbol flashes every other second.

There are simpler and more complicated ways to perform the simple task of figuring out what time it is…

We are not sure if the digits are lighted up according to their first appearance in the Pi sequence or are just random as the video only shows the trippy LEDs, but the effect is pretty nice:

 


Filed under: Arduino Hacks, led hacks
Hack a Day 17 Apr 03:00

Hacker U.

If you go to the University of South Florida, you can take the “Makecourse.” The 15-week program promises to teach CAD software, 3D printing, Arduino-based control systems, and C++. Don’t go to the University of South Florida? No worries. Professor [Rudy Schlaf] and [Eric Tridas] have made the entire course available online. You can see several videos below, but there are many more. The student project videos are great, too, like [Catlin Ryan’s] phase of the moon project (see below) or [Dustin Germain’s] rover (seen above).

In addition to a lesson plan and projects, there’s a complete set of videos (you can see a few below). If you are a regular Hackaday reader, you probably won’t care much about the basic Arduino stuff and the basic electronics–although a good review never hurts anyone. However, the more advanced topics about interrupts, SDCards, pin change interrupts might be just the thing. If you ever wanted to learn Autodesk Inventor, there are videos for that, too.

If you don’t need any of the instruction offered, this would still make a great program to offer at a local hacker space or anywhere else where you want to teach build to build. You can see from the variety of student projects that it is well-balanced and lets students focus on areas where they are most interested.

So much educational material is online now that it is hard to find time to see even a fraction of it. We love EdX, for example, but who has the time to take even a fraction of the classes offered? We always love seeing student projects–they give us ideas. [Bruce Land’s] classes, in particular, are always inspirational.


Filed under: 3d Printer hacks, Arduino Hacks

Everyone Loves Faster ESP8266 TFT Libs

Reader [Jasper] writes in with glowing praise for the TFT_eSPI library for the ESP8266 and the various cheap 480×320 TFT displays (ILI9341, ILI9163, ST7735, S6D02A1, etc.) that support SPI mode. It’s a drop-in replacement for the Adafruit GFX and driver libraries, so you don’t need to rework your code to take advantage of it. If you’re looking to drive an LCD screen with an ESP8266 and Arduino, check this out for sure.

As a testbed, [Jasper] ported his Tick Tock Timer project over to the new library. He got a sevenfold increase in draw speed, going from 500 ms to 76 ms. That’s the difference between a refresh that’s visibly slow, and one that looks like it happens instantly. Sweet.

Improving software infrastructure isn’t one of the sexiest or most visible hacks, but it can touch the lives of many hackers. How many projects have we featured with an ESP8266 and a screen? Thanks, [Bodmer] for the good work, and [Jasper] for bringing it to our attention.


Filed under: Arduino Hacks, Microcontrollers

PlatformIO and Visual Studio Take over the World

In a recent post, I talked about using the “Blue Pill” STM32 module with the Arduino IDE. I’m not a big fan of the Arduino IDE, but I will admit it is simple to use which makes it good for simple things.

I’m not a big fan of integrated development environments (IDE), in general. I’ve used plenty of them, especially when they are tightly tied to the tool I’m trying to use at the time. But when I’m not doing anything special, I tend to just write my code in emacs. Thinking about it, I suppose I really don’t mind an IDE if it has tools that actually help me. But if it is just a text editor and launches a few commands, I can do that from emacs or another editor of my choice. The chances that your favorite IDE is going to have as much editing capability and customization as emacs are close to zero. Even if you don’t like emacs, why learn another editor if there isn’t a clear benefit in doing so?

There are ways, of course, to use other tools with the Arduino and other frameworks and I decided to start looking at them. After all, how hard can it be to build Arduino code? If you want to jump straight to the punch line, you can check out the video, below.

Turns Out…

It turns out, the Arduino IDE does a lot more than providing a bare-bones editor and launching a few command line tools. It also manages a very convoluted build process. The build process joins a lot of your files together, adds headers based on what it thinks you are doing, and generally compiles one big file, unless you’ve expressly included .cpp or .c files in your build.

That means just copying your normal Arduino code (I hate to say sketch) doesn’t give you anything you can build with a normal compiler. While there are plenty of makefile-based solutions, there’s also a tool called PlatformIO that purports to be a general-purpose solution for building on lots of embedded platforms, including Arduino.

About PlatformIO

Although PlatformIO claims to be an IDE, it really is a plugin for the open source Atom editor. However, it also has plugins for a lot of other IDEs. Interestingly enough, it even supports emacs. I know not everyone appreciates emacs, so I decided to investigate some of the other options. I’m not talking about VIM, either.

I wound up experimenting with two IDEs: Atom and Microsoft Visual Studio Code. Since PlatformIO has their 2.0 version in preview, I decided to try it. You might be surprised that I’m using Microsoft’s Code tool. Surprisingly, it runs on Linux and supports many things through plugins, including an Arduino module and, of course, PlatformIO. It is even available as source under an MIT license. The two editors actually look a lot alike, as you can see.

PlatformIO supports a staggering number of boards ranging from Arduino to ESP82666 to mBed boards to Raspberry Pi. It also supports different frameworks and IDEs. If you are like me and just like to be at the command line, you can use PlatformIO Core which is command line-driven.

In fact, that’s one of the things you first notice about PlatformIO is that it can’t decide if it is a GUI tool or a command line tool. I suspect some of that is in the IDE choice, too. For example, with Code, you have to run the projection initialization tool in a shell prompt. Granted, you can open a shell inside Code, but it is still a command line. Even on the PlatformIO IDE (actually, Atom), changing the Blue Pill framework from Arduino to mBed requires opening an INI file and changing it. Setting the upload path for an FRDM-KL46 required the same sort of change.

Is it Easy?

Don’t get me wrong. I personally don’t mind editing a file or issuing a command from a prompt. However, it seems like this kind of tool will mostly appeal to someone who does. I like that the command line tools exist. But it does make it seem odd when some changes are done in a GUI and some are done from the command line.

That’s fixable, of course. However, I do have another complaint that I feel bad for voicing because I don’t have a better solution. PlatformIO does too much. In theory, that’s the strength of it. I can write my code and not care how the mBed libraries or written or the Arduino tools munge my source code. I don’t even have to set up a tool chain because PlatformIO downloads everything I need the first time I use it.

When that works it is really great. The problem is when it doesn’t. For example, on the older version of PlatformIO, I had trouble getting the mBed libraries to build for a different target. I dug around and found the issue but it wasn’t easy. Had I built the toolchain and been in control of the process, I would have known better how to troubleshoot.

In the end, too, you will have to troubleshoot. PlatformIO aims at moving targets. Every time the Arduino IDE or the mBed frameworks or anything else changes, there is a good chance it will break something. When it does, you are going to have to work to fix it until the developers fix it for you. If you can do that, it is a cost in time. But I suspect the people who will be most interested in PlatformIO will be least able to fix it when it breaks.

Bottom Line

If you want to experiment with a different way of building programs — and more importantly, a single way to create and build — you should give PlatformIO a spin. When it works, it works well. Here are a few links to get you started:

Bottom line, when it works, it works great. When it doesn’t it is painful. Should you use it? It is handy, there’s no doubt about that. The integration with Code is pretty minimal. The Atom integration — while not perfect — is much more seamless. However, if you learn to use the command line tools, it almost doesn’t matter. Use whatever editor you like, and I do like that. If you do use it, just hope it doesn’t break and maybe have a backup plan if it does.


Filed under: Arduino Hacks, ARM, Hackaday Columns, reviews, Skills