OBDII to Speed Pulse: Atmel ICE

Building An OBD Speed Pulse: Behold The ICE

I am a crappy software coder when it comes down to it. I didn’t pay attention when everything went object oriented and my roots were always assembly language and Real Time Operating Systems (RTOS) anyways.

So it only natural that I would reach for a true In-Circuit-Emulator (ICE) to finish of my little OBDII bus to speed pulse generator widget. ICE is a hardware device used to debug embedded systems. It communicates with the microcontroller on your board, allowing you to view what is going on by pausing execution and inspecting or changing values in the hardware registers. If you want to be great at embedded development you need to be great at using in-circuit emulation.

Not only do I get to watch my mistakes in near real time, I get to make a video about it.

Getting Data Out of a Vehicle

I’ve been working on a small board which will plug into my car and give direct access to speed reported on the Controller Area Network (CAN bus).

To back up a bit, my last video post was about my inane desire to make a small assembly that could plug into the OBDII port on my truck and create a series of pulses representing the speed of the vehicle for my GPS to function much more accurately. While there was a wire buried deep in the multiple bundles of wires connected to the vehicle’s Engine Control Module, I have decided for numerous reasons to create my own signal source.

At the heart of my project is the need to convert the OBDII port and the underlying CAN protocol to a simple variable representing the speed, and to then covert that value to a pulse stream where the frequency varied based on speed. The OBDII/CAN Protocol is handled by the STN1110 chip and converted to ASCII, and I am using an ATmega328 like found on a multitude of Arduino’ish boards for the ASCII to pulse conversion. I’m using hardware interrupts to control the signal output for rock-solid, jitter-free timing.

Walk through the process of using an In-Circuit Emulator in the video below, and join me after the break for a few more details on the process.

Continue reading “Building An OBD Speed Pulse: Behold The ICE”

DIY Lap Counters For Drone Racing

Drone racing is a very exciting sport, in which there is a lot of room for hackers and makers to add that special sauce into the mix. Usually the aerial finish line requires special race-timing hardware to do the lap counting, and there are timing gate transponders available for around $40. In his project CoreIR and CoreIR-Uplink, [Michael Rickert] decided to reverse engineer the IR Protocol that goes into these beacons and made a homebrew version that mimics the original. The transponders send a 7-digit number out repeatedly to a receiver at the finish line as the UAV passes by and that helps track how fast drone pilots flew around a race track. The hack involves flipping an IR LED ON and OFF with the correct timing, and [Michael Rickert] confesses that it was not as easy as he had imagined.

Using a logic analyser he was able to capture the modulated 38Khz carrier signal and extract the timing from the original beacon, but it took a number of iterations to get the code just right. The IRRemote library has a ‘sendRaw’ function which is quite helpful in these situations and was employed for the task. He experimented with a number of Arduino boards to power the project, before finally going with the Arduino Pro Mini. He has shared the code on github, along with photos of the finished hack which replaces the original circuit. The final sketches include functions to generate the 7-digit code to uniquely identify the quadcopter, which completes the hack in itself.

If that was not enough, he’s gone a step further by coding and sharing a desktop client as well, which turns this hack into a full-fledged project and should prove quite useful for drone racers on a budget. The app is written in NodeJS and packaged using the electron framework, a choice that makes for a very simple way to create cross-platform desktop applications.

A build tutorial is available for you to get started, and if drone racing seems a bit tame, check out Drone Wars for a little more carnage.

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.

Continue reading “Mission Control For Kerbal”

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.

Continue reading “Hack Your Hike With This Arduino Puzzle Geocache”

Flooded house

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.

Portable Bluetooth Speaker Reacts To Sound

[IanMeyer123] should be working on his senior design project. Instead, he’s created a sound-reactive Bluetooth speaker that may not earn him an A grade but will at least keep the team entertained.

[Ian] started with the amp and power. The amp is a 15 watt, 12 volt model based on the popular TDA7297 chip. Power comes from a portable laptop battery rated at 185 Wh. [Ian] himself said that is absolute overkill for this project. While [Ian] hasn’t run any longevity tests on his setup, we’re guesstimating it would be rated in days.

Every Bluetooth speaker needs a sweet light show, right? [Ian] wrapped his 2″ full range speakers in Neopixel rings from Adafriut. The WS2812’s are driven by an Arduino. When music is playing, MSGEQ7 allows the Arduino to play a light show in time to the beat. When the stereo is off, a DS3231 real-time clock module allows the Arduino to display the time on the two rings. If you’re curious about the code for this project, [Ian] posted it on his Reddit thread. Reddit isn’t exactly a great code repository, so please, [Ian] setup a GitHub account, and/or drop your project on Hackaday.io!

[Ian] didn’t realize how many wires would be flying around inside the speaker. That may be why the wiring looks a bit scary. All the chaos is hidden away, underneath a well-built wooden case.

If you want to see another take on a Bluetooth speaker with a Neopixel display, check [Peter’s] project here. Interested in more portable power units? This one’s for you!

Continue reading “Portable Bluetooth Speaker Reacts To Sound”

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.  Continue reading “Vintage Vending Machine Makes The Perfect Gift”