Saturday, December 22, 2007

2007 Cross Bike Rebuilds

I've been racing cyclocross for many years and have two race bikes built by a guy name Russ Denny in SoCal. Having two identical cross bikes is important because mechanical problems are common in cross and so it's important to have a spare bike ready in the pit, especially when there are goathead thorns on the course.

Both bikes were built with Easton Ultralite tubes and were sold under the Tsunami name. They were both custom orders and I got a pretty good deal through the team I was on at the time. Now that I've left that team and the Tsunami name is defunct, I decided to get the frames powdercoated black and rebuild the bikes so that they're as interchangeable as possible. Here's a picture of one of the bikes with original paint:I found a place in Golden called Powder Coating Specialties that agreed to do three frames (road frame too) for $200. I also equiped both bikes with same bar, stem and saddle and identical wheelsets. I built three pairs of wheels using the same rim and hubs so that they're interchangable with no need to adjust brakes or shifting.
I'm also running tubeless clinchers on both bikes using the Stan's system from notubes.com. I'm using their ZTR 355 29er rim and have had good luck with the setup so far. I've had very good luck with the Maxxis Locust tire in particular at 40 psi.
The only major difference between the two bikes is that one of them has a single chainring while the other has a double. Single chainring bikes have limited gear range but are much less likely to drop a chain. The bikes also have different carbon forks (Reynolds and Ritchey) otherwise they are equiped identically.

Mac Mini Hacking

I've just bought a Mac Mini on eBay. One of the main purposes will be to help hack my Apple TV. But this will work both ways since I can also hack the Mac Mini to run the ATV interface. Only one of our TVs has an HDMI interface so this Mini can stand in for it until we have newer TVs. I'm thinking that the Mini is so portable, that it can be used in mutiple locations for multiple purposes:

1. Day to day service in the living room, replacing the DVD in our home entertainment system and also playing ripped DVDs synced to the local drive or from a mounted network drive. Plan to do a 802.11n upgrade for this purpose.

2. Lab machine in the basement work room. I'll add a mountin bracket underneath the work bench with dedicated power, video and USB connections. A monitor will be shared with an existing windows box. I'll use a VNC remote desktop as much as possible to reduce the need for multiple keyboard, mouse and monitor connections. Should I get KVM switch anyway? Probably not.

3. Ski condo in Winter Park. It will replace the DVD currently used. The plan is to load it up with ripped DVDs while in Boulder. I have ordered a purpose built case to transport? Can it also replace my laptop in WP or is that asking too much? I could keep a monitor, keyboard and mouse there.

Tentative ToDo List:
Hack Apple TV interface to Mini using info here? Better option here?
Mount network drives to access library of ripped DVDs.
Upgrade memory from 1Gb to 2 Gb or even 3Gb?
Clone disk to larger drive and upgrade new disk to Leopard?
Install Windows using Bootcamp? Linux too?
Upgrade to an 802.11n wireless connection from Quickertek? Sonnet? nQuicky? nNano?
Buy power bricks on eBay for multiple dedicated sites?
Install bracket under work bench.

There's a good disassembly guide here.

JP1 Remotes

The JP1 remotes project refers to a project where some folks reverse engineered the test port for some commercial universal remote controls (those sold under the "One For All" and Radio Shack brands) and wrote their own tools for programming the remotes. All the details are here:

http://www.hifi-remote.com/ofa/

I've had great success using the RS 15-2117 remotes with these tools. I'll be tracking any future work I do with the remotes here.

PID'd Ski Wax Iron Project




What is a PID and why did you do this

A PID controller is an industrial temperature controller. The acronym stands for "proportional-integral-derivative" but it's not necessary to understand the math involved to make use of these things. For more information see:

http://en.wikipedia.org/wiki/PID_controller

Installing PID's on espresso machines to improve the temperature control is a fairly common practice, especially with owners of Rancilio Silvia machines. Recently, I installed a PID
temperature controller on my Silvia following one of the many online guides:

http://www.murphyslawonline.com/silvia/

I was very pleased with the results and it occurred to me that another great application for these devices would be ski wax irons. A Google search failed to find any mention of this being done before so I decided to go it alone and use what I had learned from the Silvia conversion.

Parts List:

Wintersteiger Iron: $46 shipped from this eBay store. I chose this iron because it was cheap yet seemed to have a substantial hunk of metal. That turned out to be misleading since the base plate is hollow. Still, it's a nice iron for the money and is said to be identical to the $70 TOKO Wax Mouse.

Auber Instruments PID: $33 from auberins.com. This is the same controller I used in my Silvia. It's the cheapest retail price I've seen. It's possible to get great deals on eBay especially for used PIDs. It's important to buy a PID that can output to a Solid State Relay (SSR). The relay-only PIDs can not handle the current involved in this application.

Documentation for this PID (and other good stuff) available here:
PID_Manual


Auber Instruments Solid State Relay (SSR): $15 from auberins.com. SSRs are sold by their current handling capacity. I chose a 25 Amp SSR for this application. Check the specifications to make sure that the SSR is compatible with the DC voltage signal coming form the PID on the input side, and can handle 120 VAC on the output side. This is a good price and buying all three electronic parts from Auber saved me on shipping.

Auber Instruments T-type washer style thermocouple: $10 from auberins.com. These washer style thermocouples can be bolted to whatever surface you'd like to measure temperature. Make sure
that your PID can handle the thermocouple type chosen. T-type and K-type are commonly used.

Misc: A plastic project box, wire and connectors. ~$10.
Where did you mount the thermocouple?

On the inside of the iron, there is a small hole on the top side of the base. It's unthreaded, but it is just the right size for an M4 bolt to screw into and create new threads. An M4 bolt is used to attach water bottle cages on most bicycles. I took a water bottle cage bolt (I have lots of bike parts lying around) and cut it down for this application. I used a thermal paste between the thermocouple and base to ensure good thermal conductivity.




How does it work?
First, I'll describe the behavior of the iron out of the box. It had a clever mechanical thermal switch that would toggle a contact open and closed based on the temperature dial setting, controlling current to the heating coil. It wasn't very accurate. An indicated 150C
was actually 130C and the temperature would vary 8C as the switch opened and closed during a 2 minute cycle. Even with the PID initially set up as a thermometer, monitoring the temperature, it was very difficult to get to the desired temperature using trial and error.

When I added the PID, I simply disconnected the two wires from the mechanical switch and shorted them together. Then I had the PID/SSR combo provide line power or not based on the thermocouple temperature feedback. Now, the iron converges to whatever set point temperature I plug into the PID. It only occasionally wanders 1C away from the set point at idle.
Since the iron's plate doesn't have a great deal of mass, I do tend to lose temperature when waxing a ski. At a setting of 150 C, it will fall to the low 140's. It does recover quickly. While it would be nice to have more stability, at least I always know the current temperature and can control the max temperature. I consider the project a success.

Apple TV Hacking project



Most useful features added:
The ability to play ripped DVDs from VIDEO_TS.
Hard drive upgraded to WD 250Gb.

Least useful feature added:
An Apache web server hosting an emulation of the ATV remote. Now I can change the playlist from any location with WiFi.


This Blog tracks my progress and capture information as I hack my Apple TV. I've already had some success with this but am now taking a step back to do it a little more methodically.

Main goals:

- Upgrade the hard drive from 40 Gb to 250 Gb
- Enable SSH so that I can login to the ATV and copy files to it
- Mount network drives
- Play ripped DVDs from either local drive or network drives
- Play streaming videos from cycling.tv

Sites I've found useful:
http://www.appletvhacks.net/
http://www.awkwardtv.org/
http://wiki.awkwardtv.org/wiki/NitoTV

So far, I've been successful copying the 40 Gb drive image to the new 250 Gb drive using dd, but have failed to successfully resize the media partition to make use of the extra space. This would be easy if I owned a Mac and could run diskutil, but I don't. I've tried booting a Darwin 8.0.1 but still no diskutil and I didn't get anywhere with the other utilities.

I've picked up a new Mac Mini for just $430 on ebay. This will allow me to partition the ATV disk and since I got one running OS X 10.4 (Tiger) I should be able to move some utilities to the ATV and also do some kernal mods.

I've already had some success making a patch stick, enabling SSH, installing NitoTV, etc. but after upgrading to ATV 1.1 and losing some functionality, I've decided to take a step back and redo the procedure in a way that will preserve the best features of 1.0 and 1.1. I'll start documenting my steps at this point.

To Do list (green is done) much of it from this guide:
- Restore ATV to version 1.0
- Boot from existing patchstick to enable SSH.
- Configure remote desktop using this guide.
- Copy vim to ATV using scp.
- Change shell to tcsh.
- Copy .cshrc and .aliases files to ATV.
- Run "sudo /usr/sbin/AppleFileServer" to start AFP.
- Copy NitoTV install dir to ATV and run install (tcsh broke this script for some reason, use bash).
- Install options from NitoTV menu
- Copy ATVLoader install dir to ATV and run install (not included in my patchstick image)
- Do "Safe 1.1 Update" from NitoTV using DMG file from here.
- Do NitoTV Smart Update using 10.4.9 combo dmg.
- Samba mounts work with command:
mount_smbfs //frontrow:frontrow@192.168.0.33/EXTERNAL ~/Movies/DVD2
- Downloaded and installed an Apple TV JP1 upgrade for the RS 15-2117.
- Install XAMPP (Apache web server for OS X)
- Install
IRKeyboardEmu.kext to control ATV remotely.
- Implement web based control of ATV using this guide. It works!
- Add tri-band antennas using this guide for airport extreme and this guide for AppleTV

Problems encountered:
- Airport Extreme crashes if large video files are copied to USB drive from Windows. Work around is to use Cygwin to copy.
- Wireless-n connection is too slow to watch VIDEO_TS from Samba mounted drive. What can I do to speed this up?
- Can't get mount_afp to work to see if that's faster.