Hackaday Prize Entry: DIY ARM Scientific Calculator

What does a hacker do when he or she wants something but can’t afford it? They hack one together, of course. Or, in the case of [Ramón Calvo], they thoughtfully plan and prototype. [Ramón Calvo] wanted a scientific calculator, but couldn’t afford one, so he designed and built one himself.

[Ramón] started off with Arduino but upgraded initially to Freescale’s Freedom KL25Z development board upgraded to an ARM Cortex-M0+ programmed using mbed. The display is an Electronic Assembly DOGL-128 128×64 pixel LCD. [Ramón] did a couple of iterations on the PCB, going from a large DIY one in order for the Arduino version to work, to the current, smaller version for the ARM chip with hand soldered SMD components. After that, [Ramón] looked into the algorithms needed to parse mathematical input. He settled on the shunting-yard algorithm, which converts the input into Reverse Polish Notation (RPN), which is easier for the software to work with.

[Ramón] has a ton of features working, including your standard add, subtract, multiply and divide operations, square root, nth root and exponentiation, trigonometry, log and log10, and factorial(!) There are a few things still on the to-do list, such as low power and a graphing mode, and there are a couple of bugs still in the system, but the overall system is up and running. [Ramón] has put up the schematic and KiCAD files up on his Hackaday.io project page along with the bill of materials.

We’ve had a few Hackaday prize entries in the form of calculators, such as this one with Nixie tubes and this one that emulates 70’s HP calculators.

Detect Cars Running Stop Signs (and Squirrels Running Across the Roof)

There’s a stop sign outside [Devin Gaffney]’s house that, apparently, no one actually stops at. In order to avoid the traffic and delays on a major thoroughfare, cars take the road behind [Devin Gaffney]’s house, but he noticed a lot of cars didn’t bother to stop at the stop sign. He had a Raspberry Pi and a camera, so he set them up to detect the violating cars.

His setup is pretty standard – Raspberry Pi and camera pointed outside at the intersection. He’s running OpenCV and using machine learning to detect the cars and determine if they have run the stop sign or not. His website has some nice charts showing when the violations occurred by hour and by day of the week. Also on the site are links that you can use to help train the system in noticing cars, cars that run the stop sign, determining if there’s enough of the video to determine if there’s a violation, and whether or not there’s a car going the wrong way through the intersection.

This is an interesting use of the Pi and OpenCV; there’s no guarantee that this will help the people of [Devin Gaffney]’s neighborhood, but hopefully gives them some ammunition (assuming they want something done about the intersection.) It’s a cheap and easy setup and it’s nice to let the community have a hand in training the system. For more OpenCV, check out this article on taking the perfect jump shot or this one which tries to quantify cloudiness. Cool stuff.

[via reddit]

Continue reading “Detect Cars Running Stop Signs (and Squirrels Running Across the Roof)”

Gaming Beyond Retropie

Looking for something a bit more from your Raspberry Pi? Tired of the usual console and arcade games? Eltech’s Exagear Desktop is a virtual machine that runs on your Raspberry Pi and allows you to run x86 games. [Dmitry]’s done a write-up about running more modern games on your Raspberry Pi.

Up until now, the Pi has been a great platform for retro gaming. By running MAME or EmulationStation, you can play classic arcade games as well as the great console games you played as a kid. Exagear Desktop goes one further, allowing you to use Wine to play more modern PC games on your Raspberry Pi 3.

The Pi 3 is still a bit underpowered for bleeding edge games, but is powerful enough that it can play some of the PC games from a few years ago. [Dmitry]’s example shows how to get Arcanum, Disciples II, and Fallout running on the Raspberry Pi. In the second part of the write-up, [Dmitry] shows you how to get Heroes of Might and Magic 3, Sid Meier’s Alpha Centauri, and Caesar 3 installed and running as well.

Obviously they will always lag behind today’s gaming machines, but the power now available in a computer the size of a credit card is pretty impressive. It’s nice to have a tool that allows one to play more than just the console games from years gone by — this opens up a whole range of great PC games to add to our library. Maybe it’s time to fabricate that new PC game controller.  Or, if the Raspberry Pi seems like too much power, you could consider playing retro games on an Arduino.

Before There were Nixie Tubes, There Were Edge-Lit Displays?

We’ve seen a bunch of replacements for nixie tubes using LEDs and edge-lit acrylic for the numbers. But one of the earliest digital voltmeters used edge-lit Lucite plates for the numbers and a lot of incandescent lamps to light them up.

[stevenjohnson] has a Non-Linear Systems Model 481 digital voltmeter and he’s done a teardown of it so we can get a glimpse of the insides. Again, anyone who’s seen the modern versions of edge-lit numeric displays knows what they are: A series of clear plastic plates with numbers (or characters) etched into them, each with a light source beneath them. You turn one light on to light one plate, another to light another, and so on. The interesting bit here is the use of incandescent bulbs and the use of sequential relays to cycle through the lights. The relays make a lot of racket, especially with the case open.

[stevenjohnson] also notes that he might have made a mistake opening up the part of the machine where the plates are stored as it took him a bit to get the plates back in place and back in the unit. We’d imagine it was pretty loud if you were taking a lot of measurements with this machine, although it looks great inside and, obviously, the idea is a pretty good one. Check out this edge-lit nixie tube display or these edge-lit numeric modules.

[via boingboing]

Continue reading “Before There were Nixie Tubes, There Were Edge-Lit Displays?”

Count Your Zombies! A Left4Dead 2 Stat Tracker

Sure, you’re getting further and further into the game and finishing missions, but the true progress for a zombie shooter is how many zombies you’ve killed, right? [Evan Juras] agreed, so he set off to build a hardware stat tracker for Left4Dead 2!

Left4Dead 2 tracks a bunch of stats and at the end of each level, those stats are updated on your Steam page. [Evan] used a Python script running on a Raspberry Pi to connect to the internet and grab four different stats from your Steam profile. Those stats are displayed on an RGB 16×2 display. To house the project, a case for it was designed and [Evan] had it 3D printed. There are two buttons on the case: one to update the stats and another to cycle through them. If no buttons are pressed then the display cycles through the stats every minute and updates the stats every 24 hours.

The video below shows a summary of the build process and describes the hardware and software used. [Evan] has plans for tracking stats from other games through Steam and his python code is available on Github. Python is becoming the go-to tool for interacting with video game bots and now, stats — see this list of Pokemon Go bots. Also, check out this feature about running MicroPython on an ESP8266 if you wanted to build something similar to this without the Raspberry Pi.

Continue reading “Count Your Zombies! A Left4Dead 2 Stat Tracker”

Wake Up! The Cat Came Back!

In order to get the most out of the batteries connected to your microcontroller, you’ll probably need to put it to sleep, the deeper the better. [Rgrokett] was curious about the nighttime habits of his cat, and came up with a nice little hack to get more battery life out of the ESP8266 that he was using.

[rgrokett]’s cat enters and leaves through a cat-door. He figured a PIR sensor would let him know when there was movement around the door. He could then tell if the cat was around. Leaving the PIR sensor and the ESP8266 microcontroller (an Adafruit Huzzah) on all the time drained the batteries pretty quickly, so [rgrokett] decided to try putting the Huzzah to sleep.

The trick in this build is that the PIR sensor is used to reset the Huzzah when it triggers. The Huzzah requires the reset switch to go from high to low, but the PIR trigger goes from low to high, so a transistor is used to invert the PIR sensor’s trigger signal. When the Huzzah wakes up, it connects to the WiFi network and sends [rgrokett] an email via IFTTT ([rgrokett]’s description goes over the steps to set up a secure connection to IFTTT.)

It’s a pretty simple hack, but it increases [rgrokett] system’s battery life from a couple of days to more than a month (he’s still waiting to see how long they’ll last) and all that was needed was the microcontroller, the sensor and a couple of parts. We have a couple of older hacks about putting the ESP modules into deep sleep, such as this one, and check out this tutorial on PIR sensors.

Enter the Space Tunnel

What’s better than 1 string of LED lights? 96. That’s how many. Each string of the 96 has 60 ws2812b LEDs, for a total of 5760 individually addressable RGB LEDs.  That’s not the cool part of [jaymeekae]’s Space Tunnel installation, the cool part is that they’re interactive.

Starting out with some PVC piping, dark cloth was used as a backdrop and the LED strips were attached to it. Several power supplies are used to supply the voltage necessary and each strip controlled by FadeCandy chips which connect to, in this case, a Windows PC via USB. Initially, computer power supplies were used, but they couldn’t supply the current necessary. [jaymeekae] used them for the first installation, but switched to better power supplies for further installations.

Once the lights were up and powered, [jaymeekae] started work on the interface to control them. Starting with a used bureau, [jaymeekae] cut out a section for the touchscreen, and installed the controlling computer in the bottom half. Processing is used to interface with the FadeCandy controllers and HTML is used for a user interface. Each mode runs a different Processing program for different effects, including audio visualization, a space tunnel mode (hence the name) and a cool drawing app where the user draws on the touchscreen and sees the results in the lights overhead.

Over several iterations, the Space Tunnel has evolved, with better power supplies and a better interface. It’s a great art installation and [jaymeekae] takes it to festivals, including one in Spain and one in the UK. There are some other LED string projects at Hack-a-Day, including this one with ping-pong balls, and this one that involves drinking a lot of beer first.

[via Reddit]

Continue reading “Enter the Space Tunnel”