DIY 3D Printed Rechargeable Bike Wheel Lights

by yantor3d in Outside > Bikes

2490 Views, 29 Favorites, 0 Comments

DIY 3D Printed Rechargeable Bike Wheel Lights

20250223_155447.jpg

I started commuting to work by e-bike in the spring of 2024. As fall approached and the days grew shorter, I started to worry about visibility - car drivers are notoriously oblivious to cyclists and I didn't want to be a statistic. I wanted more lights on my bike. Unfortunately, the commercially available options were ... not great. Fiddly, low power, and in need of frequent charging.

So I built my own. And they're bright. And good enough to stand up against the endless rains of a Portland winter.


To build your own, you will need access to a 3D printer for a couple of days, and a soldering iron. Consider going in with others in your local cycling groups to acquire some of the materials - you can get five wheels per spool of PETG / LEDs.

Supplies

Per wheel, you will need:

  1. Black PETG (California Filament, Matter Hackers, etc)
  2. Translucent PETG (California Filament, Matter Hackers,etc)
  3. 9x M5x30mm Flat Head Socket Cap Screws (MonsterBolts, McMaster-Carr, or your local hardware store)
  4. 4-8x M5x20mm Flat Head Socket Cap Screws (MonsterBolts, McMaster-Carr, or your local hardware store)
  5. 4 per light
  6. 3x 21700 Rechargeable Lithium-Ion Cells (18650 Battery Store, IMR Batteries)
  7. 3x Keystone Electronics 228 Battery Clip (Mouser, DigiKey)
  8. 3x Keystone Electronics 209 Battery Clip (Mouser, DigiKey)
  9. 1x Single Color RF LED 11 Key Controller*
  10. 1x Single Color LED strip*
  11. 1x DFRobot FIT0869 18650 S3 BMS Chip (Mouser, DigiKey)
  12. 1-3x Adafruit 743 Waterproof DC connector (Mouser, DigiKey)
  13. 1 per battery, 1 per light
  14. 1x Adafruit 798 12V AC/DC wall adapter (Mouser, DigiKey)
  15. 30mm 20 AWG black wire
  16. 30mm 20 AWG red wire
  17. Closed cell foam (your local hardware store)
  18. Thickness: (40mm - hub diameter) / 2

* The LEDs are cheapest on Amazon or E-bay. US companies that sell them, like SuperBrightLEDs, do so at a huge markup.


There are a variety of LEDs to choose from, and I have tested them all. They need to be 10mm wide or less

Based on my bench tests, these are the average run-times for one meter of various LEDs. Runtime scales proportional to brightness, so your LEDs will last twice as long at 50% brightness as they do at 100% brightness.

  1. SMD 2835 60 LED / meter at 100% brightness lasts about 24 hours
  2. SMD 2835 120 LED / meter at 100% brightness lasts about 12 hours
  3. SMD 2835 240 LED / meter at 100% brightness lasts about 6 hours
  4. SMD 5050 60 LED / meter at 100% brightness last about 8 hours

I also tested COB LEDs and found they lasted almost 48 hours, but, they started to dim after 8-12 hours and were barely brighter than a candle before they gave out. I don't know why this is - I suspect it's because SMD LEDs have resistors in the circuits and COB LEDs don't.

Since I have a long commute, I use SMD 2835 120 LED / meter strips for my wheel lights; that way, I only have to charge them once a week.

Wheel Lights

wheel-lights.png

Decide what size, number, and color of lights you want. A small light can fit 12" of LED strip; a large light can fit 18" of LED strip. I recommend two lights per wheel to maintain balance; while the fully assembled weight of the lights is less than 100g each, that can be enough to off-balance the wheel on lighter bikes.

3D Printing

Print the battery case and LED controller case with the following print settings:

  1. Material: Black PETG
  2. Layer height: 0.2mm
  3. Initial layer height: 0.3mm
  4. Seam Position: Random
  5. Wall loops: 4
  6. Sparse infill density: 25%
  7. Sparse infill pattern: Triangles
  8. Infill direction: 30 degrees
  9. Fuzzy skin: All walls
  10. Fuzzy skin point distance: 0.2
  11. Fuzzy skin thickness: 0.1

Print the LED cases with the following print settings

  1. Material: Translucent PETG - match the color of the LEDs
  2. Layer height: 0.2mm
  3. Initial layer height: 0.3mm
  4. Seam Position: Random
  5. Wall loops: 3
  6. Top surface pattern: Aligned rectilinear
  7. Top shell layers: 1
  8. Top shell thickness: 0mm
  9. Bottom surface pattern: Aligned rectilinear
  10. Bottom shell layers: 1mm
  11. Sparse infill density: 12%
  12. Sparse infill pattern: Honeycomb
  13. Infill direction: 30 degrees
  14. Fuzzy skin: All walls
  15. Fuzzy skin point distance: 0.2
  16. Fuzzy skin thickness: 0.1

Print the spoke disks with the same settings as the LED cases, but 100% infill.

Battery Clips

b01.layout-of-parts.jpg

Cut 5mm, 10mm, and 15mm lengths of red and black wire. Strip and tin both ends. Solder the red wires to the positive battery clips (Keystone Electronics 228). Solder the black wires to the negative battery clips (Keystone Electronics 209)

BMS

b06.bms-pre-solder.jpg
21700-battery-case.png

Some BMS chips come with tabs over the terminals meant for spot welding. These do not take solder well. Desolder them before you proceed.

With the P+/- terminals to your left, and the B- terminal away from you, solder the battery clips to the BMS chip as follows.

  1. Solder the 15mm black wire to the B- terminal.
  2. Solder the 10mm red wire and 5mm black wire to the B1 terminal.
  3. Solder the 10mm black wire and 5mm red wire to the B2 terminal.
  4. Solder the 15mm red wire to the B+ terminal.

With the P+/- terminals to your left, use hot glue to secure the BMS in the battery case in the spot marked BMS. Feed the wires through the slits and openings in the case. With the BMS at 12 o'clock, fit the battery clips as follows:

  1. Install the negative battery clip connected to B- at 7 o'clock
  2. Install the positive battery clip connected to B1 at 10 o'clock
  3. Install the negative battery clip connected to B1 at 11 o'clock
  4. Install the positive battery clip connected to B2 at 1 o'clock
  5. Install the negative battery clip connected to B2 at 2 o'clock
  6. Install the positive battery clip connected to B+ at 5 o'clock

Insert a female DC connector (Adafruit 743) through the port in the case with the BMS. Solder the red wire to the P+ terminal. Solder the black wire to the P- terminal.

BMS Testing

Plug in your AC/DC wall adapter (Adafruit 798), and connect it to your battery case. Using a multi-meter, verify the BMS shows the following readings between terminals. Note - while connected to the charger, the readings may fluctuate between 0V and the given value.

  1. P- / P+ :: ~12V
  2. B- / B1 :: ~4V
  3. B- / B2 :: ~8V
  4. B- / B+ :: ~12V

If any values do not show as expected, double check your solder joints on the BMS and battery clips. In my experience, you can tell where the break in the circuit is based on what the maximum voltage between B- / B+ is.

Once you are sure the circuit is good, disconnect the battery case from the AC/DC wall adapter, install the li-ion cells in the battery case with the correct polarity. Briefly re-connect the battery case to the AC/DC wall adapter. The light on the charger should turn red. If it does not, refer to Step 7 for troubleshooting

Install the tops of the cases. With the BMS at 12 o'clock, install M5 x 30mm screws in all positions except 6 o'clock and 8 o'clock

RF LED Controller

c01.layout-of-parts.jpg
c05.plugs-soldered.jpg
c07.controller-in-case.jpg

Observe the circuit label on the LED controller - mark which wires connect to the LEDs and which wires connect to the power source. Use a knife to cut off the plastic case. De-solder the factory installed wires.

For a single light configuration, solder a male DC connector (Adafruit 743) to the power source terminals and a female DC connector (Adafruit 743) to the LED terminals. The connectors should be adjacent.

For a dual light configuration, solder a male DC connector (Adafruit 743) to the power source terminals and two female DC connectors (Adafruit 743) to the LED terminals. One female connector should be adjacent to the male connector - the other should extend from the opposite end of the chip.

Use hot glue to install the LED controller into its case. Install the top on the case. Place the LED controller case on top of the battery case, overlapping the holes at 6 o'clock and 8 o'clock. Install M5 x 30mm screws to secure it in place.

LED

l03.led-strip-installed.jpg

Solder a male DC connector (Adafruit 743) to the LED strip. Remove the cover from the adhesive backing, and install it along the inside wall of the light case, starting from the 9 o'clock position and proceeding clockwise around the case. Use a flat head screw driver or other tool to press down the LED strip so it adheres to the case. Install the top of the case.

Plug the LED directly into the battery to test it. If they do not illuminate, refer to the troubleshooting section.

Installation

Remove the two screws holding the LED controller case to the battery. Loosen the screws at the 10 o'clock and 2 o'clock positions so that the battery case can unfold all the way.

Install the closed cell foam around your hub. Feed the battery case in through the largest opening in your spokes, and loop it around the hub. Re-install the LED controller case and the screws at the 6 o'clock and 8 o'clock positions. Spin the wheel and then hit the brakes to ensure the battery is secure on the wheel. If it is not, use thicker closed cell foam.

Clip two disks to adjacent, crossing spokes, as close to the rim as you can manage. Offer up the lights to the disks, and secure them with the M5 x 20mm screws. The lights should be installed on the street side of your wheels for maximum visibility, and to avoid conflict with the chain.

Connect the male DC plug on each light to the closest female DC connector on the LED controller. Connect the male DC plug on the LED controller to the female plug on the battery. Use the RF remote to turn the lights on. If they do not illuminate, refer to the troubleshooting section.

Troubleshooting

  1. If the lights do not turn on when connected to the battery, plug it in to the charger. The light on the charger should turn red.
  2. If the charger does not turn red when connected the battery, use a multi-meter to read the voltage between pairs of positive/negative battery clips. If you identify a break in the circuit, remove the li-ion cells and repair the affected solder joint.
  3. Use a multi-meter to read the voltage of each cell individually. If any cell reads below 2V, it is faulty. Replace all three cells - do not mix new and old cells!
  4. If all voltages between pairs of positive/negative battery clips are nominal, unplug the battery case from the AC/DC wall adapter and carefully measure the voltage on the female DC plug. If it reads 0V, the BMS is in standby mode. Remove the li-ion cells, plug it in to the AC/DC wall adapter, and use a piece of wire to short the P+/B+ terminals. This will reset the BMS. Unplug it from the AC/DC wall adapter, re-install the li-ion batteries, and repeat the first step.