Archive for January, 2014

Tiny CRT Display

I had an old camcorder that was pretty useless. It used VHS tapes (so it was HUGE), but it also didn’t work properly and would eat the tapes sometimes. I decided to take it apart to see if I could do anything cool with it. I found that the viewfinder was a tiny CRT display. I tried to hook it up externally to use it as a display, but I didn’t know much at this point (I was maybe 13 or 14) and probably fried it. I later read online that a lot of video cameras with old CRT viewfinders just took composite video and power for input. I went to the local freecycle forum and got an old camcorder with a CRT viewfinder. I took it apart and took out the viewfinder.DSC_0374This thing is tiny. I think it’s around 0.5″ across. I figured out the pinout of the driver board and hooked it up to 5v and composite video, and it worked great. I wired up a 5v regulator to a 9v battery clip, as well as a 5v input on a molex connector, and wired on a composite video lead.DSC_0365



My mom was doing a photography contest where the theme was minaturization, so I made a little cutout of a old TV and we took a couple pictures:


Skylark Headlights

Since I was driving an old car, I figured why not have some fun and modify it a little. I always thought the LED outline of the Audi headlights looked sweet, so I set out to put some on this car. I got some 12v white LED strip online. I soldered wire to the ends, the covered the exposed bit in hot glue and heat shrink for some waterproofing.

2012-09-08 20.05.35I also wanted a bend in each of the headlights, so I cut the strip to size and soldered a couple wires at the angle I wanted, again covering it in hot glue and heat shrink.

2012-09-08 20.05.27This is what the car looked like before with its park lights on:2012-09-08 20.11.28This is after:

2012-09-08 21.19.19Not quite as bright during the day:

2012-09-09 14.00.52

These lights worked great and stayed on the car through a Michigan winter before the car broke beyond repair (brake line rusted through).

Skylark Automatic Passenger Window

A couple summers ago I was driving a 1996 Buick Skylark. Unfortunately it’s air conditioning was broken, so since it was hot out, I would immediately roll down both front windows when I got in the car. I’m kind of impatient, and the passenger side window was really slow. I got tired of holding the button down for a good 8 seconds every time I got in the car, so I decided I’d add an automatic down button just like the driver side window had.

I took out the window control unit, added a relay and a 555 circuit set to run for about 9 seconds to the control unit, a second relay to move the driver auto down button for convenience, and the two buttons.

IMG_20120603_014348 IMG_20120603_014335 IMG_20120603_014400


It worked pretty well for the rest of the time I had the car. Only problem is that it would sometimes trigger accidentally when the car was turned on. I added a bit to the circuit that really cut down on this, but it still happened rarely. I eventually had to replace both front window motors because they stopped working due to age (which is also why the passenger window was slow in the first place).

ADM3A – ancient dumb terminal

A very long time ago, on take your child to work day, I went to my mom’s office. I got some stickers for something, then I traded them for this dumb terminal (they were award points for something at the office). This is an ADM3A, from 1977. It is all discreet logic chips, no major integrated circuits. This terminal is where the HJKL navigation keys in vi come from (vi was written on one and those keys have arrows on them on its keyboard). It’s also where the ~ = home directory in unix comes from as well, the ~ key is also the home key.Image

About 8 years ago, I thought it’d be a fun challenge to get this thing on the internet. I found an old laptop with a serial port, put linux on it, and configured it to use the serial port as a console. I ended up getting it online, and on IRC and Google Talk.

I found this terminal again recently, and wanted to get it back online so I could snag a pic of it on Unfortunately, it didn’t seem to work anymore. I took a look at it, and the part that failed turned out to be the big clunking mechanical power switch. It had gotten dirty and corroded. I took the switch apart and cleaned it out, and now it works again. Amazing for almost 37 year old electronics.

This time, however, I didn’t have a laptop with a serial port handy, so I made a MAX232 serial adapter for a raspberry pi and hooked the pi up to the terminal. The serial adapter is just a typical MAX232 circuit, I pulled it right out of the datasheet, page 7. You can get these things on ebay for a couple bucks, but I had a couple MAX232 lying around and I figured I could put a header for the pi right on the board, instead of having to make an adapter cable. I only bothered to hook up the tx and rx lines, I skipped DTR and CTR. I used a standard serial port header like motherboards used to have for the serial connection, so I could easily swap between 25 pin serial (which the adm3a has) and 9 pin serial. I had a bunch of the serial port header cables on hand as well.

Here are a couple pictures of the adapter:


On the software side, the pi is running Wheezy. This serial terminal runs at a max speed of 19200 baud, but I went with 9600 baud (because it’s a common default). The pi had a lot of config for using a serial terminal at 115200 baud. I got most of my information from this article describing how to use the pi as a serial terminal and what to disable to prevent it being a serial host.

In /boot/cmdline.txt, I made sure console and kgdboc (kernel debugging) were set to the serial port on the header and to the right speed

console=ttyAMA0,9600 kgdboc=ttyAMA0,9600

In /etc/inittab, I changed the getty line for the serial port to the right speed, and defined the term as adm3a, since the adm3a predates the vt100, isn’t fully compatible, and has different control characters (e.g. the arrow keys on hjkl. the only way to delete characters is ^h).

#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 9600 adm3a

I added a TERMINFO location definition to my .bashrc

# set terminfo location to location with adm3a

I was a little surprised to find that Wheezy still includes terminfo definitions for terminals this old (and older). The terminfo directory is 6.5MB.

After these changes and a reboot, the pi printed its console correctly to the terminal, with lots of beeping too.
Some programs don’t run very well on the terminal, anything that tries to do color just has all of its control characters displayed on the screen. lynx was unusable without the correct terminal definition.