Old Projects

Lots of old projects here... scroll through!

TTL LCD Controller

This was my first PCB design, and by-far the greatest electronic undertaking I'd done up to that point (summer vacation in highschool). There was basically Zero Documentation for this display, I had to piece together the pinout and timing requirements from the driver-chips on the backside. I'd only just started programming microcontrollers, an 8051 series at the time, in assembly, but quickly switched over to the pin-compatible AVR AT90S8515.
The TTL circuitry is solely responsible for all the display-timing and addressing the SRAM (a 256KB cache chip from an old 486). As I recall, the SRAM was freed from the display on one half of a pixel-clock, at which time the microcontroller could write to the SRAM. The actual timing of it was a bit hokey, despite its working. Again, as I recall, the microcontroller was running at the same clock-rate as the pixel-clock, so the actual writing to the SRAM required several pixel-clocks. And how the Write signal didn't get garbled with the next read signal? Just luck, I guess.

Surprisingly, it only required a handful of rewires on the backside. Originally I'd etched my own PCB, using one of those iron-on transfers, but since it was double-sided it was hard to align and soldering the chip sockets I had to both sides was a pain to say the least, nevermind the huge surface-area to clean off all that toner, and I never assembled that one. 

(I got it working again!)


The display is a 640x200 (yes, those pixels are tall and skinny) black-and-green LCD from an old Amstrad "Portable PC" (hardly portable, that thing was nearly as big as a desktop, just with a display and keyboard built-in) PPC640... an 8086 with 640KB RAM that I'd carried around nearly everywhere for several years as a kid, despite being in the Pentium era.

The intention was to get this one working, then move up to the 640x480 grayscale screen I had from an old 386 laptop, ultimately to have a nice large display hanging on my wall for media information (E.G. WinAmp)... But I never got around to the other display, nor the WinAmp thing. (Again, documentation was *sparse* to say the least... even for these sorts of displays in general. Pinouts were highly rare... And my understanding of it was entirely self-taught.)

As far as functionality, it has text, lines, boxes, and a few other things, controllable via RS-232. Not sure what else there is to say about it... except maybe check out the Schematic! (And now in Color!) If I'da known the schematic capture program allowed for busses, it might actually be clear enough to understand. This was my first use of a schematic capture program... CircuitMaker2000, which I still used up until just a year or so ago.
https://sites.google.com/site/geekattempts/old-projects/Schematic.2013Notes.png?attredirects=0&d=1


Web-Controlled Robot
That same summer I started to work on a web-controlled robot. I had no idea how to code web-stuff, but I had a wireless video-camera, a video-capture-card, and Ricochet modems (which could talk to each other!) were becoming easy to find on ebay. I used that same PCB order for its motherboard (the two boards were attached; it was *huge* overall). The box was an old 5.25in Apple Floppy drive. 


It actually worked, and driving it around downstairs chasing the cat while watching through its "eye" was quite rewarding. The web-side was a bit hokier, most people were still on dialup at the time, so streaming video was just barely coming into the mainstream. I had a linux webserver and used CGI-C to get and transmit the commands. The capture-card was set up to take a snapshot and put it in place of the last one on the server... So there was a bit of an issue with refreshing the image... But the biggest mental hurdle was how to limit control to one person at a time... Nevermind how to get it to recharge itself. 
Also learned a bit about mechanics. Originally it was a three-wheeled design; a caster and two driven wheels. The battery was at the caster-end. On carpetting it would drive forward brilliantly, but backwards was near impossible, the driving wheels would just slip. Apparently the torque of the motors with the help of the weight of the battery caused it to grab well in one direction, and have zero traction in the other. So then a redesign with the battery between the motors, balanced above the wheels... and so on.

Many More... I'm sure...
My first TTL project was long before I knew anything about TTL... at 8y/o. I had an electrical-engineer friend at the time who designed a shift-register-based LED-scroller for me. I had no problem with switches, relays, motors, and LEDs, but I had no idea what I was doing when building it, nor how it was supposed to work, I was just following the pin numbers. I wanted to put it under the LED Clock I'd taken apart and spelled my name on. 

That same time I built a "robot" out of an old VCR motor, and some random parts. The motor spun its head, a potentiometer controlled the speed (poorly). And with my dad's help we came up with a brush-system to get power to light up the eyes.

Ironic, now that I think about it... I worked on a display project and a robot at the same time, again.

Oh, and the train-set which I'd fully-intended to build a display to track the position of the train (having tons of LEDs at this point, and constantly thinking about how I could not only supply power to the train, but also determine which section of track it was located at)...

And countless old computers
And plotters
And ....

Laser Show (Speakers and mirrors)
In college I lived in a house with a bunch of engineering-types... My floor-mate and I worked on a few projects together. One was a Laser-Show, using nothing but a laser-pointer, two speakers, an amplifier, and a couple mirrors. Pretty simple, really... mount a mirror on each speaker, aim them such that one controls the x-axis, the other controls the y-axis... create a sound on each speaker... done.

Of course, there are plenty of mechanical limitations, most shapes don't turn out particularly sharp, the frequencies have to be pretty low and pretty high amplitude (best done with a woofer, if those mirrors are heavy). Etc. etc. etc.

Worked pretty well, though, considering. Easy to do circles, even a triangle... Tried to do a four-leaf clover but I think that was about the limit. And no photos?!

MP3-Player
We also started to design an MP3 player... At the time iPods were *just* coming into the mainstream, black-and-white, tiny hard-drives... I'd found a small color LCD display for quite cheap and thought we were on our way toward creating the first color MP3 player... Use a laptop-hard-drive and be able to carry around 40GB of music in your pocket! yeahp!

I suppose, on looking back, I probably could've driven that LCD using the techniques I've developed recently (straight from the AVR) but I was still somewhat fixated on standards and specifications at the time, and the thought hadn't really even occurred to me. Instead I picked up an Epson LCD controller/GPU I'd planned to use... It was quite an ordeal. Maybe we were smoking too much pot... 'cause this seems kinda ridiculous... (I think I was trying to mimic the ol' Apple computer design on wood).
Then again, maybe I can blame the LCD manufacturer as well as the GPU manufacturer for designing these things with so many voltage requirements. Seriously, 1.8V, 2.8V, 3.3V... I think I was *pretty close* to being able to plug it into the AVR, but I never did. 


And even further back... I forgot I did this... long before I had schematic-capture software, I think I did this in Paint. It's an IDE interface with an LCD... I did actually build it, as I recall, because I vaguely remember the thrill of seeing the first few bytes on the hard drive displayed on the LCD.

Eh, speaking of ridiculous... there's still *several* more in that directory alone...

"UnPlotter" to connect an "UnMouse" (early early touch-pad with absolute coordinates, compatible with Wacom tablets) to my pen-plotter.

"Char-Display" to drive an LED matrix with characters (actually this is where I developed the bitmap-image-processing code that was later used for the characters in the TTL LCD driver. I typed all the characters into the Windows command-prompt console, set it to an 8x8 font, took a screenshot, saved it as a single bitmap, figured out the bitmap file-format, and converted it to an array of data. (Now it'd be a heck of a lot easier to use Gimp and just save it as a header-file).


The gray-heatshrunk circuit at the bottom is a simple 555-timer with adjustable frequency that I used for a lot of projects. 


Add an audio cassette player to your computer!
Connected to a CD-Audio input on my sound-card... From an old car-radio. Had fun cutting out the slot and button holes, making the door-hinge and figuring out how to mount it in an old drive-bay cover. The button on the left switches directions, it's nothing but the top of a pen.


Dual Output Power Supply
I built this several years ago, while in college. 

<And apparently I've run out of image-loading-rights on this page>

I'd been given an old digital multimeter with an incandescent (?!) display, and had to do something with it. Another friend told me his dad used to make PCBs by cutting the copper on a copper-clad board with a razor-knife... I tried it, and actually it works quite well.
Dual floating outputs, 2-22V 4A each. Push a button to select between Voltage-Measurement and Current Measurement for a channel. Plus an additional input for voltage measurements. Current measurement was always a bit hokey, as I'd used .1 (or was it .01?) ohm resistors, so measurements were some fraction I can never remember (1/100th, or 1/10th?). 
I've never been particularly fond of analog circuitry, it seems it's always way more complicated than it's supposed to be. This was a prime example, trying to add a simple x10 (x100?) op-amp amplifier turned into a huge ordeal. Since the measurement was on the high-side, there was a significant issue with the common-mode voltage, and common-mode-rejection-ratios (CMRR). 22V common to each op-amp input vs. .0001V or something difference across them.
Thankfully, I used my friend's razor-knife technique, so it was much easier (even after tons of experimenting, research, and math) to move those resistors to the low-side. By then I lost steam, and never did finish that amplifier. Still, it's been a very handy tool for many years.



Found this online somewhere *long ago*...


--------------