Electronics Projects
I present a collection of odd projects I have worked-on over the past few years. I teach both microcontroller technology and digital signal processing and practice what I preach: most projects here are microcontroller-based and employ PIC or dsPIC series chips from Microchip.
A DSP-based Colour (Color) Organ
1960's flashing lights meets 2000's DSP technology: a colour organ using entirely digital filtering and featuring constant volume adjustment and true phase-control of lights.
... capable of emulating almost any classic arcade game from the 1980's. Features details of the cabinet as well as a custom USB interface for the joystick and buttons using a PIC 18F4550 microcontroller.
A Fan Speed Controller for an RV Air Conditioner
A low-tech speed controller for an RV air conditioner fan allowing the fan to run quieter and allow the unit to dehumidify better. In cludes an electronic anti-freeze up circuit.
... chronicles the rebuilding of a 1980 pinball machine including repair of electronics (with replacement of obsolete components as well) and mechanical and artistic touch-ups.
Presented is both the hardware and software for a Win-32 based Logic Analyzer. This is an updated version of an old project which now uses a USB interface.
A heating and cooling thermostat employing technologies spanning fourty years from the unique Nixie tube display, circa 1960's, to a PIC 18F microcontroller, circa 2006.
A dsPIC Digital Signal Controller chip is used to generate real-time video signals to drive a flat-panel display. Targeted at a Finlux Electroluminescent display panel, the project is adaptable for almost any panel with separate sync inputs.
A laser light show controller based on a 30F dsPIC chip. This vector-scanning system can produce complex images and allows upload of vector files via the serial port.
An example project using a dsPIC30F2010 Digital Signal Controller chip. The project was designed as an introduction to the chip's features rather than as a 'polished' application.
A Doll House Elevator and Lighting Controller
A controller for a doll house which runs a three-floor elevator as well as lights. Features auto-off. The 'cleanest' piece of code I have ever written (at least which isn't covered by an NDA)! Uses interrupts for timing.
An alarm which warns when temperatures fall below or rise above user-settable
limits. I use the prototype in my cold cellar to warn when canned goods are
about to freeze and another version to control the temperature of the carboy in which I ferment wine.
Features a user-friendly two-line LCD display.
Each year I build an automated display to scare the trick and treaters. This
year's offering includes a coffin with skeleton which opens when a laser
beam is broken.
Being an espionage buff, naturally I'm also intrigued by enciphering technologies and codebreaking. I've provided a glance at the workings of the German Enigma enciphering machine and a PIC16C84-based Enigma project.
A High-Powered Power Backup Inverter
A working prototype of a 2 KVA inverter. This is an old, archived, project using old technology - better technologies exist today - and the project will not be updated.
How I Started Into Micros ...
I started into computers in 1979 with an Ohio Scientific Superboard II (documented on this site under Old Computers. The OSI system featured BASIC on board and so I pretty-much stuck with BASIC programming, even for I/O programming, however got very much into digital hardware. I began by building memory boards (using stacks of 2114 1K-by-4 memory chips) and interfaces for the system - all on 44-pin card-edge boards. Only later, during my undergrad days, did I venture to building computer systems "from scratch" based on Z8 mircocontrollers and Z80 processors and using machine-code programming.
If you wanted to get into building computer systems during the 1980's you first required an EPROM programmer (there's a bit of "which came first, the chicken or the egg" here). Since I already knew BASIC the logical approach was to build a programmer using a Z8-BASIC microcontroller which allowed the user to upload the control program directly to the system then run it there. My first eprom programmer is shown here. The entire unit was wire-wrapped on perfboard and used a bank of DIP switches to configure the socket for various
types of EPROMs. Visible in this photo is a stack of 2K RAM chips with the chip-enable lines bent upward and wired to a 74LS138 decoder (2K chips were all that was available cheaply from surplus suppliers at the time).
The bottom of the Z8 EPROM Programmer showing the wirewrap construction.
The switches on the EPROM Programmer allowing the programmer to be configured for various
types of chips.
Upon starting the system the MCU boots in BASIC mode. Using a PC (running ProComm at the time), the control program is uploaded to the RAM on the board and executed at which point it prompts for the address and data to be written to the installed EPROM. Software is used entirely to perform all functions including timing (accomplished using a for/next loop inside the program itself, with the delay determined experimentally). It was a great little system and was flexible: when a new EPROM was to be used a little bit of wiring was done to configure the socket and the control program changed accordingly.
My first Z80 system was built using an old TI calculator for a display and keypad. A friend at University (Kenn Heinrich of Tesla-coil fame) wrote a simple monitor 'D-MON' allowing the user to
interrogate and write memory and registers.
A close-up of the Z80 system showing the EEPROM holding the monitor code. This later version incorporates a UART (the AY-3-1015 chip) and an RS-232 port. The baud rate generator was a 555 timer. The monitor was updated to 'U-MON' (for UART-based monitor).
My thesis project at engineering school was a Z80-based transporter which acts as a NIC between a generic system having an RS-232 link and a high-speed RS-485 network. Using a Z-80 SCC chip the system was capable of speeds of 1 Mbit/sec (the chip is not rated for this speed but it was found to work regardless).
My Workshop ...

As well as test equipment the shop has a wall full of parts boxes. Parts I stock include an assortment of discretes (resistors, capacitors, diodes), TTL (74xx) and CMOS (40xx) chips, and a host of microprocessor parts both current (PIC processors) and some deemed 'obsolete' used primarily to service machines I keep in my collection of
vintage computers.
The woodworking portion of my shop features a Craftsman (Ryobi) radial arm saw with power feed, a 2hp/220V dust collector (required when your workshop is in your basement), a thickness planer on rails allowing it to be swung into the middle of the shop for use then pushed back against the wall when done, a homebuilt router table, and a large center island workbench (the shop is designed with three smaller workbenches around the perimeter holding many small pieces of equipment).
Also see the Router Table, in which I mounted a 3hp plunge router upside-down on a hardwood table and built a fence from a single-piece of aluminum channel for stability. Shown on the table are the cabinet bits (look at the size of the panel bit: it is obvious why the table has to be solid!). The table bolts onto the side of the workbench for stability.
Woodworking ...
My most recent project was renovating the upstair bathroom, the very last room in the house that was essentially original from the time we moved-in. The centerpiece is a custom-built oak vanity featuring a solid oak front and raised-panel doors, all built in the workshop.
| Demolition/Prep | Tiling | Cabinet 1 | Cabinet Completion | Details | Medicine Cabinet |
The completed bathroom vanity cabinet is seen here. Hover over a title in red above to see the entire process of renovating the bathroom ...
These cabinets were the prototype of those used in the bathroom vanity project and sit in the den above the freezer. Using the same construction technique as the vanity, the front was assembled as one unit using pocket screws and simply attached to a cabinet built for the rear. Doors are all real raised-panel built from pine (much cheaper and easier to work-with than the oak used for the vanity above - also easier of the cutters!). I was pleased with the results and it did prove the viability of building both my own doors as well as the technique of preassambling the front of the cabinet first.
Another project completed a few years ago was a half-Deacon's bench for our hallway built with my father-in-law's help. The bench features a small seating area as well as two drawers to hold catalogues and other stuff. It was constructed with a frame of poplar and skinned with real red oak. Drawer fronts were constructed of rail-and-stile technique (but using flat lauan panels). The top and sides were constructed of quarter-inch oak-skinned plywood.
Details:
Veneer Detail the corner of the bench showing the thick veneer glued to the frame. A trim router was used to make the corners fit perfectly.
Drawer Detail the rail-and-stile construction of the drawer front is seen in this detail. In order to use the cutters a 3.5 hp plunge router was used and mounted on a homemade table with a one-piece fence made of aluminum channel.
Panel Detail the side and front panels were pre-finished and simply inserted into the hole trimmed by the veneer. They are secured by short wood screws.

Other Hobbies and Interests ...
Professor Mark Csele's Home Page
CTEC1630 Home Page
E-Mail the Author
MAME Arcade Machine
Pinball Machine