My version two charlieplexed lighthouse circuit PCBs (charliediscs) have arrived back from the Seeedstudio’s fab. I used the same deal as for my last boards, this time it took around 3 weeks in total. That’s pretty good for 20USD!
I had an email from a friend who has built my lighthouse circuit but whose LEDs were lighting up in the wrong order. This is exactly what happened to me when I built it the first time too. But no worries!
The great thing about charlieplexing and this circuit is that it doesn’t matter which order you place the leds on your board as you can change the code to match the correct sequence for your final layout. This means that you can layout your circuit for ease of wiring rather than having to keep the LEDs in any particular order. As long as the circuit is correct and that you have an LED everywhere you should have one the ordering can be sorted out later.
Update: I’ve revised the schematic for this project and had a proper PCB made, see the new version here.
For anyone who is interested (Hi Richard) here are my project files for the lighthouse project.
The project is written for the PIC12f683 using SourceBoost Technologies BoostC that I use as a tool suite in Microchip’s MPLAB. BoostC is fairly ANSI so if you’re using another C then it wouldn’t be hard to convert. There’s a free version of BoostC too and I think my program will fit within it’s limits.
The schematic and circuit are drawn up using the free version of Cadsoft Eagle. They were created using version 4, but the latest version of Eagle is v5 which I’ve not used yet, however the circuit is fairly simple so I doubt there would be any problems.
I’ve not included the Eagle files themselves as they make use of some random parts that I’ve made in my own library. But the circuit is not so complex that you couldn’t copy it. If you really want them then let me know.
If you have any problems drop me a line.
After about a day of messing about I finally managed to program the damned thing using ICSP rather than pulling the PIC each time.
Schematics lie! Especially when you draw them yourself. Guess what. Pin 5 of the PIC12f683 isn’t the ICSP clock line… Pin 6 is! Ah! Well there’s a lesson learned the hard way. Next time I’ll be more diligent when drafting things out in Eagle.
Here’s a quick video of the thing in action. It’s a bit fast for a lighthouse, more like a beacon. I’ll slow it down and maybe add a potentiometer to allow speed changes later on. I deliberately chose the input pin to be GPIO 4 as it’s one of the IO pins that is multiplexed with the analog to digital converter.
Apologies for the manky looking video, it’s hard to get
the camera to work well in low light conditions.
UPDATE Aug 7th 09 : You can get the Eagle CAD files here.
UPDATE Oct 2nd 08 : You can grab the source code and circuit diagram for this project from this blog post.
I’ve been working on a variant of the circuit I developed for my Lego beacon. It’s the same basic circuit but this time with 12 rather than 8 LEDs and rebuilt into a circular 40mm dia (1.5 inch) double sided disc.
The idea is to use this as a simple “lighthouse” that when powered up will rotate the beam around the 12 LEDs. I’m not sure why I’m building it, I have no real need of a lighthouse… Maybe it could be useful for a model railway or something similar. But I kind of like the idea of it and had some neat OSRAM SIDELEDs in my parts box that were calling out for some use.