Bicycle Lighting System

A complete lighting system (head/tail light, indicators, brake light) for bicycles

Similar projects worth following
This is actually a project that I've had going since 2010, and started out as just a tail light with a remote switch, but has evolved to incorporate a NE555-based flasher circuit for controlling LED blinkers.

The system runs on 12V, and uses standard motorcycle indicator modules. The board is constructed dead-bug style, and yes the wiring looks a bit messy.

I recently had the MOSFET blow up due to a wiring fault elsewhere on the bike (Yaesu connect their radios' antenna shields to 0V, I connect antenna shield to bike frame, and a hose clamp managed to pinch a switch cable and short it to the frame), so in the midst of fixing this, figured I'd document how the system works.

Aside from external wiring mishaps, the controller has been trouble-free since I built it. The bicycle pictured (since decommissioned) has done over 12000km with the controller fitted, and the same controller now lives on a new commuter bike that so far has done over 2300km.

The control switches supply 12V to both the NE555-based blinker circuit and the external LEDs. A diode on each switch acts as a wired-OR arrangement to supply +12V to a LM7805 (yes, I know they're ancient) which in turn drives the NE555.

The regulator helps stabilise the power rail so that the indicators don't stop blinking or change frequency if I hit the transmit button on my radio transceiver. (In theory… in practice, induced RF does this anyway… I'll have to fix that one day.)

The NE555 drives the gate of an IRF540N MOSFET, which supplies the connection to the 0V rail for the left and right hand indicators, and the buzzer. This is an open-drain connection, and so if you want a flashing tail light or head light, you can connect to the MOSFET drain, the "blinker sync" signal, instead of 0V to achieve this. (This is why the "running lights" switch also powers the NE555.)

The circuit has been in use now for over 5 years, and it has rarely given me trouble. Usually, if there's a fault, it's because something outside the controller itself has developed a short.

Control switches use a simple single-pole single-throw illuminated switch, I have two, one for left and one for right, mounted at opposite ends of the handlebars. The controller itself mounts to the top post using zip ties, and so switching the lights on when it gets dark only requires me to momentarily reach down and flick the switch.

I have not, at this stage, set up brake switches, but a few ideas have been considered for implementing them. The provision exists however.

KICAD Schematic of lighting system

Zip Archive - 7.44 kB - 01/14/2017 at 23:34


  • 1 × NE555N Clock and Timer ICs / Timer ICs, DIP-8
  • 1 × 10nF capacitor
  • 1 × 100nF capacitor
  • 1 × 4.7µF capacitor
  • 1 × 100µF capacitor

View all 9 components

  • Getting boards made

    Stuart Longland06/26/2017 at 11:40 0 comments

    So… this is a circuit I've actually had running on the bike for a very long time and has rarely failed me. Usually the fault is external to this circuit… and if a MOSFET releases smoke, it's because I've been a numpty and wired it wrong, or shorted something out.

    I did consider building this using a MCU… I have plenty of ATTiny24As that would do the job… but when I looked into it, I'd be replacing diode-OR logic and a 555 timer with a MCU, power regulator (since it won't work at 12V), switching transistors (since the GPIOs are not 12V tolerant) and other odds and ends… greatly increasing the complexity… for what end?

    So an MCU, does not improve this circuit. The NE555 is a readily available, 0-code single-chip design. Simple diodes provide all the external glue logic needed.

    I tried designing boards in the past, putting much of the wiring harness on the board itself… but routing those signals takes up a lot of 2D space. The winner here was to realise that I don't need to use the PCB to make all the connections, it just needs to provide a space for the oscillator and MOSFET. Everything else can be off-board.

    Some plain copper clad fibreglass with some cuts made with a hacksaw will do for that. DIY vero-board, here we come!

    I also considered a SMT version. In fact, that was the intent, I figured it's worked well enough, let's shrink it down to SMT. I came out with a board that was just over an inch square. There wasn't much fat to trim, and most of the space was dictated by the connectors.

    Gradually, I looked at my footprint library and swapped out the SMT parts for through-hole equivalents. The through-hole version was no bigger! In fact, it made life a little easier to route signals, traces could go between pins, which couldn't be done with SMT without making the traces very thin.

    This is the result:

    I've nearly completed one board, just need to fit connectors on. And yes, in hind sight now, I might've been better off making that top connector a 4-way connector with a 0V pin added… but never mind. Also, you can see I got a few signals muddled in the diagram there, whatever… normally I'm asleep at this hour.

    There's provision there for illuminated switches, the LEDs for which will flash in sync with the indicators.

    I took the liberty to make some small changes: reducing the size of the resistors by a factor of 10 and bumping the timing capacitor up in size by a factor of 10. The component values are given on the silk screen. (Annoyingly, Kicad does not offer an option to do this automatically.)

    Hopefully, this reduces some of the RF-sensitivity of the circuit: previously the indicators had a habit of cutting out or changing oscillator frequency when I hit the PTT button (particularly on the 2m band), and I suspect the high impedance of the timing circuit was the cause.

View project log

Enjoy this project?



Mark wrote 01/15/2017 at 22:37 point

Nice! Just one caveat: don't blink head and/or tail lights. It may look cool but it confuses other drivers and in my country it's not road legal. 

  Are you sure? yes | no

Stuart Longland wrote 01/15/2017 at 22:50 point

Fair enough.  Here in Australia the requirements are that the bike has to have a steady or flashing white headlight and a steady or flashing red tail light.

Both are pretty much "the standard" here.

The reason I don't have a flashing headlight is I find it annoying to see with.  I decided against a flashing tail light in my case due to the brightness of said tail light, although it's just two 12V LED strips and I could in theory blink just one, it'd make the indicators less obvious.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates