Pong Version 2 and vgalib for ChipKIT
Last updated: 27 May 2012 - 12:19
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.
The schematic for the pong demo is the same as the original. The main code is much simplified by the interface that the library gives. I've added a count down to the start and a game over screen which has a QR code that links here. The example shows off all the methods currently available in the library.
The source code is in the examples folder of the VGA library along with some python scripts that were used to generate the bitmaps for the blit operations that generate the final game screen.
All the source and library are maintained on GitHub vgalib.
Arduino based environment logging
Last updated: 25 May 2012 - 18:34
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.
Amiga 500 Teardown
Last updated: 04 May 2012 - 19:55
I picked up an Amiga 500 from the local Freecycle list thanks to my wife's sharp eyes. I've fired it up and it works fine, but I decided to pull it apart to see what makes it tick and it's a great thing to look at for electronics people because the whole thing is through hole and big enough to poke at. I've gone through the chips in the video tear-down and covered a bit of the history. The camera work in the video isn't great, I need some practice so I thought some accompanying static photos that you can look at might help.
Graphical LCD Breakout Board
Last updated: 28 Apr 2012 - 18:35
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.
RepRap Part Replacement
Last updated: 10 Apr 2012 - 21:15
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.
OSHW Logo for Kicad PCB Milling
Last updated: 01 Mar 2012 - 21:38
![Screenshot of the OSHW logo footprint for KiCAD](/files/images/oshw_logo.png)
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://www.oshwa.org/open-source-hardware-logo/ including downloadable modules for KiCAD but they're all silk screen logos, so I went about creating a copper only logo.
EEWeb Featured Engineer
Last updated: 10 Feb 2012 - 15:10
I've been featured on EEWeb. The site was featured last year as a "site of the day" and just before Christmas I finally got around to filling in the questionnaire I was sent. The articles are quite interesting and they've interviewed far more famous and influential people than me on there. Check it out, you might learn something! http://www.eeweb.com/spotlight/interview-with-nathan-dumont.
KiCAD Open Source Schematic to PCB Tools
Last updated: 07 Feb 2012 - 22:19
![KiCAD logo](/files/images/kicad.png)
You may have noticed in the schematics I post for various projects that I use KiCAD for all my designs. It's a free and open source package with no limitations on part count, pin count or board size. The software is cross platform, supporting Linux, Mac and Windows, and on Linux you'll probably find it in your distribution's repositories. Unlike the other big open source electronics design software gEDA it is fairly intuitive and not that different from other commercial packages I've used (OrCAD or Altium Designer). Unlike cost free versions of proprietary software like Eagle there are no reasonable limits on the board size, part count or pin count that you can create with this software and while it lacks some advanced features such as more complex curved pad shapes etc. it is very stable now and is well up to commercial work.
BigTrak jr browser based LOGO programming
Last updated: 29 Jan 2012 - 16:53
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".
Basic Python webserver for the BeagleBone
Last updated: 28 Jan 2012 - 23:52
![The official Python logo](/files/images/python-logo.png)
The BeagleBone comes with a basic webserver written in Javascript in the bonescript.js file. This is run by node.js which is a browser-less javascript engine. This took a bit of reading about to get my head around because the idea of javascript being used to write server side scripts was a bit odd, but the whole server seemed implausible. Unfortunately when I tried to make this do what I wanted to do for the BigTrak project, node.js wouldn't work and seems to be in some sort of version conflict but has to be maintained at this version for the Cloud9 IDE software. Instead I decided to write my own web page server in Python.