Skip to main content

Building a 49cc Street Legal Motorized Bicycle

Hello everyone! Almost 6 months ago, I moved to Oregon for my work and started looking at cheaper modes of transport to work. The transit and MAX worked for sometime but the bus stops and stations are simply too far from my home and I found myself spending at least 30 minutes everyday for a 3 mile commute to work and another 30 minutes back to home. Buying a car was not on my budget and new motorcycles were expensive too. 

That is when I started looking at cheaper options like a bicycle, skateboard, electric scooter, e-bikes, segways etc. It was my dream to build an electric vehicle since my teenage. Finding an opportunity here, I started scouting for resources related to electric bikes and skateboard building. Among all the forums and resources I found online, 99% of them suggested that the batteries are expensive and the range of electric vehicles is limited. 

And I stumbled upon a forum post which suggested that a motorized bike might be a better option. Though I assumed that I may need expensive tools like a welding machine, drill, etc to make one, I was intrigued and still looked it up online. I was surprised to find out that these vehicles are not only easy to make but they can be made without spending too much on tools.

There began my obsession over motorized bicycles. I started watching tons of youtube videos of motorized bike builds and forum posts / galleries of such bikes. Finally, I decided that I am going to make one and laid out a plan. 

First step is to choose a proper bike for the build. I figured out beach cruisers are best options for a up-straight sitting position and comfortable handle bars. So I went to and ordered a 26" Kent-Oakwood beach cruiser bike for around $140. It came with 7-speed gear setup and it is a good thing because if the engine gives up on you in the middle of a commute, you should be able to pedal the bike with least effort. 

Next is an engine setup to fit on the bike. There are lot of options in the market: 2-stroke engines, 4-stroke engines, chain-drive, belt-drive, friction-drive, etc. Since this was my first ever mechanical project on a bigger scale, I took a low-risk option. i.e a 2-stroke 49cc engine with chain transmission. This setup cost around $100 on ebay and it includes most stuffs you need to motorize a bicycle like engine, CDI, carburetor, fuel tank, sprocket, chain, etc. The engine came with slight damage on wire connectors which I replaced with the ones I had. 

So a cruiser bike and a 49cc engine setup is ready and I needed some screwdrivers, ratchets, adjustable wrench and a drill which I ordered on for around $70. 

First step, probably the most time consuming part was to attach the sprocket to the rear wheel. I used adjustable wrench to remove the rear wheel and fitted the sprocket to the axle and spokes. Re-fitted the wheel and checked for sprocket misalignment and corrected it.

Then, I started with dry fitting the engine on the curved V-frame of the bike to see if it fits and it did thankfully. Bolted the engine firmly to the frame. Some people suggested rubber mounts to suppress vibrations but I decided against it since those thick rubber mounts might do more damage than good. Because the frame and motor will vibrate at different frequencies with rubber mounts on which will lead to loosened nuts, cracked-frame,etc. So I firmly fitted the engine, connected the engine sprocket and rear wheel sprocket with the chain. And I also screwed the clutch cable to the clutch lever on the engine. Fitted chain tensioner to prevent the chain from slipping off of the rear sprocket.

Now that the engine and rear wheel are connected, I fit the throttle cable to the carburetor and snapped it to the intake manifold. The carb had vaccum leaks which I fixed with O-ring gaskets between intake manifold and carburetor. I also added the exhaust pipe to the engine. Phew.

Fitting the fuel tank was not straight forward but still was easy. The fuel tank had two pairs of welded bolts which are supposed to straddle the bike's top tube and U-clamps should go below the top tube to hold the fuel tank above the tube. Since this particular bike model had a wide top tube, the bolts below the fuel tank weren't wide enough to straddle it. So I bought some hose clamps from home-depot, made holes in them to fit the fuel tank bolts and wrapped them around the bike's top tube and screwed them. Now I had the fuel tank firmly clamped to the bike's top tube using hose-clamps.

Fuel petcock, filter and line were connected from fuel tank to the carb's fuel intake. Then came the circuitry: CDI, Kill switch and spark plug were wired to the engine and cylinder head. Finally fitted the throttle handle to bike's right side handle bar. And here is my finished motorized bike.

Next step was to make the bike street legal in Oregon. Because, in Oregon a motorized vehicle with engine size between 35cc - 49cc needs to be registered and insured. Pretty ridiculous I would say because there are tons of e-bikes which are much more torque-y and travel faster than this bike and require no registration or insurance. Added mirrors, headlights, tail lights, and turn blinkers lights. Then I went to DMV, talked to a nice and experienced DMV lady who told me that this can be done and took my application for a custom-made moped. Got a VIN inspection and got a VIN stamped to the bike frame. Titling and plate cost around $144. 

Then went ahead and purchased a home-made bike Kit insurance from progressive for $187 per year (expensive for a 20mph motorized bike). So, finally I made a street legal motorized bike with 100MPG fuel efficiency which I love taking to work everyday :)


Popular posts from this blog

Shell Scripting to Display Bar Graphs in Linux Terminal

 This week was quite hectic for me with course assignments and their merciless deadlines. One such assignment in Advanced Computer Architecture  was simulation of various benchmarks in alpha architecture in simplescalar , a well-known computer architecture simulator. I was supposed to run a total of 4 benchmarks with different configurations of cache memory, instruction issue widths, commit widths, in-order execution modes, etc and I had to plot the required performance parameters for every benchmark. A conservative estimate would be around 40 plots!  Since the simulation platform was Linux, I could breathe a sigh of relief since most things can be automated using a powerful tool called shell. Scripting made my life easier here since I can automate a bunch of simulations without having to keep an eye on each and every simulation which would take anywhere from 20 minutes to 20 hours.  The problem arose when it came to plotting the performance results. Because, each simulation

Programming STM32 ARM microcontrollers in Arch Linux

Once upon a time, not so long ago, the 8-bit microcontrollers were ruling the hobbyist embedded world. But today, the 32-bit ARM Cortex Microcontrollers are so inexpensive and power efficient that there is no good reason to ignore them. Here, let us see how to program a STM32 ARM cortex Microcontroller in Linux environment. The specific microcontroller used here is an STM32F103C8 (ARM cortex M3) programmed in Arch linux. Components Generic STM32F103 board (blue pill) STLINK-V2 (STM32 programmer) Female-Female connectors All the above components can be bought from ebay for less than $10 total. The STLINK-V2 is optional since you can use any of USB-SERIAL converters like FT232, CP2102, PL2303, CH340 and the built-in UART bootloader of STM32 chip to program. So if you already have any of the above serial converters, you don't really need STLINK to program the STM32F103 microcontroller. But STLINK helps if you plan to use in circuit debugging functionalities. Software The

JTAG - Test Access Port (TAP)Controller based Xilinx FPGA configuration using Raspberry Pi

JTAG - Joint Test Action Group is an IEEE 1149.1 standard used in many silicon devices for programming and debugging purposes. Xilinx FPGAs support this JTAG protocol for their configuration. Here I have designed a JTAG FPGA bitstream programmer using Raspberry Pi which programs the bit file into FPGA in fraction of seconds!  JTAG physical bus has four lines: TMS (Test Mode Select) TDI (Test Data In) TDO (Test Data Out) TCK (Test Clock) Components Used:  Raspberry-Pi Xilinx Spartan 3E FPGA (XC3S250E in Papilio One) Jumper wires BLOCK DIAGRAM: TAP CONTROLLER: The TAP(Test Access Port) controller is a state machine inside the FPGA which changes it's state based on TMS input. For instance, let us assume that the state machine is in " Test-Logic-Reset " state. Now if I drive the TMS pin low and toggle the TCK pin, the state machine will go to " Run-Test/ Idle " state. This is how we move to different states.  Note