[OlegZero] has some pet fish in his basement, and decided to work on a little project for them — an aquarium light that mimics the outdoors. He calls it the FishLight project.
His goal was to create a light panel that could imitate the color of the outdoor sky (approximately) using an RGB LED strip. During normal operation, the LEDs cycle through the colors of day, from dusk to dawn using an ATmega88 microcontroller. After his girlfriend saw what it could do, she quickly came up with the idea to add a cityscape to the background to turn it into a piece of attractive decor for their home.
Still fail to see the point of going to this much effort for a few fish? Well, besides it turning into a rather nice artistic light for their basement, the concept can be applied to other animals as well. Like encouraging chickens to produce more eggs by making the days “longer” with artificial light. As it turns out chickens produce less eggs when the days get shorter — an easy fix with something like this!
Over at DorkbotPDX in Portland, a member showed up with a stack of large LCD displays from point of sale terminals. [Paul] took it upon himself to reverse engineer the displays so that they can be recycled in future projects.
The control circuit for this LCD resides on a rather large PCB with quite a variety of components. The board was reduced to three main components: an MSM6255 display controller, a 32k RAM chip which is used as the framebuffer, and a tri-state driver.
With all the unneeded components out of the way, a custom board based around an ATmega88 MCU was added. This board was soldered in to interface with the LCD controller’s bus. This allows data to be written from the 128k flash ROM on the custom board into the frame buffer. Once this is done, the display controller will display the data on the LCD.
Now that data could be written, [Paul] figured out the correct configuration for the display controller. That was the final piece in getting images to show up correctly on the display. If you happen to find some old Micros 2700 POS terminals, [Paul]’s detailed write-up will help you scavenge the displays.
When brewing your own beer, temperature control is important. If the temperature isn’t regulated correctly, the yeast will be killed when it’s added to the wort. It’s best to cool the wort from boiling down to about 25 C quickly before adding yeast.
To do this, [Kalle] came up with a wireless temperature controller for his home brewing setup. The device uses a heat exchanger to cool the wort. An ATmega88 connected to a H-bridge controls a valve that regulates flow through the heat exchanger. It reads the current temperature from a LM35 temperature sensor and actuates the valve to bring the wort to a set point.
A neat addition to the build is a wireless radio. The nRF24L01 module provides a wireless link to a computer. There’s an Android application which communicates with the computer, providing monitoring of the temperatures and control over the set point from anywhere [Kalle] can get an internet connection.
We’re still not quite sure what to call these projects, but as we’ve said before, it’s a pleasure to see what people are doing to use one remote control to rule them all. The project being developed by [Kalle Löfgren] seeks to simplify the remote controlled items in his home by combining all control into one smart phone app. The linchpin of the system is this command center which lets a smart phone send IR and RF commands to various devices (translated).
We’ve seen this done with pretty beefy microcontrollers, like this project that uses a PIC32. But the communications going on between the smartphone and the base station are very simple, as are the remote control commands which are being relayed. So we’re not surprised to find that this setup just uses an ATmega88, IR LED, Bluetooth Module, and RF module. There is no connection to a computer (the USB simply provides power via a cellphone charger). If you’re interested in how [Kalle] sniffed the protocol for each remote he wrote two other articles which you can find in the write-up linked above.
[miceuz] has a friend that works as a theatre technician, and in the course of his job he often needs to jigger with various stage components while shows are in progress. As you can imagine, the lighting situation is far from ideal, so he asked [miceuz] to build him an adjustable lighting solution for his tool box.
The circuit itself is relatively straightforward, using an ATMega88 to provide the PWM required for dimming and color control. Input is taken from three different sources, a rotary encoder for color selection, a pot for brightness control, and a button to turn the light strip on and off.
[miceuz] says that while project came together pretty easily, it still presented some issues along the way which provide some useful design reminders for beginners (and some veterans) alike.
First and foremost: debounce, debounce, debounce. [miceuz] forgot this mantra and made a mad dash to add capacitors to his design after etching the PCB to ensure that his inputs were not bouncing all over the place. He also noted that one should always be sure to read the ADCL before the ADCH register when decoding ADC data. His final observation is that using thick traces is the best policy whenever possible – he ran into a lot of issues with traces detaching during assembly, which he had to rework with wire and solder.
In the end, his friend was happy with the result, and [miceuz] is a better hacker for having worked through his issues. What sorts of important/useful lessons have you learned through the course of your projects? Be sure to share them with us in the comments.
Wow. And furthermore, WOW! Just looking at that clean prototype you know that a lot of work has gone into the project, but when you hear this chiptune MIDI device you’ll really be impressed. We know what you’re thinking, but really, you’ve got to hear this to appreciate the quality [Linus Akesson] achieved in this synthesizer. You can catch it after the break.
He does a great job of showing off the different waveforms that can be produced by the ATmega88 on this board. But there’s much more. It also serves as a 16 frame, 16 channel sequencer for creating and layering your own loops.
He mentions that eight oscillators are used for the waveform generation. We don’t see hardware for this on the board. Either we’re missing it, or these oscillators are being created with software? If you have an idea of how this works please clue us in by leaving a comment.
Continue reading “Bitbuf delivers some of the best chiptune effects around”
[Hugo] went all out when sharing his findings while reverse engineering this small LED marquee. He purchased the 29×7 LED matrix for under $12 but was surprised to find that the USB connector wasn’t a standard type and didn’t come with a cable. He first soldered a standard connector in place and then set out to make the device do his bidding (translated).
What he accomplished can be seen in the video after the break. He can now connect to the device via a USB cable, sending it new messages and adjusting the speed at which it scrolls. He can also adjust the spacing between letters, reverse the scrolling direction, read the on-board buttons, and write the settings to the device’s EEPROM. This is all thanks to some alternative firmware that [Hugo] wrote for the ATmega88. You can download a copy of that code from the wiki page he put together (translated). We really appreciate the time he spent putting that page together. The wealth of information he gathered during the hacking process serves as an example of the best way to share your projects with the world.
Continue reading “Reverse engineering a cheap LED message marquee”