96×48 full-color LED Matrix

LED Panels

A few years ago I built a red-only 32 pixels high, 96 pixels wide LED Matrix, and due to all the positive responses I sought out to do it again the year after with a bigger better matrix. I did some research into affordable solutions, and as usual ended up with Chinese vendors. I got my hands on about 10 32×16 RGB LED panels with a 1cm pixel pitch, and a HUB75 connection, quite similar to the ADAFruit 32×16 matrix. ADAFruit had a bunch of information on them, and there are several other places where they’re being used, so I figured I’d give it a shot. I even bought a Digilent Basys 2 FPGA development board, as these boards are apparently best driven by an FPGA, and I was willing to pick that up.

However, when I started working on it initially, I found out that the Basys 2 did not even have enough memory for 24-bit color, and with my microcontroller of choice at that moment (TI Stellaris) I did not get more than 16-bit color without flickering. While the panels looked fun, with 16-bit color everything still looked very basic, and very limited. Definitely not the neat full-color panels I had in mind. I figured I’d either have to shell out for a much more expensive FPGA, or buy one of the purpose-built LED drivers from china, both of which were out of my budget for this project. The panels disappeared in a box somewhere, only to be stumbled upon at least 2 year later.
Continue reading 96×48 full-color LED Matrix

Dx.com’s Multi-Function 4WD Arduino Robot Car Kit

While browsing through DX.com’s new arrivals section, I stumbled upon this package:

Multi-Function 4WD Arduino Robot Car Kits

Seeing as I still had a bet with a friend to, at some point in our lives, do a real-life Robot Wars, I figured I’d give it a shot. It just got in a few days ago, so I figured I’d write a quick review. Continue reading Dx.com’s Multi-Function 4WD Arduino Robot Car Kit

Digital Addressable LED-strips

About a year ago, I ordered a few WS2801-type addressable RGB LED strips, and have been very happy with them since. Today I was curious how much they cost nowadays, and if anything new was out in China. It appears that a lot has changed since the last time I looked. Back then there were a few different chips, but the WS2801 was the only one doing 8-bit PWM, now there’s even a chip doing 12-bit PWM! However, it also appears that the protocol that was used back then (basic two-wire SPI) has been replaced by single-wire protocols requiring precise timing.

Seeing as there’s just too much choice and the information is scattered all over the place, I figured I’d do a summary of all I could find. Unfortunately I haven’t been able to actually get engineering samples of any of these strips, but I’m hoping that I can still compile a summary using only the datasheets. So here goes in alphabetical order! Continue reading Digital Addressable LED-strips

Turning a JY-MCU 3208 into something useful

During a recent impulse-buy at DealExtreme I added the following two items to my cart:

I intended to just play around with it, with no particular purpose in mind. However, I’ve recently been asked to bake up a clock-like display, and figured I could use these two for that purpose. This post will be the first in a series detailing what I’m doing with it, and how I’ve done so. The first post will focus on what the boards contain, where to get information, and a small summary of some of my plans.

JY-MCU 3208 Lattice Clock summary

First the JY-MCU 3208 Lattice Clock. Basically it’s just a little development board that comes out of the box with:

  • An ATMega8L clocked at 1MHz, but able to be clocked to 2MHz, 4MHz, or 8MHz
  • An external crystal of 32.768KHz intended for timekeeping, wired to TOSC1 (PB6) and TOSC2 (PB7)
  • 4 8×8 LED-arrays with red LEDs. Apparently it also houses green LEDS, but those have not been wired. You could, however, reuse these panels in a different project and use green too.
  • A HT1632C-chip to drive those LED arrays.
  • An AVR 10-pin ISP header that’ll plug right into most AVR-programmers, and features the TX and RX pins brought out to two of the ground pins.
  • A cylindrical powerjack-receptacle, with what appears to be an outside diameter of 5.5mm, 9.5m length, and an unknown inside diameter. All plugs I had of 5.5mm OD seemed to fit, so I’m not sure. (Maybe someone with an advanced caliper can confirm this?)

Apart from that it comes with solder-pads for a lot more components that you can solder on manually:

  • Two different Real-time clock chip designs, complete with backup battery (either a Maxim DS1302, or an RX-8325NB + RX-8025SA, both with a CR927 battery or battery holder)
  • A digital thermometer (Maxim 18B20)
  • A speaker
  • An LED wired in such a way that it can be used as a light sensor
  • A Mini-USB plug wired properly to be used with firmware libraries like V-USB
  • An IR-receiver

The factory firmware is basically a clock, but it’s highly inaccurate, and loses it’s time whenever it loses power. Even though it’s a nice demo, I think the real power of this board comes from the fact that you can write your own firmware and the PCB contains traces and solder-pads for virtually anything you’d want to make with a 32×8 display like this. Out of the box you could use it to receive data from the UART TX/RX pins and put that on the screen, which would make a nice display for something like an arduino, if you add extra components you could make a clock, a USB display, thermometer, or anything else you can come up with that uses a combination of the things listed above.

JY-MCU LM1640 summary

This one is a bit simpler. Out of the box, it’s just 4 4-digit 8-segment displays with a TM1640 chip to drive them. However, here too there’s room for more!

There’s solder-pads available for something like an ATTiny25/45/85 chip, with the option of removing two resistors so the TM1640 is connected to 2 output pins of the ATTiny, and the normal DIN and SCLK inputs will then wire to the ATTiny’s DI/DO pins, allowing for something like serial communication.

On top of that it allows you to place two push buttons directly wired to the ATTiny in case you’d like to run it standalone.

Stand-alone it’s nice for a display on any microcontroller/arduino project. With the ATTiny, you can write up an easier protocol, or even have it running as a standalone display.

My plans

My current plan is to create a clock, with the LM1640 used as an extra display to show, for example, the year, month, and day. I also plan to add an USB option so that you can synchronize the time with a computer, and possibly use the displays directly from the PC.

For this I’ll be adding the DS1302 RTC chip, and adding all the needed components for a USB connection.

Next post

The next post will feature all the datasheets and other manuals I can find, and will detail how I’d like to wire things up, what components I’ll be needing 🙂