Press "Enter" to skip to content

Category: making things

My New Single Speed

The emergency single speed conversion done to get home. I ended up using the 22 and 13 tooth rings.

I’ve been thinking that it’d be nice to have a single speed bike to ride, but I didn’t want to acquire one this way.

Today I ate a very large breakfast then set out with the intention of riding to Lake Orion and back, then to Metro Beach and back, hoping to break 90 miles today. After riding just about four miles and getting to the intersection of 23 Mile and VanDyke, just when I was feeling warmed up, something felt odd when shifting. Looking down I saw that my rear derailleur was canted to the side with the chain coming off of the top jockey wheel. As soon as touched the assembly to try and reposition things the derailleur came off, as seen here.

I ended up doing an emergency single speed conversion by shortening the chain, tensioning it up as I could, then riding carefully home. I had to make a total of three adjustments to the chain, because I found that if I had the chain on anything but the smallest rings it would drop off and skip around.

Even after settling on the two smallest rings I had to be very careful because occasionally the chain would bounce a bit and climb up one gear, putting so much tension on the chain (and BB) that it was nearly impossible to pedal. When this happened I’d have to remove the rear wheel, re-seat the chain, then keep going again. This had to be done at least six times in the four miles home. Eventually I found that if I pedaled gingerly, never pedaled when going over bumps, didn’t apply much force when going uphill, and coasted as often as possible I was generally fine. I could

Now to figure out what to do… The Shimano SLX group is tempting, or maybe the SRAM X.9 stuff. One thing I know I won’t be doing for a while is riding my bike.

Leave a Comment

Chainstay Protector from a Tube

An old tube cut into a 1" strip and wrapped around the chainstay to quiet down chain slap.

I’ve been wanting a chainstay protector to cut down on the noise from chain slap, but I both didn’t want to pay for one. I also particularly don’t like how most aftermarket bike accessories come plastered with logos like this Lizard Skins-brand one. So, while waiting for my biking clothes to get through a late-night wash cycle I took an old tube, cut it into a 1″ strip, wrapped it around most of the chainstay on my bike, and cable tied it in place.

This idea was inspired by this photo of an On-One Inbred Summer Season 456 with what appears to use this same setup. I really like the minimal look of it.

To cut this piece of tube I stuck a piece of 1″ masking tape on an old tube, cut along both sides of the tape, squared the ends, then scrubbed off the non-stick powder from the tube with a sponge. It was wrapped so that what was the inside of the tube is facing out, making for a consistent gray look. I would have liked to wrap more of the chainstay, but with the rear derailleur cable running under the chainstay there wasn’t a lot of clearance. The area of the chainstay which had taken the most damage (and thusly chainslap) before is covered, so it should work well.

Chain slap is the clanking noise made when the chain bounces and hits the chainstay (or other parts) while going over bumps or drops. Not only does it make a loud clanking noise, the impact usually chips up the finish on the chainstay.

4 Comments

Bike Photography and GPS Fixin’

Yesterday I headed out to the grand opening of the Skills Park at Stony Creek Metropark. I’d intended to ride a bit, but I ended up spending most of my time there just taking photographs like the one above. (That one was taken by sitting under the gap in the Flo the Fro stunt and using the Peleng 8mm fisheye. If you’d like to see more of the photos, take a look at the album entitled Stony Creek Skills Park Grand Opening.

After getting home and meeting up with Danielle we went and got food, swung by my work to pick something up, went to Best Buy to grab a pack of universal screen protectors for my new phone (eek, expensive!), then I came back here and fixed the Garmin Edge 305 I’d previously mentioned. My first attempt was to bridge the connector PCB to the main one with wires, but there wasn’t quite enough room for them. Instead I just ran the battery pack wires directly to the related test points on the main board then sealed the thing up with hot melt glue.

Leave a Comment

Crooked Tree

Another (quite blurry) view of my bike leaning against the crooked tree on The Snake at Stony Creek.

I really like riding past this tree on the portion of the mountain bike trails known as The Snake at Stony Creek Metropark. This tree keeps leaning further and further over, and I imagine that soon it’ll actually fall and make for a log to be crossed. There’s something I really like about coming around that corner and having to lean under it.

Yes, I know the photo is really blurry. Sorry, it was getting dark and 1/7th of a second is hard to hand hold, especially after climbing a bunch of grinding hills. Here is a clearer photo of the same tree and my bike, but from an angle which doesn’t show the tree and trail as well. Also, a few more biking photos have been posted to my catch-all biking around local places album, if you’d like to see them.

Next time I’m out I’ll try and take a picture of the corner at the top of The Snake which I previously couldn’t make it past, but was able to easily ride through twice (out of two attempts) tonight.

A friend of mine is having problems with his Garmin Edge 305 GPS. He’s reported that it will periodically turn off while riding, which seems to be attributable to the battery contacts in it losing contact briefly, so he asked if I’d take a look at it. It seems that the unit has a set of pressure contacts which connect the battery, speaker, and USB connector to the main board, held in place when the unit is glued shut. This set of flexible pins has to make contact with this PCB while the whole unit is mounted on a bicycle bouncing down rocky and rooty trails.

I think that to fix this I’m going to fit two wires for power from the non-contact part of the pads on the back panel to test points on the main PCB. This should ensure that the power connectors are always good. USB and speaker probably aren’t as critical, and I don’t want to try and cram too many wires into a housing not designed for them. I’ll give this a go tomorrow as tonight I’m relaxing.

Leave a Comment

Car-Based Data Tank

I look forward to Wireless USB becoming a reality because then I can easily put some sort of large flash-based device in my car, powered from the car, and use it for backups. As my car is generally where I am I think that it would be reasonable to use such a device for backing up personal financial data and other things like that.

Sure, I’ll have to incorporate some manner of both encrypting the communication and the data on the disk, but that shouldn’t be too difficult.

It’d be interesting to try it now via Bluetooth, but it’d make the availability as a disk volume (for easy backups) a bit more complicated.

Leave a Comment

Doughnet Adapter

The Doughnet Adapter, as seen on 15-Jul-2008. This was assembled in 2000 or 2001 from a Compaq loopback adapter and Dunkin Doughnuts doughnut hole. The N label (done in Sharpie) has faded with time.

This is the Doughnet Adapter, a very special network adapter I assembled in 2000 or 2001 from a Dunkin’ Doughnuts doughnut hole and a Compaq loopback cable. It has occasionally been branded with an N, but this seems to fade a year or so after it’s written.

I’ve kept the Doughnet Adapter in one of the overhead cabinets in my cube since I made it, finally bringing it home tonight so that I could photograph it.

A few months back I broke off a small piece from the bottom and tasted it. It is rancid, but still quite sweet and smells faintly of vegetable oil.

Leave a Comment

Smart UPS 1400

Old Yuasa batteries from my Smart UPS 1400 and the new Rhino version (part SLA-17-12 from Rage Battery) which will replace them. Also shown are the cables, fuse, and fasteners.

This post is being brought to you by a bit of energy supplied by new batteries which were just installed in the old Smart UPS 1400 in my office.

On Wednesday evening I ordered two new batteries from Rage Battery, part number SLA-17-12, which are direct replacements for the cells in the OEM Smart UPS 1400 battery. They were delivered today, so I used the parts from the old pack (bus, fuse, screws, nuts, harness) to build them into a replacement pack which I then stuffed that back into the UPS housing. After a brief test it’s now all sitting back on the rack, charging, smoothing power, and waiting to protect things at the next power glitch.

Thankfully the replacement TiVo HD was delivered today as well, so I think I’ll go put that into place while Danielle cooks dinner.

Leave a Comment

Ivan’s P3 is Finally Done

Screenshot of MIDI-OX displaying sync data from Ivan's P3 sent via the SYNC port.

That right there is a screenshot of MIDI-OX displaying data coming into a MIDI port, including a START and STOP message. This wouldn’t be anything too special, except for that it’s coming out of the SYNC port of Ivan’s P3, which means that the MIDI Sync issue which I’d previously mentioned is now resolved.

It turns out the problem was related to some changes which Colin had made in order to eliminate unintended triggering of the PICs inputs. It appears that this new code was mostly a backport of the firmware for the v1.6 boards (these are v1.5) which included the function for DIN SYNC passthrough, but doesn’t seem to default to having MIDI sync on.

The solution is to boot the P3 while holding down the 1 key. It will then tell the PIC to flip into MIDI mode, the PIC will write 00 to the first byte of its EEPROM (so it always goes into MIDI mode in the future), and then as soon as it first receives a RUN command it’ll start spraying out the clock / start / stop commands seen above.

I guess if I had been better (or more thorough) at reading disassembled PIC code I could have seen it doing all of this, but I’m not really that familiar with it yet, and I didn’t want to spend six hours looking up opcodes I didn’t understand and what each register written to was. Ah well, at least it’s working and I know what happened. Now I just have to pack it up and get it back to Ivan.

Leave a Comment

Playing with the PIC12F629

Tonight I did some more digging into the problems I’ve been having getting the MIDI sync working in Ivan’s P3. I had been sent some new firmware to try, and while that (in the disassembler) appears to deal with the right pins (GP0 as output, GP5:GP4 as input), it didn’t work. Tonight I did a good bit more digging and eventually ended up writing this program as a test.

Based on my understanding of how the PIC in the P3 with v1.5 PCB works, this program does the following: GP0 is set to low, then whenever GP4 changes state GP0 is changed as well, but only if GP5 is high. The end result is that on the output pin of the PIC, which connects through to the SYNC output, I basically see a mirror of the inputted sync signal whenever the sequencer is running.

I don’t think that it would be a huge stretch to write my own version of the software that is supposed to be in this PIC, but I haven’t gone that far. As far as I’m aware all I’d need to do is have each sync pulse received cause a MIDI Clock message to be sent out of GP0, and whenever GP5 goes high or low send a respective MIDI Start or Stop. That said, this P3 should really be running its official software, not my replacement stuff.

Hopefully I’ll receive some new firmware for it soon, and hopefully that firmware will do what it needs to. If I’m bored enough tonight maybe I’ll try and follow the flow through the entire program in the disassembler and figure out where it’s going wrong.

Leave a Comment

P3 v1.5 MIDI Sync Issue

Looking inside of Ivan's P3 while the micro grabbers are connected to ground, sync in (to the PIC on GP4), and what should be MIDI out (from the PIC on GP0).

So, in wrapping up the testing of Ivan’s P3 I found one more problem: MIDI Sync output isn’t working. I think I’ve narrowed the issue down to the software running on the PIC which handles this. Here’s what I know as of last night:

· U1, the main CPU on the P3, has two lines coming out of it which either connect directly to the DIN sync port or to U19 used for conversion to MIDI sync.
· I am seeing nice square waves on the PIC’s GP4, and these pulses change width with tempo change.
· The line running from U1 to the PIC’s GP5 goes high when the sequencer is running, then low when it isn’t.
· I don’t see any data coming out of the PIC on GP0, which is what connects through a 220Ω resistor eventually through to the MIDI port.
· There are no shorts on any of the lines.

In troubleshooting the PIC itself I have:
· Read out the firmware from the PIC, and received new firmware from Colin (the designer) for the PIC. These did not match, and the new firmware did not resolve the issue.
· Tried a spare PIC which I had sitting around in my parts pile.
· Wrote a test program to blink all GPIO lines on and off and successfully ran it on both PICs.
· Confirmed that the PIC is connected to power and ground and other lines, as expected.

After this, I pretty much have run out of ideas. This morning I threw the firmware Colin had sent me into a disassembler, and while I’m not very good at reading assembly, I think I’m that GP0 and GP1 are used as inputs and GP2, GP4, and GP5 are outputs, confirming that the firmware I was sent is for the v1.6 PCB. There is lots of BTFSS GPIO,0 and BTFSC GPIO,1 which are used for reading pins, and lots of BCF and BSF on GPIO,2, GPIO,4, and GPIO,5. GP2 (GPIO,2) seems to be used the most in the program, so I think it’s the MIDI port, and this would match what I see in my old photos of the v1.6 board, as GP2 connects through a 220Ω resistor to the pin header. GP4 and GP5 probably mirror the input received on GP0 and GP1, but I’m having difficulties confirming which pins are sync and which are enable.

I just pulled apart the older file which I had read out of the PIC previously and it seems to read from GP4 and GP5, with MIDI data going out of GP0. These port uses match my observations of the pinning of the v1.5 board, so I think that the older firmware looks somewhat right. That said, it clearly wasn’t working, otherwise I wouldn’t be posting this.

I think tonight I’ll try to write the originally-read firmware back into one of my new PICs, then I’ll drop it back in the P3, just to see what happens.

Oh, and for what it’s worth, this is my understanding of what the PIC12F629 on the P3, U19, does (or is supposed to do) on the the v1.5 boards: It watches for when GP5 goes high (an indication that the sequencer is running) and when it does, it sends out a MIDI clock message with each pulse it sees on GP4 (not sure if this is done at the rising or falling edge). It then stops sending these clock messages when GP5 goes low. On the v1.6 boards it seems to do something similar, but since it has three outputs I believe it also sends the DIN sync output as well.

There are also more photos of last night’s work at the bottom of this page in the last two rows.

UPDATE: One thing I didn’t test was input on the pins and the internal oscillator. I make a quick change to the blinky LED program to run from the internal oscillator and another version which I can use to test if all the inputs work. I’ll try that tonight. At this point it’s almost not enough for me to fix the problem, I want to know what wasn’t right.

Leave a Comment