Introduction: Batteryless Bicycle Safety Light

When riding your bike at night making yourself visible to others can greatly benefit your health! With this instructable I'll show you how to make blinking bicycle lights on the cheap.

These types of lights are sold here in Switzerland for 50$ and even on Aliexpress they cost about 25$ for a pair. Out of curiosity I started experimenting with different circuits and after some initial failures found a really cheap way to make my own bicycle lights for less than 4$ per piece and the fun and pride of making it yourself.

Step 1: Preparation

All the parts required can be bought online from Banggood and Dealextreme. You may even find them cheaper on aliexpress. Here is the list of things you need:



  • 3D-printer
  • Ruler
  • Caliper (optional but it helps)
  • Soldering iron
  • Superglue (or some other glue)
  • Electronics sidecutter
  • Knife
  • Sandpaper
  • Tweezers
  • Stuff to mix the resin
  • PC to create the customized 3D parts

Measure your bicycle

Every bicycle is different. The design I made for the housing is fully customizeable and can be easily adjusted by just measuring and changing two things: the diameter of the bicycle frame part where you will install the light and the distance to the spokes. Measure these as accurately as possible and write them down.

The diameter and the distance need to be measured at the height where the spokes are spread 5cm apart. This is where the magnet-holder will be clipped on. Check the photos on how to measure it. Measure both the front and the back wheel.

Step 2: Create Your Own Custom Housing

First you need to create an Onshape user account. Onshape is the best online CAD tool around at the moment and it is completely free. It comes very close to a professional tool like SolidWorks.

Open my VeloBlinky design files and create a copy so you can edit the files.

There are four basic design files (tabs at the bottom) named

  1. blinky_back
  2. blinky_front
  3. Magnetholder_A
  4. Magnetholder_B

Open the 'blinky_back' file and edit the two numbers at the top of the feature tree on the left named 'diameter_back' and 'distance_back'. Enter the distances you measured for the back wheel (in millimeters!) The distances that produce an acceptable design are between 29mm and 39mm.

Do the same for the file named 'blinky_front'. Here the limits on the distance are 13-28mm.

Note: the appropriate gap between the light and the magnet is automatically added so there is no need to factor in extra space, just enter the full distance measured.

If you would like to tweak the design you may want to change some stuff in 'sketch5'. Occasionally the fillets cannot be produced properly and they are just dropped. If you still want them, try tweaking the features 'fillet3' and 'fillet4'.

There are two more design files for especially wide front wheel gaps and especially narrow back wheel gaps in the 'extras' folder in case you have a really weird bike ;)

Once you are happy with your design you need to export the file to an STL to print it. In Onshape this is really easy: just right click on the tab of the file you want to save and select 'Export...'. Then select STL as the format with the resolution set to 'Medium' and the units as 'Millimeters'.

Don't forget to also export the magnet holders. If you are using different magnets than the 15x5mm round ones you also have to adjust those designs. Be aware that the light may not work properly with magnets thinner than 4mm.

Now go on an print away in your favourite colors. Make sure to use supports when slicing the 'blinky_front'. The other parts print well without any support structures. As a material I am using ABS because it is less brittle than PLA and tends to break less, especially when it is cold. But PLA is probably fine too, the best choice would probabably be PETG but I did not try it yet.

Important: after printing test if it fits your bicycle. Also put on one of the magnet-holders and check that there is a 1-2mm gap to the printed housing. If the gap is too small, the holder can hit your housing. If the gap is too big you can still flip the magnet-holder around so the thicker side faces the lamp. When I did check mine it seemed ok but it turned out that the gap was too small. Since the lamp was already finished I created new magnet-holders with a larger gap for the spokes so I could put it further up on the wheel. If this happens to you too just print the larger magnet holders in the 'extras' folder.

Step 3: Build the Induction Light: Prepare the Relay

In order to induce voltage from a magnet we need a wire wound coil with lots of windings and a magnetic circuit. A cheap 12V relay has already everything we need but the magnetic circuit is closed by the switching part. What we need is an open magnetic circuit so lets cut it open!

The relay can be cut open using a saw or a grinding wheel but that can destroy the whole thing. I found that a more clean and elegant way is to melt it open using a soldering iron. I set it to a temperature of 230°C which isperfect to melt plastic without ruining the tip and creating almost no smoke.

After melting the housing at about 3mm from the top just use the side cutter to open it up. The switching mechanism has to be completely removed such that at the top there is the round end of the coil and the yoke part without any of the copper/brass parts sticking out. You can also use sandpaper to make sure it is flat at the top.

On the bottom side there are five contacts: three on one side, two on the other. Cut both on the side where there is two and the center one of the three. The two that are left are connected to the coil and will produce a voltage spike when a magnet is moved along the open magnetic circuit. Actually there is two spikes, one positive as the magnet moves in and one negative as the magnet moves away. Keep that in mind when reading the next step.

Step 4: Build the Induction Light: Prepare the LEDs

Open the LED keychain light using some pliers, it should open pretty easily. Remove the battery using the soldering iron then cut the circuit board from the solar cell.

Notice anything odd? Where is the connection to the solar cell? Right, it's not there. These cheap lights are not even solar, they just use reject solar cells that did not meet specifications and pack it in a flashlight with a normal battery. Pretty sneaky! Most of the cells still work, you may want to save them and use them for some cool solar project. Also we do not need the batteries, put them to good use or discard them properly.

The button can be replaced by a dead short. Remove it with the soldering iron and short out the two contacts using one of the cut legs from the relay.

Now comes the more tricky part: one of the three LEDs needs to be flipped. This is to protect them from overvoltage. As mentioned earlier there are two voltage spikes. LEDs are very sensitive to reversed polarity and will quickly burn out if the voltage gets too high which will happen when you ride your bike like a maniac as I do. By flipping one of them the voltage is clamped at about 2-3V and the energy is turned into light: win-win. As you can see in the last foto I flipped the one in the center: the slot in the shiny part inside the LED is on the other side when compared to the other two. The center one is the most tricky to solder back on, you can also flip one of the outer leds.

For the back-light we have to switch the white LEDs for high brightness red ones you ordered in step 1. They have to be high brightness, the standard LEDs will not be bright enough for a safety light. Cut the leads to the correct length of about 5mm. Don't worry about the anode and cathode, just make sure not all three are in the same orientation by checking the gap inside the LED.

Step 5: Build the Induction Light (finally...)

Solder the relay to the circuit board as shown in the foto. Make sure to use some fresh solder and apply enough heat so it really holds well.

Carefully bend the relay on top of the circuit board. If the solder joint breaks, start over and use a little more solder or apply some flux first.

Already got your magnets ready? If you move one or better yet a whole stack of them swiftly past the top of the relay the LEDs will light up briefly. How cool is that?! Careful though not to pinch your fingers.

Step 6: Assemble the Parts

Take the printed housings and insert the finished induction lights. Put the right color into the right housing! White goes front and red to the rear. Make sure that the LEDs are well seated in the holes and that the open relay is not sticking out of the housing. If it keeps coming out more than 1mm you can try this: remove the light from the printed housing and bend the LEDs down a little bit then put reinsert it. You can always resort to scotch tape to make it sit flush at the top.

For the magnet holders I use a little superglue to make the magnets stay in the holder. Cleaning the magnets first using a paper towel to remove any fat from fingerprints improves the bonding strength.

Step 7: Potting the Light

The light has to be waterproof in order to survive out there. Potting the whole thing has proven to be an effective method. I am using Polyester from the DIY store because it is cheap and easily available. Epoxy also works but it is way more expensive. Soft potting compounds like slicone may also work but I did not try that and it probably is even more expensive. Polyester is quite smelly until it is fully cured and the fumes are probably toxic, be sure to perform this step outside or in a well ventilated room.

First mix a small amount only, about 5ml is enough. Pour half of the mixture into each housing and tilt it in varous angles to wet the inside. This step is necessary to seal any small holes in the printed part and especially the holes around the LEDs. If any of it spills through the LED holes just wait until it gets a little thicker, then clean the outside with a paper towel then let it dry. This took about 30 minutes with the compound I used. Once the stuff is solid make sure that the holes around the LEDs are properly sealed. If not, repeat the process.

Now remove any tape used to hold the light down and fix the thing in an upright position such that the opening is positioned horizontally. I used clamps for this as shown in the fotos.

Mix more of the Polyester with hardener about 50g-80g this time. Pour it in slowly until the whole housing is filled. Wait for any air bubbles to come up and pour some more if necessary until the liquid nicely covers the relay. Now let it set completely which took a few hours in my case.

Test the two lights again with the magnets to check that they still work.

Step 8: Grinding It Flat

This step may not always be necessary. In my case the cured Polyester was sticking out of the top quite a bit so i used grit 80 sandpaper to grind it nice and flat followed by grit 200 sanpaper to smooth things out. As you can see in the foto I also got the metal part of the relay a little which does not affect the functionality at all.

Step 9: Install It to Your Bicycle

Just a heads up: you probably already know that 3D-printed parts are not as strong as your usual plastic parts which are injection moulded so be careful when installing the lights and do not tighten the screws more than necessary. I am writing this notice of caution because I broke my light and had to weld it using acetone (for ABS parts only) and then letting it dry for a few days.

The design is made for M4 socket cap screws (most similar imperial screw: UNF 8-36). Get a screw that is at least 10mm longer than the measured diameter of the bicycle 'post' you are going to install it to (as measured in step 1). Also you need a nut for each screw.

Before mounting the lights put two or more magnet-holders with the magnets glued in on the spokes and close the clip. Put the thicker part of the holder on the inside of the wheel so the smaller clip faces outward. I use a little superglue to make sure the clip does not get loose.

Install the light by putting it on close to the center of the wheel and then slide it up to where the magnets are. Now add the nut first and then put in the screw and tighten it until it is clamped nicely and does not move easily.

Step 10: Testing

All done, congratulations!

When you turn the wheel the light will now blink each time a magnet passes by. If it does so only at a certain speed you may need to re-adjust the position of the light so the magnet passes just where the relay is.

Please ride safe!

If you would like some more details on the development of the circuit just visit my blog: Bäschteler of Science