Endurance Honda: Race cars take as much time as you have

Over the last few months we’ve relearned the old adage, building a racecar takes exactly as much time as you have.  The car did it’s best to not run after we installed the engine.  Here are the list of things we did to try to get it to run well but did not fix it: injectors, injector wiring, fuel rail, fuel pressure regulator, fuel filter, fuel filter, disconnect and blow out all fuel lines, fuel pump relay, fuel pump wiring, coil, plugs, temp sensor wiring, cam position sensor wiring, ecu, throttle body, air temp sensor.  After all that it still wouldn’t run.  Out of ideas we just started disconnecting random things to see if we could get it to change how it ran.  This was done on Saturdays and Tuesdays over the course of a month.  In the end disconnecting and cleaning out the idle air control valve seemed to fix it.

Now that it is running (and next weekend is my driving school to earn my wheel to wheel license) we are down to finishing up things on a list taped to the window.  Last Saturday we installed the exhaust and welded in seat rails to mount the seats.  On Tuesday we will install a fire extinguisher, bleed the coolant, and test drive it around the parking lot and put it on the trailer.  I’m not sure why, but race cars always take as much time as you have.  Nature abhors a vacuum.

Endurance Civic: New motor

We got our replacement motor in and started going over it.  We noticed that all the injectors looked new and left those alone (for now).  The head shield over the exhaust manifold was missing some hardware and the mount points were a bit rusted so we cleaned those up and found replacement hardware.  We took apart the timing belt to discover that we bought the right belt but the wrong tensioner and water pump so we ordered the correct ones.  We removed the power steering rack and mount for it and the air conditioning as we have a manual rack and no ac.  We cleaned up any corrosion on the hose connections and replaced all the rubber hoses.  We removed the valve cover and replaced all the rubber on it.  Next time we’ll finish the timing belt and attach the wiring harness.

Endurance Civic: Installing the Subframe

Installing the subframe proved more difficult than removing it.  The first step was bolting in the steering rack.  That was made difficult by damaged threads in the subframe.  Using a tap we cleaned them out.

Next we had to get it into the car.  First you should install the rear engine mount.  More on that later as we didn’t do that first.  Everything in the suspension in held in tension so installing the stubframe is a difficult processes of doing everything in the right order and the correct application of a hammer and pry bar.  Next you have to get the steering rack hooked up to the column.  This should probably be the second step after doing the engine mount but we did it after the subframe was bolted into the suspension.  If you do it the hard way like us you have to unbolt the column from the dash to get enough play to get the joints to go together.  After we did that we discovered that we’d need to install the rear engine mount.  After removing the heater core valve and fuel filter and using the 1/4″ socket with a flex joint we were finally able to attach the rear engine mount.  I wonder now if the right way to do this is to bolt everything to the subframe (engine included) and then jack that up and into the car.  That might be the way this is all assembled in the factory.

Endurance Civic: Replacing the Subframe

Since we had the motor out we looked carefully at the subframe and realized why we were not able to get a good alignment on the front right wheel.  At some point the car was crashed hard enough to crack up the subframe and it had plates welded on it to repair it.  Ryan went to the local junk yard and pulled one impressing those around him with his skill.  The steering rack is contained within the subframe and to remove it you have to disconnect it from the column.  At the junk yard ryan used the weight of the motor to disconnect it and then separate the steering rack from the subframe.  To do this last part is made difficult because the rack has to be partially dissembled to remove it from the subframe.  After getting it back to the shop we cleaned it up and removed the broken one from the shop.  Next time we will put it back in the car.


Endurance Civic: Buying a replacement motor

In the hunt for a replacement motor I learned about old Honda motors.  The wikipedia page on Honda D series engines is where I started.  Keeping in mind that we want this to be both low cost and durable to compete in an 24 hour race we set out to find a motor.  The motor that was in the car was a DOHC CZ 1.6L motor which came in JDM Civics and CRXs.  This motor provides a small power bump of 10hp over the equivalent motor sold in the US, the D16A6.  The first place I looked was on car-part.com and craigslist and what I found is that there weren’t many motors locally we could get and they were all very high mileage.  This means that we would probably have to rebuild the block and break in the motor.  Wanting something quicker we asked friends who race old Hondas and were told to contact hmotorsonline.  Looking at their website we found a direct replacement with low miles (~55k miles).  Here is the link for the motor we ordered: https://www.hmotorsonline.com/shop/d-series/zc-88-92-civic-dohc-long-block/.  After shipping (including delivery on a truck with lift gate) the cost of the motor was $1235.  We hope to get the motor in the car in the next couple weeks.

Endurance Civic: What went wrong?

Our plan is to have fun doing some endurance racing with our civic at our local track, High Plains Raceway.  With the hope of an inexpensive rebuild we tore down the motor to discover almost everything had been damaged.  Our theory as to what happened is this.  On the pistons we found no clips holding the wrist pins in and stamps showing that the pistons themselves were aftermarket.  The wrist pins seem to be seized to the pistons and moving the connecting rods on them is difficult.  Because whoever build this motor didn’t install the clips for the wrist pins they moved around in the slot and caused extra heat and friction causing them to warp.  This caused the connecting rods to overheat and the bearings to melt.  Some of the metal from the bearings clogged up the oil pickup causing engine to be oil starved and the oil and coolant overheated.  All of this means that the motor is not rebuild-able as we would need a short block or a full rotating assembly.

Endurance Civic: Out with the broken

The Rally.Build shop acquired a racecar with a long history of both rally and endurance racing this summer.  It is a 1990 Civic hatch with a Rally America logbook and WRL tech stickers.  The previous owner was ready to move on after the motor overheated during a race and happily traded the car for parts for his new build.  Optimistically we assumed the head-gasket had just gone and caused the overheating.  Slowly over the course of many beers and snide honda-bro “vtec yo” jokes a new head-gasket was installed.  Unfortunately when it was back together it became obvious something much worse was wrong with the motor.  Starting it up there was a loud knock.  For a while the shop tried to sell the car to someone looking for a cheep racecar but with no serious offers we decided to fix it for endurance racing.  The plan is for the WRL 24hr race at High Plains raceway later this year.

The first step was to pull the motor.  On an old honda this is fairly straightforward.  There is plenty of room to work and the transmission comes out with the motor.  The most difficult parts were things that were installed after the fact.  On the speed cable from the transmission we found a terratrip speed sensor spliced in.  Disconnecting the speed sensor from the transmission became so difficult we eventually just pulled the whole stem out of the cable.  Now that the motor is out the next step is to disassemble it and see what is wrong.

Killing the reviews and going aggressive on pricing.

The good reviews have arrived and they feel good.  The skeptic in me now wonders how much they matter because when I look at similar listings they all have perfect review scores too.  Either all our competition is being awesome (I doubt this), or bad ones have quit (maybe), or guests all feel like they have to write good reviews.  It might be a little of all three.  Our first month was the best month so far for income as we only had 2 guests for the full month so there weren’t very many days blocked off for cleaning.  This month we have 7 days blocked off to clean in-between guests.  This accounts for the reduction in money that we are getting.  Our income per night rented is going up but our overall income for the month took a huge hit by not being able to rent an entire week out of the month.  I wonder how much a good cleaning service would cost (and if it would cost less than the money we are loosing cleaning it ourselves).  I’ve started to wonder if we have a friend or sibling who would be happy to do the work.  It is hard to find someone you trust enough as quite a bit depends on them being dependable.  To help compensate for this loss of income I changed the setting on our pricing (we use the website usewheelhouse.com for automated pricing) to aggressive, increasing the base price by $11/night.  I struggle with if this is the right decision and if the only result will be that we will just get more last minute bookings as our pricing comes down as unbooked days approach.  That being said, we have gotten several booking since I’ve made this change.  I would like it if there was some nice metric I could look at to know how this is affecting our listing.  Views have been going down for a while now, however that can just be a function of being about 50% booked through Christmas as the days people search for are not available.  I really wish Airbnb would offer a A/B testing system for their hosts, it could really help me know what is working and what isn’t.  Without science it is just guess work and faith.

Building a better desk controller

At work we have AMQ height adjustable desks.  They use a controller some corporate type probably thought was really cool.  It is that one on the left and it screws into the underside of the desk.  The problem with it is the capacitive touch buttons.  They are unreliable when you want them to work and they often react when you just get near them with your chair causing most people in the office here to set their desks to one position and then unplug them.  They get away with this because they appear to work in a demo and when they sell them to businesses and they are cheaper than the competition that probably makes a better controller.  The rest of the desk is fine so I decided to make my own controller.

To start off I need to figure out how the controller works.  To do this I used a Analog Discovery USB scope.  It was easily the best tool I’ve bought for my own electronics hobbies and is worth double what they charge for it.  The software is awesome and works on mac, linux, and windows.  There is even an API so you can use it with your own code.  Using a breadboard and a couple Ethernet jack breakouts I made a way to sniff the lines driven by the controller.  With this I drew this diagram:

If you are smarter than me you will see a problem with this diagram that I discover later.  However you can see that it is relatively simple.  Each of the buttons pull one or two of the lines to ground when then are pressed.  Also, I figured out how the number display works.  It is just a UART line.  Here are my notes on how the UART works:

When the numbers are displayed there are short bursts of 4 8-bit values sent over the UART line.  When height number is displayed it sends two 1’s and then the height value as a integer.  This then translates to a fractional value by dividing by 10.  Secondly, when you press the memory button to set memory it sends 1, 6, a bit that corresponds to the memory setting, and then 0.  Lastly there is an error state that displays A,S,and most of a F on the screen.  This happens when the encoder has lost it’s place and you have to run the thing all the way to the bottom for it to zero again.  Here is an image from the software for the logic analyzer showing a burst on the serial line:

One thing I really like about the Waveforms software is how easy the cursors are.  Expensive rack mounted test equipment usually doesn’t have this useful of cursors.  My next step was selecting the components I was going to use to build my controller.  Here is what I chose (some of these were used because they were parts I had on hand from previous projects):

To build this here are the tools I used:

First I drilled out and test fitted my face plate on my enclosure.  Here is a few pictures of that process:

I then cutout the space for the display by drilling the corners and then cutting the plastic with a razor blade.  If I were to do this again I’d use a smaller drill bit for the corners and cut using a dremmel.  Doing it this way took a long time.For the buttons I soldered stranded wire onto the leads and crimped female 0.1 headers onto the other side.  Here are some pictures of that process:

One of my buttons was too close to the pcb mounting point to screw on the nut.  I used an appropriate sized drill bit to cut it away:

With all that done the next step was to prototype the circuit and program the microcontroler.  To do this I used a breadboard and prototyping wires.  Here is where I learned I missed a few things before.  For one the power connection.  Before I was a bit confused about pin 3 and 4 which both seemed to be connected to power.  By using the scope I discovered that pin 4 was only high when the other controller was plugged it however it was at a slightly smaller voltage than pin 3 which was always high.  This lead me to believe that the controller was pulling it high to let to motor controller know it was plugged in.  I tied it to the high line using a resistor and all seemed to work on the power front.

Next I discovered that if I wired up the buttons as I had drawn in my first diagram current would flow back through the lines I’d connected together and buttons that pulled only one line low (up and down) no longer worked after I connected those lines together on one side of some of the memory set buttons.  To fix this I used electronic one way valves, aka diodes with a circuit like this:

This worked great and I was on to programming the microcontroler.  This proved to be a bit challenging because the trinket I had chosen was so limited in pins and codespace.  Because it did not have a hardware UART I had to use the SoftwareSerial library.  For controlling the LED display I used the I2C connection and Adafruit’s library.  However, because of the limited code-space to get my binary to fit I had to comment out parts of Adafruit’s library that was for the matrix displays.  Here is the code I wrote for the trinket:

Here is the final circuits and a picture of my prototyping setup:

Once I proved that it all worked I soldered it all together on a prototyping board and assembled the box.  To mount the pcb I used hot glue to secure some standoffs.  I also used hot glue to secure the display in it’s spot.

Lastly I cutout the spot for the ethernet jack with a dremel and screwed the whole thing together.  I now use it on my desk at work and it is awesome.