Unary Clock for the Binary-Challenged

If binary clocks have you confused by all the math required to figure out what time it is, we have the solution for you: a unary clock. After all, what’s simpler than summing up powers of two? Powers of one! To figure out the time, you start with the ones digit. If it’s on, you add one to the total. Then move on to the next digit. Since 12 equals one, you add another one if it’s lit. Then on to the third LED. 13 = 1, so if it’s lit, you add another one, and so on.

OK, we’re messing around. Calling this a “unary” clock is ridiculous. When it’s seven o’clock, there are seven LEDs lit. Nice and easy to read. Sixty minute LEDs is silly, so here each minute LED stands for five minutes. Good enough.

What we really like about this clock is the build. It’s intended as educational for school kids, so it has to be simple to build and easy to personalize. Building the body out of Lego bricks fits the specs nicely. Transparent Lego bricks are used to give the white LEDs some color. That was too bright, so [Shrimping It] added paper cutouts from a hole punch as diffusers.

Clock builds are a great intro to electronics because they offer so many possibilities. Whether you want to go geary, use the clock as an excuse to try out fabrication techniques, or showcase a neat display technology, your imagination has a lot of room to wander. Show us yours?

Kids and Hacking: The One Hour Egg Drop

In the last Hacking and Kids post, I talked about an activity you can do with kids when you don’t have a lot of time or resources. The key idea was to have fun and learn a little bit about open and closed loop control. One of the things I usually briefly mention when I do that is the idea of a design trade: Why, for example, a robot might use wheels instead of legs, or treads instead of wheels.

Engineers and makers perform trades like this all the time. Suppose you are building a data logging system. You want precise samples, large storage capacity, and many channels. But you also want a low cost and low power drain. You might also want high reliability. All of these requirements will lead to different trades. A hard drive would provide a lot of space, but is more expensive, less reliable, larger, and more power hungry than, say, an SD card. So there isn’t a right choice. It depends on which of the factors are most important for this particular design. A data logger in a well-powered rack might be well served to have a terrabyte hard drive, while a battery powered logger in a matchbox that will be up on the side of a mountain might be better off with an SD card.

We can all relate to that example, but it is pretty boring to a kid. You probably can’t get them to design a data logger, anyway. But if I have about an hour and a little prep time, I have a different way to get the same point across. It is a modified version of the classic “egg drop”, but it is simple enough to do in an hour with very little preparation time.

Continue reading “Kids and Hacking: The One Hour Egg Drop”

Flat Pack Elastic Band Lamp is a Thing of Beauty

[Matt] was looking for a project for his senior industrial design studio at Wentworth Institute of Technology. He ended up designing a clever lamp that can be flat packed. [Matt] started by drawing out designs on paper. He really liked the idea of combining curves with straight lines, but he wanted to translate his two-dimensional drawings into a three-dimensional shape.

zOz0ys6 - ImgurHaving access to a laser cutter made the job much easier than it could have been and allowed [Matt] to go through many designs for the lamp frame. The two main pieces were cut from acrylic and include mounting pegs for the elastic bands. The two plastic pieces are designed to slot together, forming a sort of diamond shape.

The final version of the lamp required that the elastic bands had holes punched in them for mounting. The holes were placed over the small pegs to keep the bands in place. [Matt] used 3/4″ industrial elastic bands for this project. He then used a 120V 15W candelabra light bulb to illuminate the lamp. The final design is not only beautiful, but it can be flat packed and manufactured inexpensively.

If you want more inspiration for artistically designed lamps check out this one that uses the corrugation in cardboards as a shade pattern.

[via reddit]

Hacking Oklahoma State University’s Student ID Cards

[Sam] took an information security class at Oklahoma State University back in 2013. For his final project, he and a team of other students had to find a security vulnerability and then devise a theoretical plan to exploit it. [Sam’s] team decided to focus on the school’s ID cards. OSU’s ID cards are very similar to credit cards. They are the same size and shape, they have data encoded on a magnetic strip, and they have a 16 digit identification number. These cards were used for several different purposes. Examples include photo ID, physical access to some areas on campus, charges to an online account, and more.

[Sam] and his team analyzed over 100 different cards in order to get a good sample. They found that all cards started with same eight digits. This is similar to the issuer identification number found in the first six digits of a credit card number. Th analysis also showed that there were only three combinations used for the next two digits. Those were either 05, 06, or 11. With that in mind, the total possible number of combinations for card numbers was mathematically calculated to be three million.

OSU also had a URL printed on the back of each card. This website had a simple form with a single field. The user can enter in a 16 digit card number and the system would tell the user if that card was valid. The page would also tell you if the card holder was an employee, a student, or if there were any other special flags on the card. We’re not sure why every student would need access to this website, but the fact is that the URL was printed right on the back of the card. The website also had no limit to how many times a query could be made. The only hint that the university was aware of possible security implications was the disclaimer on the site. The disclaimer mentioned that usage of the tool was “logged and tracked”.

The next step was to purchase a magnetic card reader and writer. The team decoded all of the cards and analyzed the data. They found that each card held an expiration date, but the expiration date was identical for every single card.  The team used the reader/writer to copy the data from [Sam’s] card and modify the name. They then wrote the data back onto a new, blank magnetic card. This card had no printing or markings on it. [Sam] took the card and was able to use it to purchase items from a store on campus. He noticed that the register reached back to a server somewhere to verify his real name. It didn’t do any checks against the name written onto the magstripe. Even still, the cashier still accepted a card with no official markings.

The final step was to write a node.js script to scrape the number verification website. With just 15 lines of code, the script will run through all possible combinations of numbers in a random sequence and log the result. The website can handle between three and five requests per second, which means that brute forcing all possible combinations can be completed in roughly two days. These harvested numbers can then be written onto blank cards and potentially used to purchase goods on another student’s account.

[Sam’s] team offers several recommendations to improve the security of this system. One idea is to include a second form of authorization, such as a PIN. The PIN wouldn’t be stored on the card, and therefore can’t be copied in this manner. The primary recommendation was to take down the verification website. So far OSU has responded by taking the website offline, but no other changes have been made.

Arduino Tetris on a Multiplexed LED Matrix

[Alex] needed a project for his microcomputer circuits class. He wanted something that would challenge him on both the electronics side of things, as well as the programming side. He ended up designing an 8 by 16 grid of LED’s that was turned into a game of Tetris.

He arranged all 128 LED’s into the grid on a piece of perfboard. All of the anodes were bent over and connected together into rows of 8 LED’s. The cathodes were bent perpendicularly and forms columns of 16 LED’s. This way, if power is applied to one row and a single column is grounded, one LED will light up at the intersection. This method only works reliably to light up a single LED at a time. With that in mind, [Alex] needed to have a very high “refresh rate” for his display. He only ever lights up one LED at a time, but he scans through the 128 LED’s so fast that persistence of vision prevents you from noticing. To the human eye, it looks like multiple LED’s are lit up simultaneously.

[Alex] planned to use an Arduino to control this display, but it doesn’t have enough outputs on its own to control all of those lights. He ended up using multiple 74138 decoder/multiplexer IC’s to control the LED’s. Since the columns have inverted outputs, he couldn’t just hook them straight up to the LED’s. Instead he had to run the signals through a set of PNP transistors to flip the logic. This setup allowed [Alex] to control all 128 LED’s with just seven bits, but it was too slow for him.

His solution was to control the multiplexers with counter IC’s. The Arduino can just increment the counter up to the appropriate LED. The Arduino then controls the state of the LED using the active high enable line from the column multiplexer chip.

[Alex] wanted more than just a static image to show off on his new display, so he programmed in a version of Tetris. The controller is just a piece of perfboard with four push buttons. He had to work out all of the programming to ensure the game ran smoothly while properly updating the screen and simultaneously reading the controller for new input. All of this ran on the Arduino.

Can’t get enough Tetris hacks? Try these on for size.

Boxing Trainer Uses DIY Force Sensors

A team of Cornell students have designed and built their own electronic boxing trainer system. The product of their work is a game similar to Whack-A-Mole. There are five square pads organized roughly into the shape of a human torso and head. Each pad will light up based on a pre-programmed pattern. When the pad lights up, it’s the player’s job to punch it! The game keeps track of the player’s accuracy as well as their reaction time.

The team was trying to keep their budget under $100, which meant that off the shelf components would be too costly. To remedy this, they designed their own force sensors. The sensors are basically a sandwich of a few different materials. In the center is a 10″ by 10″ square of ESD foam. Pressed against it is a 1/2″ thick sheet of insulating foam rubber. This foam rubber sheet has 1/4″ slits cut into it, resulting in something that looks like jail bars. Sandwiching these two pieces of foam is fine aluminum window screen. Copper wire is fixed the screen using conductive glue. Finally, the whole thing is sandwiched between flattened pieces of corrugated cardboard to protect the screen.

The sensors are mounted flat against a wall. When a user punches a sensor, it compresses. This compression causes the resistance between the two pieces of aluminum screen to change. The resistance can be measured to detect a hit. The students found that if the sensor is hit harder, more surface area becomes compressed. This results in a greater change in resistance and can then be measured as a more powerful hit. Unfortunately it would need to be calibrated depending on what is hitting the sensor, since the size of the hitter can throw off calibration.

Each sensor pad is surrounded by a strip of LEDs. The LEDs light up to indicate which pad the user is supposed to hit. Everything is controlled by an ATMEGA 1284p microcontroller. This is the latest in a string of student projects to come out of Cornell. Make sure to watch the demonstration video below. Continue reading “Boxing Trainer Uses DIY Force Sensors”

Home Automation with a Custom Wireless Sensor Network

We’re no strangers to home automation projects around here, but it’s not often that you see one described in this much detail. [Paul] designed a custom home automation system with four teammates for an undergraduate thesis project.

The system is broken into two main components; the server and the peripherals. The team designed their peripherals from early prototypes of an upcoming ArduIMU v4 measurement unit. They removed all of the default sensors to keep costs down and reduce assembly time. The units can them be hooked up to various peripherals such as temperature sensors, mains relays, RGB color strips, etc.

The central management of the system is performed using a web-based user interface. The web server runs on Java, and interacts with the peripherals wirelessly. Basic messages can be sent back and forth to either read the state of the peripherals or to change the state. As far as the user is concerned, these messages appear as simple triggers and actions. This makes it very simple to program the peripherals using if, then, else logic.

The main project page is a very brief summary of what appears to be a very well documented project. The team has made available their 182 page final report (pdf), which goes into the nitty-gritty details of the project. Also, be sure to watch the demonstration video below. Continue reading “Home Automation with a Custom Wireless Sensor Network”