Projects

Here is a section dedicated to ongoing personal projects and sample files. I hope you find some of them interesting and useful. All assembly files are compiled with ASM 51 while all C source files are compiled with the latest version of SDCC using the IDE Crosside. Most of this code is nightly builds so some version will not compile or even be complete. Sorry for any inconveniences.

ATMEL ATMEGA164p Motor Driver with Encoder Feedback
This firmware allows one to easily control a brushed DC motor to set fixed velocity. It keeps track internally its positions via basic geometric formulas. It by no means is a complete solution however I would expect it to be helpfull as a starting point. The main inportant peiece of this software is how it uses the interrupts to compute the encoder counts behind the scenes. It utilizes I2C/TWI interface for communication and sends debug values to uart port. The next stage would be to clean up the code and remove the multiple drive modes. It keeps a Config.h file for all specific parameters. It serves as a simple HAL. WinAVR is used to compile to at Atmel AtMega164p running at 20MHz. Has been tested on a AT90USB1287 @ 16MHz with new Config parameters.
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
Download
March 24, 2010

P89LPC925 Secondary Programmer
This program is designed to run beside the main processor and determine when a Flash attempt is on the UART. This is because this processor needs to have 4 30ms pulses on the reset pin for it to enter ISP mode. This program will listen to the TX from a MAX232 or serial bluetooth module waiting for a 'U' 01010101 string N times. Once the count of 'U's reaches the N point the reset condition will occur to place the processor into ISP Mode. The problem with this is you will first need some other programmer to flash this microcontroller.
Download
Download
Download
Download
April 26, 2007

ASM Countdown Timer Trigger
Here is a complete solution for all your timing needs. This code is for an 8051 based microcontroller but is easily portable to other embedded platforms. Configurable initial output state and a choice of complimented output indefinitely or for a specific timed pulse out. Code should be well commented for customization on your end. Hope you enjoy.
Download
Download
Download
Feb 24, 2007

8051 Microcontroller ASM Code
Here is some beginner sample code for use with any 8051 compatible processor. This is just a code snippet from a voltage meter application but should give you some useful code for understanding basic ADC routines and functionality of an 8051 based microcontroller.
Download
Download
Download
Download
Jan 14, 2007

MCP3208 12 BIT 8CH ADC
This was a quick program written in ASM to be able to read and store a value from the ADC. This code is untested and will be updated shortly once proper test bench is built.
Download
Download
Download
Dec 18, 2006

Smart Card Reader
Project is in progress to allow bidirectional communication with Smart Cards. Most of the information is from direct testing or google searches and so little references will be listed. Here is a good link with lots of information.
Download
Download
Download
Dec 18, 2006

Sound Controller Driver
This sound controller was designed to be used with a ISD1420 playback/record IC. Messages were uploaded into it and accessed using a Altera Flex10 Field Programmable Gate Array (FPGA).
Download
Download
Download
Download
Nov 25, 2006