I’ve been using Nokia 5110 LCD screens for a while now they’re 84x48px have a built-in back-light and are really easy to use and quite cheap. Recently though whilst working on my drum machine I found myself wishing for a few more pixels. I want to show a “pattern view” of 16 tracks with 16 steps plus some additional information and 84×48 was getting too tight.
I found some time to convert my hand drawn notes into a proper Eagle Cad schematic.
This is a project I’ve been working on for over a year but haven’t had the time to complete yet. Electronics takes second place to children… 🙂
It’s a mini drum machine modelled on classic machines like the Roland TR808. My version is digital, playing samples rather than analogue and uses a single pic24 to do the work.
I thought I’d have a go at getting my PWM controller PCB made professionally.
I have been playing around with building a lamp for my desk using a LED strip and constant current driver that I bought from Deal Extreme a while ago combined with a PIC12f683 to provide variable brightness via Pulse Width Modulation (PWM).
[UPDATE OCT 20 2010] I’ve updated the firmware for this project to include new features. More info and firmware download here.
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.