Saturday, November 17, 2012

Another Chinese Meteor Light - 8-Pin Micro, 18 LEDs

UPDATE 12.1221:
Major update! It _is_ a PIC or PIC-like micro. See the new post HERE.
UPDATE 12.1127:
I updated the schematic to reflect that is is, in fact, some kind of specialty IC and not a micro. I can't tell you what part it is because the markings on the top of the chip have been obliterated.

UPDATE 12.1117:
I removed their 'micro' and wired in a PIC12F1840. And - I can't get individual lights to turn on by themselves. If you look at the truth table, when you set the GPIOs to turn on one LED, you also set up for turning on up to three others. They must have a special part that disconnects the circuit path for the other LEDs so they can get only one light on at a time. Damn.


I just thought I'd throw this up here, since I have spent a few hours this afternoon reverse-engineering the design.

Only an 8-pin micro part. I'm assuming a PIC12F629 or something with a similar pin out (NOTE: WRONG ASSUMPTION). They are only using 5 GPIO pins to individually drive 18 LEDs. And from what I have figured out, they could drive 20 LEDs.

Interesting that they are using only one resistor - between the VCC and the micro. I guess to limit the amount of current the total design will draw.

Here's the schematic - enjoy!

NOTE: On my schematic, I assume it's something similar to an 8-pin PIC. NOT SO. It appears to be a specialty part.


  1. hi. to turn on an led, you put a logic one and a logic zero to the gpio connected to that led (just like you did) but the other gpio pins are set to high-impedance mode using TRIS. this way, all the other leds remain powered off.

    in your schematic, to turn on led1, gpio0 and gpio1 are configured as outputs with gpio0 at logic high and gpio1 low while all other gpio pins are configured as inputs.

  2. I think I tried that - but I am willing to revisit their design and try that scheme - turning all 'undesired' GPIOs into inputs.

    Thanks for the suggestion!

  3. I just tried it again. There is still some leakage somewhere that is turning on (half-bright) one of the LEDs that is not the target. With some finessing of the design, you could probably get it to work, but it won't work with this design and I still feel that it is a specialty IC made by the Chinese - the UCS1212, which is in another Meteor Light design from the Chinese, is an example of their specialty ICs.

  4. Well, dadgummit. Bit by the PICKIT2 again. When the PICKIT2 is attached to the project, I get the leakage. It's GPIO0, which is one of the lines that goes to the PICKIT2 for programming. When I removed it, everything works as expected.

    So, good. You are correct, Sir. I'll take some pictures and post an update with some source code. Thanks for bringing this to my attention!