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.

Binary Clock Fit For Queen Elsa’s Ice palace

When life gives you lemons, you make lemonade. When life gives you freezing cold temperatures and a yard full of snow, you make binary clocks out of ice. At least that’s what [Dennis] does, anyway.

[Dennis’] clock is made from several cylindrical blocks of ice stacked on top of one another. There are six columns of ice blocks. The blocks were made by pouring water into empty margarine containers and freezing them. Once they were frozen, [Dennis] bore a 5/16″ hole into the bottom of each block to house an LED. Wires ran from the LEDs back into the drainage port of a cooler.

The cooler housed the main electronics. The LED controller board is of [Dennis’] own design. It contains six TLC59282 chips allowing for control of up to 96 LEDs. Each chip has its output lines running to two RJ45 connectors. [Dennis] couldn’t just use one because one of the eight wires in the connector was used as a common power line. The main CPU is an Arduino. It’s hooked up to a DS3234 Real Time Clock in order to keep accurate time. The oscillator monitors temperature in order to keep accurate time even in the dead of winter. Continue reading “Binary Clock Fit For Queen Elsa’s Ice palace”

Drums Anywhere!

The students over at Cornell’s School of Electrical and Computer Engineering have been hard at it again with their senior projects. This time, it’s the very tiny and portable drumset dubbed Drums Anywhere by its creators [Shiva Rajagopal] and [Richard Quan]. Since there are other highly portable instruments like roll-up pianos, they suppose there should be a portable drum kit that actually sounds like drums, and this ECE duo have hit the metaphorical and physical drum on the head… except that this project doesn’t actually use physical drums to make sound.

The project consists of two 3D-printed box-like sensors with velcro straps that can be attached to any drumstick-shaped object that might be lying around. Inside the box is a flex sensor and a tiny microphone which report the “beats” to a microcontroller when they strike another object.

On the software side, there are two sampled sounds stored in the microcontroller but they plan to add more sounds in the future. The microcontroller outputs sound to a pair of speakers, and the sensors are sensitive to force, so the volume can range from almost inaudible all the way up to [John Bonham]-style booms. This could also be theoretically expanded to include more than two “beat boxes” for extra sounds, or be wireless. The options are virtually limitless, although the team notes that they are limited by the number of interrupts and ADC converters on their particular microcontroller, an ATmega1284.

This is another interesting take on a having drumset without the drums, and definitely expands the range of what a virtual drum set can do. It’s also great to see interesting projects coming from senior design classes! Be sure to check out the video after the break.

Continue reading “Drums Anywhere!”

Never Forget Your USB Stick Again

USB sticks are very handy. They are a very portable and relatively inexpensive means of storing data. Possibly the most annoying part about using one of these devices is when you inevitable leave it behind somewhere by accident. This is especially true if it contains sensitive information. [Eurekaguy] feels your pain, and he’s developed a solution to the problem.

[Eurekaguy] designed a custom cap for USB sticks that beeps approximately every minute after the USB stick has been plugged in for five minutes. The cap is 3D printed and then slightly modified with four 1mm holes. Two wires are routed between these holes to make contact points for the VCC and GND pins of the USB stick.

The beep circuit is comprised of a tiny PIC12F629 microcontroller along with a couple of other supporting components. The circuit is wired together dead bug style to conserve space. Three AG5 batteries power the circuit. A small piezo speaker provides the repeating beep to remind you to grab your USB stick before you walk away from the computer.

[Thanks Irish]

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”

Scope Noob: Microcontroller Quirks with DDS

In this installment of Scope Noob I’m working with Direct Digital Synthesis using a microcontroller. I was pleasantly surprised by some of the quirks which I discovered during this process. Most notably, I had a chance to look at errant triggers solved by using holdoff and a few timing peculiarities introduced by my use of the microcontroller. Here’s a video synopsis but I’ll cover everything in-depth after the break.

Continue reading “Scope Noob: Microcontroller Quirks with DDS”

Solar Powered Circuit Waters Your Plants


If you want your plants to stay healthy, you need to make sure they stay watered. [Dimbit] decided to build his own solar powered circuit to help automatically keep his plants healthy. Like many things, there is more than one way to skin this cat. [Dimbit] had seen other similar projects before, but he wanted to make his smarter than the average watering project. He also wanted it to use very little energy.

[Dimbit] first tackled the power supply. He suspected he wouldn’t need much more than 5V for his project. He was able to build his own solar power supply by using four off-the-shelf solar garden lamps. These lamps each have their own low quality solar panel and AAA NiMH cell. [Dimbit] designed and 3D printed his own plastic stand to hold all of the solar cells in place. All of the cells and batteries are connected in series to increase the voltage.

Next [Dimbit] needed an electronically controllable water valve. He looked around but was unable to find anything readily available that would work with very little energy. He tried all different combinations of custom parts and off-the-shelf parts but just couldn’t make something with a perfect seal. The solution came from an unlikely source.

One day, when [Dimbit] ran out of laundry detergent, he noticed that the detergent bottle cap had a perfect hole that should be sealable with a steel ball bearing. He then designed his own electromagnet using a bolt, some magnet wire, and a custom 3D printed housing. This all fit together with the detergent cap to make a functional low power water valve.

The actual circuit runs on a Microchip PIC microcontroller. The system is designed to sleep for approximately nine minutes at a time. After the sleep cycle, it wakes up and tests a probe that sits in the soil. If the resistance is low enough, the PIC knows that the plants need water. It then opens the custom valve to release about two teaspoons of water from a gravity-fed system. After a few cycles, even very dry soil can reach the correct moisture level. Be sure to watch the video of the functioning system below. Continue reading “Solar Powered Circuit Waters Your Plants”