How I Made a Carbon Fiber Bike
in My Garage

by Damon Rinard

find us on FB

Spoke Divider


A) Geometry. I chose geometry that I knew I would like, based on bikes I've ridden. (For more information about how to choose frame geometry, see framebuild.htm.) This bike is a normal road bike: 59cm seat tube, 57cm top tube, average bottom bracket height, etc. To begin the full-scale drawing, I plotted only the points required to hold the seat post, rear wheel, fork, etc. I did not draw any frame tubes yet. This bare-bones geometry formed the skeleton. In the next section I describe how I fleshed it out.

The finished bicycle B) Shape. I designed a shape that is distinctive and appropriately proportioned for the loads I believe a bicycle experiences. I connected the dots from the geometry described above, thus fleshing out my skeleton. This is one of the parts I enjoyed the most: dreaming up all kinds of unusual shapes with which to make a bike. Trying to balance out the weight, strength, frontal area, looks, and doability is exciting to me. My bike is a beam bike, with the beam integrally made as part of the frame (no pivots, bolts or hinges).

I also decided to make the rear triangle asymmetrical. On the right-hand side, I gave my frame a chainstay and a single seatstay (it really goes from the dropout to a point above the front derailleur). The seatstay serves as a means to route the rear derailleur cable. It gives the cable a pretty straight shot, minimizing the bends (which create friction), so as to allow the best possible shifting. On the left is a single chainstay. It runs from the rear dropout forward to the main part of the frame. It is level with the ground, not sloping down to the bottom bracket as usual. I theorized that with a level chainstay, most of the length of the tube would draft off of the forward end of itself. In practice I doubt it helps the aerodynamics much, but it is visually appealing.

At this time I also checked for clearance with the bike components. Clearances include the tire clearance needed to remove the rear wheel from the frame, front derailleur clearance as it operates through its stroke, rear brake caliper clearance between the rider's ankles, allen key clearance from the frame when installing the front derailleur and rear brake, etc.

C) Details. I planned for all the metal parts and cable routing. Aluminum parts include the bottom bracket shell (threaded), head tube, cable housing stops, front derailleur backing plate, seatpost binder mechanism and rear brake boss. The two rear dropouts and a seatpost pressure plate are titanium. Cable routing on my frame is internal. I made cable housing stops out of aluminum, and threaded the front one to accept a Shimano barrel adjuster. I machined the rear one to accept a Shimano wing-type adjuster from Dura-Ace STI.


A) The Frame Jig. I made a flat-table jig with standoffs to hold the hard points in alignment. The standoffs hold the frame horizontally a few inches above the table. Hard points included the bb, head tube, rear dropouts and seatpost mandrel. I made the wooden standoffs adjustable for frame alignment by screwing a wood screw into the top of each standoff. To raise a point of the frame, I unscrewed the wood screw at the appropriate standoff. To lower a point, I screwed it in deeper. I checked the frame s alignment often during construction, by standing a straightedge across the lathe-turned face of the bb shell mandrel. On the far end of the straightedge, I taped a 34 mm flag of paper to reach to the centerline of the frame (my bb shell is 68 mm wide). By extending the straightedge from the bb in any direction, I could confirm the frame's centerline anywhere on the frame.

The hard points (bottom bracket, head tube, rear drop outs and seat post) stand on the jig's standoffs, so once I adjust their hieghts, their alignment is guaranteed. But to hold the foam core in alignment between the standoffs, I made jacking screws using carriage bolts and nuts. The nuts stood on the table jig's surface, and the round head of the carriage bolt stood up under the foam core. To raise the core (it began to sag over a period of a day or two without the jacking screws), I turned the screw out of the nut, and the head of the bolt lifted the underside of the core. I had about seven jacking screws and slid them around on the table top to whichever part of the foam needed support at the time. I removed the jacking screws for the hour or so I needed to lay up each couple of layers of carbon/epoxy, and put them back in place after I had wrapped the electrical tape over the layup.

B) Front Derailleur Jig. I also made a small fiberglass jig to locate the front derailleur relative to the chain rings and rear dropouts. Since my frame has a beam top tube to support the seat, there is no seat tube with which to locate the front derailleur. So instead of referencing the front derailleur's position relative to a seat tube, I decided to place it relative to the bb and rear dropout. By locating the outside cage surface relative to the chain ring and rear dropout, I could hold the derailleur in its correct position and attach the braze-on mount wherever it needed to be on the frame in order to hold the derailleur correctly. The jig I made is simply a fiberglass splash off of my wife's Merlin.


She has a Dura-Ace front derailleur and I have a Dura-Ace front derailleur, so the contour of the cage is the same for both our bikes. We also both use a 53 tooth chain ring, so the radial location of the front derailleur from the bottom bracket is the same. With the Merlin lying on its side, I laid a sheet of plastic (cut from a plastic bag) over the front derailleur and chainring to protect the parts from epoxy. Then I wet out about five layers of fiberglass with epoxy and laid them on the front derailleur /chain ring region, thus taking an impression. This impression would serve to locate my front derailleur relative to the radius of my chainring. To get the correct angle around the chainring (analogous to seat angle), I glued a reference pointer dowel to the fiberglass splash and pointed it to the rear dropout. After it cured, I removed the jig from the Merlin. By drilling a few holes in strategic places in the jig, I attached my own derailleur and crank (with its cartridge bb installed) to it. When I slipped the bb into the aluminum bb mandrel on my frame jig and pointed the pointer dowel at my rear dropout, I knew by the front derailleur's position where to mount its bracket on the frame.

C) I formed two cavities in the frame: one for the bb shell and one for the seatpost. Fiberglass (to electrically insulate between the carbon and aluminum, thus preventing galvanic corrosion) and then carbon were laid up over mandrels on the main jig to shape the holes for the bb shell and the seat post. The bb mandrel was a 1 1/2 inch OD aluminum tube with a 0.005 inch sheet cut from a thin plastic bag wrapped around it to keep the epoxy from sticking to it, and to create a 0.005 inch glue gap for the bb shell to be bonded in later.

I shaped the cavity for the seat post over a polished titanium tube. I cut the tube from the largest-diameter 27.2 mm seat post I could find. To prevent the epoxy from sticking to it, I waxed it several times with Turtle Wax car wax.

Spoke Divider

Spoke Divider

Tools and Workspace

A) Standard tools. I used a hacksaw (fine blades), cheap bench vise (it came with the house), drill motor and drill bits, files and file cleaning brush, Exacto knife, scissors, etc.

B) Special tools. I used a long drill bit to drill the hole for the front derailleur cable from the bottom bracket to the front derailleur. I used a ball-nosed Dremel cutter to cut away mistakes in the composite after the epoxy had cured, and for making clearances at various places. I used a few threading taps to cut threads in the aluminum seatpost binder block and the front derailleur backing plate. Of course, I needed the proper-ratio epoxy-dispensing pumps ("mustard pumps") from West System and epoxy spreading rollers (like paint rollers, only extremely slim nap).

C) Supplies. Supplies are things that get used up or wear out, and so needed to be replenished. I used latex gloves (for handling epoxy), a disposable respirator (to avoid breathing in dust while sanding and cutting the carbon), special shears (for cutting the carbon), scotch tape, plaster of Paris (for making small molded shapes, like the front derailleur contour, discussed below), peel ply, plastic sheeting (to cover the workbench while I wetted out the carbon) (I used a fresh sheet for each batch of epoxy), paper mixing cups WITHOUT a wax coating (wax would mix with the epoxy, weakening it), mold release, electrical tape, acid brushes, acetone, masking tape, 80 grit emery paper, a flexible sanding block, and two 1-inch paint brushes (for brushing off the dust from sanding).

D) Workspace. I used my two-car garage. I already had some stuff in it, so the actual space I used was about one third to one fourth of the whole garage. I used the ancient workbench that came with the house, and I set up my particle board frame jig on a card table. I used some storage shelves to store the rolls of carbon fiber and cans of epoxy.


A) The Composite. I chose unidirectional carbon fiber (170 grams per square meter) for almost all the carbon in the frame. It is Hexcel GAO 45, nominally 4.5 ounces per square yard. The top (visible) layer is four-harness satin carbon cloth, Hercules AS4 (370 g/sq. m). Laminating epoxy is West System's 105 resin and 205 or 206 hardener, depending on my open time requirements and the ambient temperature. Bonding epoxy is 3M's DP-460. Laminating resin is thinner than bonding resin (the better to wet out the fibers). I imagine that there are other differences: both laminating resin and bonding resin have optimized chemical formulations to produce the best physical properties for the application.

B) Metal Parts. The head tube is a 1 1/4 inch OD .035 wall aluminum tube. The bottom bracket shell is 1 1/2 inch OD aluminum, threaded 1.370 x 24 tpi LH & RH (English). The dropouts are CNC machined from 7 mm thick 6/4 titanium plate. (They were designed for use in a welded titanium frame.) (You can get similar parts made for welding in metal frames. The three-dimensional bonded area for the dropouts is about three square inches for the left, and about six for the right. In addition to the bonded area, the dropouts' shape mechanically locks them into the carbon. I lathe-turned the cable housing stops and rear brake boss from aluminum scrap. The front derailleur mounting bracket is from a Kestrel 500 SCi. The front derailleur backing plate inside the frame is 1/8-thick aluminum plate, but I wish I had used 1/4 . I have already begun to strip the M6x1 threads! I will try a helical thread repair kit. (Three years later, the helicoils are holding up fine.)

D) Cost. I kept careful track of the money I spent, but not the hours. The project took about the whole summer of 1995, not including the time spent beforehand thinking and dreaming up sketches. After I was done, I totaled up $848.78 spent. With hindsight, I see now that I could have spent less. If I were to do it again, I could make the same bike for about $600.00. But who wants to make the same bike over again? I will try a new design next time!

Making the Core

A) Basic Shape. I looked up some symmetric airfoil shapes in the local university library and photocopied them in various sizes. These became the templates for the cross sections at various waterlines along the frame members. A friend of mine who does sailboard repairs did the bulk of the shaping of the styrofoam core. I provided a full-scale, two-dimensional plot of the side view of my design and the airfoils for him to work from. The foam is SVF rigid styrofoam, 2 pounds per cubic foot. Next time I plan to use two-pound rigid polyurethane. It is easier to shape, and not as flexible as the styrofoam I used.

B) The Details. After the basic shape was carved in foam, I wrapped two light layers of wetted-out fiberglass (again, to insulate against galvanic corrosion) around the aluminum head tube and lightly bonded it onto the core. Then I bonded the cable housing stops in place in the foam core. At this time I cut shallow ditches in the foam downtube to embed the Teflon cable tunnels into the surface of the foam. I then shaped the bb hole in the foam to fit over the bb mandrel on the frame jig. To do this, I cut a rough, oversized hole in the foam. Then I put the foam core into position on the jig, and poured a mix of epoxy and microspheres into the gap between the foam and the bb mandrel on the jig. By first wrapping a sheet of cardboard over the bb mandrel and covering that with a thin sheet of plastic, I formed the foam cavity so as to leave a 0.045 inch space between the foam and the mandrel. This space was for the carbon hoops I wrapped around the mandrel later to form the bb shell cavity in the frame.

Spoke Divider

Spoke Divider


A) Templates. I made paper templates, like patterns, to use as a guide for cutting the carbon from the roll. Fiber orientation is a mix of 0 degrees, +30 degrees and -30 degrees for most sections, 0 degrees being parallel to the long axis of the frame member. The number of laminates varies from seven at the thinnest to 24 at the thickest. High stress areas such as the root of the top tube/beam, the head tube, bb area and tube junctions received the most laminates.

B) Layup. This was one of the most time-critical tasks. Wet epoxy gives you only a limited amount of handling time before it begins to gel. I prepared everything in advance and made sure I had all the things I needed before I began mixing epoxy. Then, following the instructions from West System on "Using WEST SYSTEM Epoxy", I laid the first layer of carbon onto the foam. I used small pieces, about one square foot or less in order to be able to handle it better than if I had used larger pieces. In the future I plan to use the slow hardener (West System's 206) in order to lay up bigger peices. I allowed for 1/2 overlap on all edges of every piece in each layer, and avoided having overlaps occur at the same place on the frame in different layers. Sounds hard, but it is easier to do than explain. The idea was to avoid sudden changes in wall thickness or a simultaneous ending of several layers, both of which could make that area weaker than it could have been. I kept all the paper templates, and wrote notes on each, including the date, number of layers, fiber orientation, etc.

I wrapped over the first layer of carbon with electrical tape to provide compaction during cure. I wrapped the tape too tightly on this first layer, however, and the foam core began to shrink unevenly under the pressure. This allowed the carbon to bunch up, fold, and otherwise get out of order. The tape caused ripples and folds in the cured laminate. The cross section of the core also grew smaller as the foam slowly collapsed, decreasing the size from my design. If I had the chance to do it over, I would wrap the tape much looser on the first layer of carbon in order to avoid this problem. Then I would wrap subsequent layers tighter, since after the first layer cured, it would be rigid enough to prevent the shrinking problem I experienced this time. Using polyurethane foam probably would help, too, as it seems more rigid than the semi-flexible styrofoam I used in this frame. After I repaired the first layer and had a stiff layer of carbon over the foam, I wrapped subsequent layers tighter. I tried to compensated for the smaller cross-section at this point (the root of the beam) by adding more layers.

I wrapped the electrical tape with the sticky side out. This prevents the adhesive on the tape from sticking to the epoxy and interfering with the bonding of the laminates to follow. I continued adding layers as I had planned until I had the correct number of plies at each area of the frame.

Non-Standard Layups

A) The Bottom Bracket. I wanted to be sure the bb shell would be strong enough. I planned to bond the aluminum shell itself into the frame later, so my job during the layup phase was to provide a strong cavity into which I later bonded the shell.

Dimensions add up here, as there are several layers I had to anticipate:

carbon-fiber bottom bracket


My jig had a 1.500 diameter mandrel to represent the bb shell. I wrapped a 0.005 inch sheet of plastic over the mandrel to represent the 0.005 inch glue gap. I also taped a layer of 0.045 inch thick cardboard around that to represent the thickness of the hoop wraps. The mandrel was now the right size to cast the hole in the foam core.

The rigid foam is hard to fit precisely, so I formed a rough oversized hole in the foam core for the bb shell. I used a microballoon/epoxy mix to fill in the gap between the foam and the mandrel.

After the microbaloon/epoxy casting cured, I laid up the hoop wraps and the other carbon/epoxy that overlaps the bb and down tube, chainstays and sides of the core. I removed the carbon layer from the mandrel but left the plastic layer on to represent the glue gap. I rolled the hoop wraps around the mandrel. I included two fiberglass plies to prevent galvanic corrosion, and then two plies of carbon cloth, all wetted out with epoxy laminating resin. Immediately I placed the foam core onto the wet hoops. While the hoops were still wet, I laminated four layers of cloth over the exposed crescent of the hoops on the underside of the bb shell and onto the foam core.

B) Front Derailleur. The width of the frame at the front derailleur area approaches interference with the derailleur. To be sure it wouldn t touch during use, I molded the exterior of this portion of the frame. I temporarily installed the derailleur on the foam core using my fiberglass splash front derailleur jig as described above. I cut a little hole through the thin first layer of carbon already on the foam. Then, with the help of my jig, I placed the derailleur in its final, as-installed position. Then I mocked up the frame contours I wanted using modeling clay directly on the foam core, checking often for clearance with the front derailleur. I made the clay as smooth and accurate as possible, as it would form the shape of the visible exterior of my frame in this region. From this clay surface I cast a plaster negative. I molded a rubber positive from the plaster, and then sandwiched the wet carbon layers in between. When the epoxy had cured, I positioned the molded carbon shape on the foam core and glassed it into place onto the existing carbon surrounding it.

Spoke Divider

Spoke Divider

Secondary Operations

A) Bonding. I co-cured the dropouts when I laid up the chain stays. I wetted out the carbon with laminating epoxy as usual, and also put a coat of bonding epoxy on the dropouts, then assembled both wet. After all the layers had cured, I drilled a hole in the carbon for the rear brake boss and bonded it in place. I bonded the bb shell into its cavity. For bonding I used 3M DP-460 epoxy.

B) Machining. I trimmed the excess carbon and aluminum with a hacksaw and faced the head tube and bb. I trimmed the excess length of carbon beyond the designed ends of the seat tube and smoothed it with a file.


The woven carbon cloth was the last layer I laminated. It would be visible in the finish, so I tried hard not to let too much distortion occur in this layer. After it cured, I washed the frame to rid the surface of the amine blush described in West Seystem's literature, and applied several layers of wet epoxy. I finger painted each layer on and let the layers dry one at a time, sanding with my soft sanding block in between each coat.

The surface is far from commercial quality, but the carbon weave helps distract the eye from the unevenness and other tiny surface blemishes. In addition, the well known "no depth perception" effect produced by looking at carbon fiber also masks the flaws. And lastly, the addition of bike parts to complete the machine hides some of the rough areas, too. A proper paint job would require quite a bit of spot filler, adding weight, taking time and costing money, so I left it clear.

Proof Testing

I built a large test fixture out of two-by-fours and a four-by-four to span the complete bike. I used a hydraulic ram to apply downward force to the seat area. I measured the force in 50 pounds per square inch increments on the hydraulic gauge, and measured the deflection of the frame's beam at each increment.

I was pleased to hear no cracking sounds! On the first trial, the seat post slipped in the frame at about 300 pounds (136 kg), so I tightened the bolts and started over. On the second try I reached 400 pounds (182 kg). This was a quasi static loading mode, taking about five minutes to reach 400 pounds. Not wanting to break the frame without having ridden it, I stopped at 400 pounds. After I rode it and was satisfied that I had actually made a frame that really worked, I became more curious. What if I needed more than 400 pounds loading capacity? What if I hit a REALLY big bump?

Road Testing

The beam was a little too active for my taste at first. It moved about 1/4 as much as an Allsop SoftRide beam, so I thought I would get used to it. After a month or two, I got more used to it, but decided I still preferred a stiffer beam. The other complaint I had was the sideways movement I got on the beam when pedaling hard in the saddle. I considered adding laminates to the beam to stiffen it up, but really wished I had ended up with the larger cross section of my original design, or perhaps a cross section even larger still. What a learning experience! To have so many aspects of my first design work out so well, and still to have ideas for improvement was exhilarating for me.

My plan at this point was to learn as much as I could about the beam I had, and then break it by intentionally overloading it in my test fixture in order to learn the current beam's ultimate strength. Then I would graft a new carbon beam onto my frame. But first, in order to find out what loads the beam was seeing in real life on the road, I decided to record the deflection while riding and relate that to my proof test results above. Using a reflector bracket mounted at the rear brake, I rigged up a piece of white cardboard to remain fixed on the lower part of the frame, and arranged a wooden dowel to hold a pencil from the seat area. The pencil moved up and down with the seat as the beam flexed, and drew a vertical line on the cardboard. The cardboard was nearly vertical, and the pencil moved in almost the same path as the dowel in the earlier proof test. I did my usual bike-club ride and tried not to weight the seat any differently than I normally would. After the ride, I measured the lengths of the longest lines and compared these deflections with my proof test deflections.

My results were eye-opening. The beam spent most of its time (the pencil was very dark) in the range of deflections that I thought corresponded to a 100 to 200 pound load range. This was on typical flat roads, climbing and descending, slow speed and high speed. The maximum loads recorded all occurred at relatively low speed, which was a surprise to me. The highest load occurred one block from my house, in a dip where two streets cross. I was returning from the ride and was riding no-hands, sitting up. The other two highest loads occurred at a different cross street with a dip, and across a buckle in the road at a railroad crossing. Both were also low speed, about 10 mph. When correlated to deflections recorded in the early proof test above, these three higher loads produced deflections that I thought corresponded to 346, 367, and 385 pounds in the proof test. 385 pounds is only 15 pounds away from my lab-tested maximum of 400. That's too close for comfort!

Spoke Divider

Spoke Divider


I went back into the lab (my garage) to proof test again, this time intending to reach 600 lb. (273 kg). If the frame withstood this load, I would have about 50% safety margin, which would satisfy me. If it didn't, then I didn't want to continue riding it anyway! Sad to say, it didn't. It made cracking sounds, and with a little more load, collapsed with a bang at 432 pounds (196 kg). I was surprised at this result, to say the least. It seemed almost certain that I had exceeded this load during the months I had been riding on the road (even though I had stopped recording). I could not explain how the breaking strength was so low, and so close to the load I thought I was putting on the saddle during a regular ride. Then I checked the deflection-to-load rate on the cardboard recorded during this second test session that broke the beam. I found that the deflections recorded on the road correlated to lower loads if I compared them to the more recent deflections recorded in the lab during the test when the beam broke.

Somehow there was an error between the two tests. It is possible that the gauge was not zeroed at the beginning of the first test. Or it is possible that I broke some fibers during riding, and weakened the beam and made it more flexible in the time since the first test. But I think with the large deflections I was getting even from the start, that I would have noticed an increase in saddle movement if I had broken any layers. It is also possible that the recording method of the first proof test differed enough from the recording method of the road test and the breaking test (which were the same) that I was wrong to compare them in the first place.

I believe now that this last was the case: using identical recording methods on the road and in the lab (and only one ride apart!) must give the best correlation between deflection and load. When I compare deflection on the road with the numbers from the second lab test, the maximum load is only 250 pounds (114 kg), which I now believe is pretty accurate. But the comparison with the first test is haunting me: to be safe, I must assume the worst case and design for the higher loads of the first test. Only more careful testing on the second beam in the lab and on the road will tell what loads the beam really sees.

At any rate, the old beam is broken. Now I have an opportunity to learn from my first effort! I plan now to build a new beam onto the old mainframe, laminating over a large surface area to integrate the new structure with the old. The new beam will have a little different shape (taller and wider), closer to the original design or a little larger, and I hope I can proof test that one to 600 lb. Now I can t wait to get started!

The New Beam

After some delay, I added a new beam as planned. I cut the frame in half right through the middle of the down tube. From there on up the frame is all new construction: new top half of the down tube, new head tube, and new top tube and seat post area. I used this opportunity to correct not only the beam's cross section, but also the head tube length: on my old frame, I had forgotten to account for the lower headset stack height!

The new beam is much better than the old one. It is many times stiffer (so much so, I have not felt the need to even proof test it), yet still takes the edge off the bumps. However, it has no damping. The SoftRide beam uses a sandwich layer of elastomer betrween the two composite parts to damp the ride, but mine has no damping at all. This can be a problem depending on how much weight I have on the saddle and my pedalling speed. When my hands are on the tops of the bars, and I am pedalling around 100 rpm, I get a little resonance: the beam starts oscillating up and down with each pedal stroke! When I'm bent over in the drops, however, I get no oscillation at all. I suspect that has to do with less of my weight being on the saddle at that time, thus raising the natural frequency of the beam to a frequency higher than my pedalling rate.

Also, the new beam is smoother-finished. I got a lot of practice in making this frame, and by the time I made the new beam, I was pretty good at my cheap garage methods! I also think that the new shape is more attractive with the taper.

Spoke Divider

Spoke Divider


(All are still in business as of 2015. Some are local to southern California, USA.)

Gougeon Brothers, Inc. | Contact information is on the Help menu.

Aircraft Spruce and Specialty Company | Contact information

Yale, A E Enterprises | Contact information

Fiberglass Supply (formerly Monterey Bay Fiberglass, Inc., now in Washington state) | Contact information

Aaron Brothers Art Supplies | Store locations

Home Depot

Marshall's Industrial Hardware, San Diego, CA, USA | Contact Information

Body Shop Supplies, Lemon Grove, CA

Home back to Damon Rinard's Bicycle Tech Page

Copyright © 1995-2001 

Spoke Divider

Spoke Divider

Articles by Sheldon Brown and Others

Copyright © 1997, 2007 Sheldon Brown

If you would like to make a link or bookmark to this page, the URL is:

Last Updated: by John Allen