IN-PROGRESS: Strobe Bike Light

Skills used:
  • 3D printing and optimization 
  • SolidWorks to design CAD models of light and controller prototype
  • Soldering 
  • Battery management and efficiency 
  • Code in C for 433MHz controller and lighting effects 
  • Troubleshooting and problem solving
  • product design 
  • Circuitry

Build Log/Notes

(last updated: Jan 8, 2022)
  • designing battery - 
    • decided on using 4AA batteries for now - about 6V so will need diode to reduce to 5V for LEDs
      • UPDATE (Dec 30/21) - will use 3AA batteries only, 4 new AA batteries is more than 6V
    • later will upgrade to 2 rechargeable 18650 cells with 5V regulator or buck converter to power led
  • currently working on CAD model to print & programming RF modules
  • Demo of left turn signal when button pressed in video below:
  • Current CAD design for light & battery housing

  • REVISED DESIGN



smaller battery holder - 3AA


  • Changed 3D printing orientation so no more supports on LED area
    • nicer finish for LED area, uglier for battery area

  • learning about RadioHead library and how to use
  • ISSUES with RF modules
    • bought 3 receivers and 3 transmitters for cheap
    • only 1 of the receivers have slightly longer range of about 2m
    • 1 receiver dead, 1 receiver very low range of about 2cm
    • not very stable, needs good line of sight
  • Programming issues
    • Buttons not working properly
    • sleep mode & how to trigger interrupts
    • switch statement hanging on last case
      • issue was needed delay or else code would crash
    • millis method is not working - causing code to crash so sticking with delays for now
      • UPDATE - used interrupt connected to RF receiver pin to improve responsiveness 
  • Power ISSUES 
    • implemented code to sleep Arduino when no buttons are pressed
    • about 7ma on idle and 14ma when sending data - when powered by 5V source
      • not quite low enough
      • will improve for V2 by removing use of Arduino and using only ATtiny85 DIP
  • prototype circuit pictures and video below



  • ASSEMBLY of bike light
    • Battery terminals made from paperclips
      • hot glue to hold in place
    • diffuser was cut from a grey frosted binder divider 
    • 22 gauge wire was used to connect everything - soldered 
    • ground terminal was split 3 ways for Arduino Pro Mini, RF receiver, and LED strip
    • 5V (3AA batteries) terminal was split 2 ways for LED strip and receiver
    • Arduino Pro Mini was connected to 2 AA batteries only and received about 3.3V




paperclip battery terminals



  • now working on the controller CAD model and considerations:
    • buttons buy or design?
    • casing size, batteries, runtime 
    • mounting position on bike, ease of use
  • Buttons not working :(      (update: FIXED)
    • so buttons weren't working with the internal pullup resistor method, so I used external resistors to create a pull down for testing purposes
    • initially thought it was the button, but even after removing the button and connection to pin 10, inputs were still be detected 
      • I have now found the issue: button connected to pin 10 had random noise causing random inputs
      • switched to pin 11 and internal pullup method now works and won't need extra resistors :)
  • Now transferring the design from the breadboard to smaller prototyping board & Arduino Pro Mini
  • super quick and simple design of the top half of the controller housing in SolidWorks then printed
  • got a small prototyping board and began to solder the: 
    • buttons, wires to connect to Arduino, and power connections
  • used 9V battery for now because RF modules have weak range and supposedly greater voltage increases the range for the transmitter
  • was difficult making the ground connections, used extra wire to bridge larger gaps - soldering very messy - might buy soldering helping arm








Todo:
  1. mounting mechanism for light & controller
  2. redo light CAD design to integrate 2s battery, and extra hardware - also streamline and hide wires
  3. improve controller - longer run time, smaller battery
  4. replace faulty/weak RF modules 
  5. Design PCB to reduce size?

Code:


Materials:
Total Cost Prototype ~ $30 CAD


Tools:
  • soldering iron
  • hot glue gun
  • 3D printer
  • wire strippers
  • multimeter for debugging/verifying


Helpful Sources:
Future Prototype 2 Upgrades:
  • internal battery (2 - 18650 cells) for light and rechargeable via USB-C
    • add power switch
    • will need boost & buck converters, 
  • slim design & hide wiring
    • design PCB and only use atmega328 mcu (not full Arduino board) 
    • non protruding battery cover
  • add theft protection using gyroscope/accelerometer 
  • new RF modules that are more stable and less cheap
  • maybe double LED density?
  • REMOTE
    • bigger buttons  
    • improve battery life and maybe find smaller powering solution
    • use ATtiny85 DIP instead of Arduino boards
Battery testing for future:
  • recovered 18650 cells from my old laptop - wanted to see if I could use them or if they are dead
  • bought a 2s battery management system (BMS), DC boost converter, 2 DC buck converters, and a micro USB breakout board
    • did not need the micro USB breakout because the boost converter already had micro USB input but I forgot and used it anyways - will be using USB C in final version
    • used boost converter because I wanted to charge using a common 5V phone charger but 2s battery pack needs 4.2*2 = 8.4V to fully charge 
      • so tuned boost converted to output 8.4V
  • designed simple battery pack to fit two 18650 cells for testing - used SolidWorks & 3D printed again
    • used paper clip terminals again
  • started with cells around 2.5V and was able to only charge each cell to about 3.5V 
    • close to nominal voltage of 3.7V but not close to the fully charged rating of 4.2V 
    • this was expected because cells are from old laptop that had poor battery life
    • can probably still use?

Voltage reading of 2s pack during charging


Comments