Other Projects

Logic Tool

This is a tool I made to help with the 6502 Graphing Calculator I was working on. It has 32 lines that act as inputs and show their value in real time on my PC. They can also be used as outputs. So far I have mainly used it to monitor the data and address buses, and to test the CPLD I'm using with the calculator.

Posts about this project: Logic Tool


Improved 6502 Virtual Trainer

This is an updated version of the 6502 Virtual Trainer described below. Like that project, this one runs a 6502 on a circuit board and allows the user to control execution over a serial/USB connection. It uses the same software as the previous project that lets you drag and drop virtual peripherals that interact with the system. Because this version runs on an STM32 board with a 168MHz ARM processor, performance is up to 60 times better than the first version using an MSP430.

Posts about this project: Improved 6502 Virtual Trainer


6502 Virtual Trainer

This project uses an MSP430 to control a 6502 and sync all operations over serial/USB with a program running on a PC. This lets the user start and stop execution, single step the CPU, and view and modify all 64k of the memory space. The program also has an area to drag and drop virtual peripherals like screens, LEDs, buttons, and a keyboard that can be memory mapped to any address. This lets you build a simple but complete system for testing and learning without worrying about any glue logic or memory decoding. It really helped me learn both assembly and how the processor works cycle by cycle. One small project I made with it is a simple graphing calculator with keystroke programming.

Simple graphing calculator program using virtual peripherals
and running on a real 6502 over serial/USB.

Posts about this project: 6502 Virtual Trainer


ATF1508 Programmer

This programmer lets me program the ATF1508 CPLD I am using with my 6502 Graphing Calculator. It was a real chore to get programming to work with this chip and I had to rely on a 16 bit utility that I can't run under Windows 7. In the process of developing this programmer I managed to completely brick one ATF1508. The programmer has a few LEDs and a dip switch so I can do simple tests.

Posts about this project: ATF1508 Programmer


EEPROM Programmer

This project uses an MSP430 to program 5v EEPROMs. The level translating transistors I used limit the transfer speed, but I can still program chips fairly quickly. Rather than relying on an FTDI serial/USB cable, I added a separate FT232 chip to the board so I only need a USB cable. This chip only comes in SMD packages, so it was a little tricky to solder. The software on the MSP430 communicates over serial through a terminal program and transfers files over XMODEM.

Posts about this project: EEPROM Programmer


Space Sombrero

I made this sombrero for Halloween one year. It has 48 LEDs arranged in 16 clusters of one red, one
blue, and one green LED. The control board lets you control the speed, direction, and pattern of the flashing lights.












Posts about this project: Space Sombrero


Microcontroller Showdown

In order to pick compare different microcontrollers to use for calculator projects, I ran some short, but not comprehensive, benchmarks on the MSP430, LPC1114, DS89C450, AT89LP6440, and Z16F2810. In the end, I liked the LPC1114 best, although it has since been discontinued. The MSP430 did pretty well, and I decided not to use the AT89LP6440 or Z16F2810. After I finished the project, I went back later and redid some of the routines for the 8051 in assembly and got a huge speed increase. Another comparison I did implies that an 8051 like the DS89C450 would outpeform a 6502, so I may use it for a calculator someday too.

Posts about this project: Microcontroller Showdown