Archive for the ‘DIY’ Category

DIY Solid State Drive

Monday, June 23rd, 2008

Now with the CF to 2.5 IDE adapter in hand, I’ve basically got a solid state drive for my laptop.  The trick of course is making it all work.  The first step is to get it physically installed in place of the failed hard drive.  The only tricky part here was determining where pin 1 was.

The adapter I bought has a little white triangle that identifies pin 1 (in the picture above, this is the left most pin).  The existing drive was a Hitachi DK227A-41.  Google helped turn up a useful diagram which helped me identify pin 1.

HITACHI DK227A SPECIFICATIONS REV. 1, K6601560 97/11/08

   ----+---------------------------------------------------+-PCB-
       | B D   2 4 o o o o o o o o o o o o o o o o o o o 44|
       | A C   1 3 o o o o o o o o o o o o o o o o o o o 43|
       +---------------------------------------------------+

The second bit I stumbled a bit on was getting the laptop to identify this as a drive.  The CMOS auto setting didn’t detect it as a drive – so I needed to use the USER setting to punch in the right values.  I ended up using the values I found in this SanDisk document, but I’m certain others will work.  I also needed to dumb down the BIOS settings to allow me to boot from this drive, this meant turning off some of the fancy read pre-fetch and DMA modes.

As this is an old laptop – 233MHz with 64MB of RAM, I run Puppy Linux on it.  My previous experience installing Puppy on this particular laptop was painful, as it only has a floppy drive (no CDROM) and at the time I failed to find a boot floppy that enables USB support such that I could boot Puppy from it.  The route I took at the time was to format half of the 4Gig drive as DOS and make it bootable, then find an old Linux distro that had a floppy based install, borrow a wired PCMCIA network card from work and download the DOS based Puppy install over the network to the DOS partition.  Once there, I could reboot and install Puppy natively.  That was the story for Puppy 2.01.

Puppy 4.00 is an improvement in a number of areas.  WakePup is now something that comes as part of the LiveCD allowing me to create a boot floppy using my desktop system.  This boot floppy knows how to boot a USB key version of Puppy on this old laptop.  It just works.

Other nice features of Puppy 4.00 is the battery indicator now knows how to talk to the hardware in the laptop, supplying charge remaining information.  Additionally, the power off sequence works to actually shut the laptop off (2.01 didn’t).

With the laptop 1024×768 screen matching the LCD monitor Jenn uses on her Mac Mini – TightVNC on Puppy makes it this old laptop into a really nice wireless Mac terminal.  The default browser is SeaMonkey, but Firefox 2 is available in the package repository.

Using the DIY SSD is weird, the laptop is almost totally silent and for whatever reasons the drive light indicator doesn’t blink at all – so you have no way of knowing that you’re waiting on disk activity.  The performance seems to be about the same as it used to be, but no direct comparison is possible with the old drive making grinding sounds.  I’m running with a swap partition on the CF card, but even with only 64MB of RAM – running the common application load on this laptop I’m using zero swap. (hooray Puppy)

Some folk get worked up about reducing the number of writes to a CF card, I’ve decided not to worry and see how this works out.  The number of write cycles is fairly high on modern cards (1 or 2 million), I believe they have built in wear-levelling, and they are cheap.  I know my puppy powered laptop isn’t making that many writes to the filesystem, so I suspect the DIY SSD will last longer than the laptop.

Spyder2

Monday, February 11th, 2008

As I have mentioned in a previous posting, I use the Spyder2 sensor with the HCFR software for colour calibration.

The Spyder2 isn’t actually intended for use with front projection systems, but in practice it works quite well. The first hurdle is tripod mounting the sensor which doesn’t come with a screw hole for the tripod. In the past I’ve used a little painters tape to hold it on.

100_4318.JPG

While this works fine, I’d much rather be able to screw it onto the tripod mount like I do my camera. It turns out that a standard 1/4″-20 nut will work just fine for this purpose, that an a little glue gives me a nice way to tripod mount the sensor.

100_4521.JPG

There is a removable filter on the Spyder2, the documentation recommends using the filter for LCD displays (flat panel/computer monitors). In the past for CRT projector calibration I’ve removed it and aimed the sensor at the screen to record the reflected light. For my current LCD projector I’ve been leaving the filter on.

Tonight I experimented with the filter on, and off. With surprising results. I am using HCFR in its LCD mode, but I would have thought that would have minimal impact on the readings.

Filter On
withfilter.jpg

Filter Off
nofilter.jpg

These readings are based on a 70 IRE gray screen, all I did was swap the filter on and off. The filter on measurement matches what I was seeing on screen, a mostly balanced gray.

From my experiments, there seems to be some minor variation in readings based on the angle of the sensor relative to screen surface, but only a few percentages. When pointing the sensor at the projector there is more variation, but it didn’t seem to be radically different.

When reflected from the screen, I have the projector ceiling mounted and the sensor pointing at an angle up toward the center of the screen. You can get a sense of what I mean by the first picture in this posting. When gather data on having the sensor pointed at the projector, I mounted it a few feet out from the screen, approximately centered and as perpendicular to the incoming light as I could manage by eye.

Here is the CIE diagram based on readings from the screen.

from_screen_cie.jpg

And here is the CIE diagram with the sensor pointing at the projector.

sensor_towards_cie.jpg

The CIE diagrams look nearly identical. Things get more interesting when we look at the RGB levels and delta E.

Here is the RGB levels as read from the screen.

from_screen_rgb.jpg

And now RGB with the sensor pointing at the projector.

sensor_towards_rgb.jpg

By pointing at the projector, I’m able to get more sane looking reading down to 20IRE, whereas the reflected from the screen readings are only sane to 30IRE.

However, the delta E values are quite a bit higher when pointing at the projector. This may be due to higher variation in the readings due to the angle vis-a-vis the projector or that we are not taking into account the effect of the screen. It almost seems we are trading off accuracy for better low IRE response.

In conclusion:

  1. I’d highly recommend gluing a nut onto your Spyder2 sensor, it makes mounting it on a tripod really easy.
  2. Filter on seems to be the way to go, but I’d like to understand why I got such whacky readings with it off.
  3. Reflected off the screen seems to be the best solution for getting readings.

DIY Ceiling Mount

Sunday, January 20th, 2008

Originally I was going to buy a commercial mount, I had even selected a reasonable looking universal mount that was fairly economical ($75 delivered). Then I stumbled across a reference to the Monkey Man DIY mount. From there I quickly found a reasonably summary of DIY mounts which convinced me to take this route.

Also considering I build a DIY mount for my 165lb CRT projector, I’m not overly concerned about the 12.3lb Epson 1080UB.

Here is my finished mount:

100_4262.JPG

The sub $30 parts list
(2) 3/4″ floor flange
(1) 3/4 x 3.5″ Black steel pipe
(4) 1/4″ x 1.25″ locking nut, washer, carriage bolt
(4) #10 wood screws 1.5″ long
(1) M4 threaded rod
(8) M4 nuts
(4) M4 wingnuts
(12) 1/8″ washers
(1) 5/8″ shelf board

It was relatively easy to put together – and I was able to mount it solo without any scary moments. I’d strongly recommend going the DIY mount route, it really didn’t take a lot of work and I’m very pleased with the result.

Construction details follow..

(more…)