This is nearly a year old now, but by the time I finished it last year it was too late for anyone else to have a go, so rather than publish just after Christmas and have it forgotten I sat on it for nearly a year. I was looking for a small Christmas themed plastic model to put in home made crackers for family. In the end I came up with the idea of designing a minimalist nativity set which once everyone pulled their crackers could all be assembled. It all went down well with both my family and Katie's.
I went camping at a festival this weekend, this meant 3 days in a tent with no power. Of course there are charging facilities at such an event, but they're not free and you can't charge your phone while you're asleep like at home. Previously I built a one charge boost charger to let you charge up a phone on the go, but that's only good for one charge of a modern phone and then it needs charging itself. I was camping with my wife for three nights and we both have modern Android phones which we used a lot so we needed 6 full charges over the course of the weekend. Looking around the lab here before we went I spotted the old ASUS EEE PC 701 extended battery and realised that would probably be quite a big capacity.
The OggBox is a simple, hackable open hardware music player. It's a pocket sized device, about the size of a smart phone which can play or record open formats to or from an SD card. It will support Ogg Vorbis, FLAC and WAV files, but has only been tested on Ogg so far. The hardware was designed in KiCAD and all the files are available to download and use (CC-BY-SA).
I've finally got around to making the VGA driver into a library that doesn't require all that messy interrupt code in the main sketch. The actual operation is along the lines of the pixel based display used in the life games but I've re-implemented Pong with this new library as a test.
A week ago now I was part of a team from Bristol Hackspace who went to Devon to provide a "pop up hackspace" for the FSC Hackday event. The weekend was a lot of fun and in between helping people with their hacks I had a bit of time to work on some of my own. The most complete build was an environment data logger. I was just logging temperature but you could always hook up other sensors.
I've got an on-going project to build a battery powered device. I want to be able to run the whole thing at 3.3V so I can easily and efficiently run it off a single LiPo cell. I also want to use a simple monochrome, graphical LCD for this project, but I couldn't find one that would run off 3.3V. For various other reasons, the project requires that the LCD is a classic 8bit parallel module as I had run out of hardware serial ports and bit-banged was making the refresh seem really slow. I found a few that would run the control lines off 3.3V but still needed some higher voltage to power the screen or back-light. Eventually I bit the bullet and decided to go with one of these from Farnell because it was the cheapest back-lit 128 by 64 pixel display I could get from them. It is a really good choice as it even includes electronic contrast control, something I was expecting to have to do in external circuitry. However, it isn't a nice 0.1" pitch module, it comes out to a 0.5mm pitch FPC connection.
Since my How Not to Build a RepRap article last year, among the many other projects I've been tinkering with are several upgrades to the RepRap. I've changed the pulleys, to reduce backlash in the X/Y plane, the Z axis couplings and lead screws have been replaced to improve vertical reliability and I've built a new power supply.
There have been some changes to the ChipKit libraries since release, some of these changes caused the Pong sketch to stop working. After a helpful bug report from someone trying to build their own I had a look at the source to see if I could fix it. After a bit of investigation I discovered that in the old code using a digitalWrite() after an analogWrite() would leave the PWM timer running in the background. This isn't power efficient, so it's been fixed, however the new code tests to see if any analogWrite() calls on other pins have occurred and if not shuts off Timer 2. Unfortunately this means writing any of the PWM capable pins in my code shuts off Timer 2 as I don't use analogWrite() but set up PWM manually. The solution I came up with was simply to move the enable lines for the two player scores to pins 11 and 12, from 8 and 9 avoiding using any PWM capable pins. My Life demo is unaffected as I didn't use any pins for output other than the VGA pins. Updated schematics and source are included.
I've been tinkering with some simple PCB layout jobs in KiCAD over the last couple of weeks. (Hopefully they'll be worth posting here if I can get them finished!) One of these boards is probably going to be cut out on a PCB mill, so it's not going to have a solder mask or silk screen. I wanted to still have the Open Source Hardware logo, there's a big selection available at http://oshwlogo.com/ including downloadable modules for KiCAD but they're all silk screen logos, so I went about creating a copper only logo.
The Bigtrak Junior is a re-make of a classic toy apparently. I'd never seen one before, I remember school having a couple of floor turtles but I don't think I ever got to play with them (probably because I'd been messing around too much and not doing my work!). Basically the toy is a little programmable toy car that takes simple commands from a keypad with forward, back, turn left, turn right, pause etc. This is all very well but with only one memory location for storing your program between use and no editor only a "clear and start again" it's not much fun trying to get it to do things. Wouldn't it be better if it could be programmed from a web browser and you could actually use some sort of save/load program option to store your ingenious route design? The solution I've come up with could be argued to be over-engineered some what and quite expensive but I like to look at it as "expandable".