Python maps mouse movements on an LED matrix

[Vinod Stanur] is working with a mouse input and a microcontroller driven LED matrix. The mouse cursor is tracked inside of a window by Python and the resulting coordinates on the LED grid are illuminated. He calls it an LED matrix “Paint Toy” because one of the features he’s included lets the user create pixel art like in MS Paint.

The 10×8 grid of lights is controlled by a PIC 16F877A. This display orientation is perfect for the 8-bit controller, which uses an array of ten bytes to keep track of the pixel data. A computer running his Python application (which uses the Pygame module to track the mouse movements) communicates with the display board via an RF connection. Five bytes plus a stop character make up the communication packet. The first two bytes contain the coordinates of the cursor, the other three bytes contain mouse button status.

As you can see in the demo after the break, the system is very responsive. The mouse can be moved quickly without latency issues, and if the cursor leaves the tracking window it gets picked up right away when it re-enters.

Continue reading “Python maps mouse movements on an LED matrix”

PIC-based voice recorder

[Vinod] just finished building a voice recorder and it turned out even better than he thought it would. The video after the break shows him recording what is surely one of your favorite songs from his cellphone and then playing it back. The audio quality does sound quite good for a project with very few components.

A PIC 16F877A makes up the majority of the build. Its ADC is used to capture the incoming line from an amplified microphone input (you’ll find that amp schematic half way through his post). He’s storing the data on an MMC card, which was a bit of a hack since the PIC has limited RAM to manage that overhead. The stored data is in a raw format, as the card is not accessed using a file system. This makes it easy to record at a high bit rate, leading to better audio quality. Playback consists of connecting a speaker via a low-pass filter and amplifier circuit to the hardware PWM output on the PIC.

Continue reading “PIC-based voice recorder”

In-dash motorcycle display

[Muth] added an auxiliary display to his motorcycle instrument panel. He started out prototyping with a PIC 16F877A which he used to access information through the ECM diagnostic connection. Once he had that working he found this tiny display which fits perfectly between the speedometer and tachometer. There’s a short demo after the break where you can see a past-30-minute history of the Adaptive Fuel Value and the engine temperature as well as a secondary information screen.

This is another nice addition to our collection of vehicle displays, scooter controllers, gear indicators, and motorcycle computers.

Continue reading “In-dash motorcycle display”

Links expanded: Snake on LED matrix

[Yosh] came through with a link to the Snake playing LED matrix that he read about in our links post from yesterday. It seems that [Arty Fart] actually built three of these in green, yellow, and red. You can see him throw one together (an 8-10 hour job) in the video after the break. In addition to playing Snake the PIC 16F877A can also scroll messages, play a mean game of Tetris, and show a Pong screen saver on the 144 LED display. We love the clean build and the urge to make another LED matrix is becoming irresistible.

Now off to eBay for a good deal on a bulk LED order. Continue reading “Links expanded: Snake on LED matrix”

Polycarbonate fish uses three servos to swim


[Amnon] is learning the hard way that water and electronics don’t always like to play nicely together. He’s been working on creating a swimming fish that uses three servos to flex a sheet of fish-shaped polycarbonate. This photo doesn’t really do the project justice but you can get a better idea of what he’s accomplished by watching the videos after the break.

The three servos along with some distance sensors for obstacle avoidance are all controlled by a PIC 16F877A microcontroller. [Amnon] tried out three different waterproofing methods; coating the device in varnish, dipping it in hot glue, and dipping it in epoxy. The first two resulted in water damage to the electronics, but the third managed to work. It kept the water out, but also prevents reprogramming of the controller.

Although not successful, we would have loved to see the process of dipping the fish in a churning vat of molten glue. Once perfected, this may be the perfect platform for carrying our weapons of doom.

Continue reading “Polycarbonate fish uses three servos to swim”