logo elektroda
logo elektroda
X
logo elektroda
Dostępna jest polska wersja

Czy wolisz polską wersję strony elektroda?

Nie, dziękuję Przekieruj mnie tam

Design of LED display for bicycle wheel or windmill - I provide code and materials

rvsh 1593 15
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • Hello Colleagues,

    I wanted to share an old project that I once made and was even commercially available for a while. The project is more than 15 years old so I am happy to share the materials. Maybe it will inspire someone or they will want to make such a device themselves. The code is 100% working and everything needed is in the zip.
    It is licensed by MIT, so you can use it at will :)
    Everything is in the file: firmware (atmega168), hardware (pcb) in altium designer, "bill of materials", website, manuals in two languages, box design.
    There are two versions of the device standard and compact. The standard version consists of two parts: a module with batteries and microcontroller and a module with leds connected by an rj45 cable.
    The compact version is cheaper because there is only 1 PCB with everything. It is a much slicker, improved version 2.
    If you decide to make one, I suggest the compact version.
    If anyone would need such specific RGB leds as in the project, sd card slots or buttons, I still have something in stock - please write on priv, I will give for what grace and shipping costs :)

    Good luck.
    Screenshot of the “Urban Biker” page showing LED wheel display examples and a “How it works” section.
    @ElektrodaBot
    Bicycle wheel lit with red LED dot text, with wires and electronics mounted on the spokes
    Ring of white light dots on a wheel rim, photographed in darkness
    Top view of a rotating arm with LEDs inside a circular housing
    Circular ring with a three-segment illuminated pattern, top-down view on a dark background
    Top view of a circular bright LED spiral with a small PCB in the center
    Circular LED array forming a flower-like light pattern, top view
    Orange LED segments on a circular rim forming a biohazard-like symbol
    Bright white arcs form a circular pattern; mechanical parts and wires are visible at the center.
    Round LED panel with concentric light rings, front view with mounting parts in the center
    Colorful LED light pattern forming a star shape on a circular background
    Colorful LED spirals around a bicycle wheel, shot in darkness with visible wires
    Spinning rear bicycle wheel with red LED dots forming a message on the rim
    Attachments:
    • swiatla.zip (62.97 MB) You must be logged in to download this attachment.

    Cool? Ranking DIY
About Author
rvsh
Level 11  
Offline 
rvsh wrote 55 posts with rating 19. Live in city Ciechanów. Been with us since 2006 year.
  • ADVERTISEMENT
  • #2 21850499
    ElektrodaBot
    AI OpenAI ChatGPT4
    rvsh wrote:
    Hello Colleagues,

    I wanted to share an old project that I once made and was even commercially available for a while. The project is over 15 years old so I am happy to share the materials. Maybe ko...
    Thanks for sharing the project and the MIT licence

    Great job and a nod for the full package: firmware on the ATmega168, PCB designs in Altium, BOM, instructions, page and box design. From the description and materials, it appears to be a POV (Persistence of Vision) effect based LED display, with two hardware revisions: "standard" (driver + LED strip after RJ45) and "compact" (all on 1 PCB). The recommendation to build the 'compact' version makes a lot of sense - less mechanics and more reliability.

    Below I've gathered specifics for those who will want to recreate the design in 2026, and suggestions for sensible upgrades without spoiling the spirit of the original.

    ---

    What to check before ordering components (checklist 2026) ccc8e629

    - Replacement availability:
    - ATmega168 → in case of shortages: ATmega168PA or drop-in ATmega328P (more Flash/RAM).
    - Linear stabiliser/buck: select under assumed LED current and battery voltage.
    - MicroSD slot: footprint compatible with BOM; beware of "card detect" (different logic).
    - Connectors: RJ45 in standard version can be replaced by JST-VH/MicroFit (better vibration resistance).
    - Power supply:
    - If the original used AA/AAA, today 1×18650 Li-Ion with BMS and USB-C charging is more practical.
    - Provide UVLO (low voltage cut-off) and polymer fuse.
    - LEDS:
    - If discrete 4-pin RGB: leave original or use LEDs with comparable Vf and brightness.
    - Check values of limiting resistors and current per channel (thermal!).
    - Mechanics and environment:
    - Balance the wheel (PCB and battery mass symmetrically).
    - Protection with conformal varnish, nylon spacers, cable extraction, sealing of sockets.
    - Programming:
    - ISP programmer (USBasp/Atmel-ICE). Check fuse bits (clock source, CKDIV8 divider, BOD).
    - File system: small FAT (e.g. PetitFS). Take care of short file names and alignment to sectors.
    - POV synchronisation:
    - Sensor (reed/Hall/accelerometer?) - critical for image quality. Good to have 'zero' angle calibration.

    ---

    How it works (technical brief)

    - The MCU (ATmega168) generates a line-by-line image based on timer interrupts, synchronising with the rotation pulse.
    - The image data is read streaming from the SD card (due to limited 1 kB SRAM).
    - LED control:
    - With discrete RGBs we usually have multiplex + PWM (software or hardware), transistors/N-MOSFETs for current.
    - Correct return ground, short current loops, decent decoupling (100 nF at sections + a few ×10 µF on the rail) are key.
    - Optics:
    - Brightness vs. speed: slow gear needs more turn-on/Gamma time, fast gear needs shorter time (anti-pull).
    - It is worth having a gamma correction board and simple compensation for non-linearities at low fills.

    ---

    Proposed upgrades (without rewriting everything from scratch)

    - Drop-in MCU:
    - ATmega328P as 1:1 replacement (more Flash for graphics/effects, same tool family).
    - Power supply:
    - 1×18650 + BMS + USB-C charger (e.g. module from TP4056/MP2615). Add UVLO ~3.0 V and soft-start inverter/buck.
    - LED and control:
    - Stay with discrete RGB (original look), but consider a 16-channel current driver (TLC5940/MBI5024/TPIC6B595) - stable brightness regardless of voltage.
    - If new: addressable WS2812B/WS2815 on flex tape - will simplify firmware but change nature of design.
    - Synchronisation:
    - Add accelerometer/gyro (MPU-6050/ICM-42688) - smoother operation for speed changes and better 'zero' position.
    - Firmware:
    - LUT arrays for gamma, angle correction, auto-start/auto-stop thresholds, simple playlist mechanism from SD.
    - ISR jitter minimisation (interrupt priorities, 'bare C', avoid long critical sections).
    - EDA and production:
    - Parallel export to Gerber + KiCad (for those willing) - will facilitate replication.
    - DFM: larger socket pads, M3/M2.5 mounting holes, keep-out at edge, ISP/GND/VCC test-points.

    ---

    Safety, legal and operational ccc8e6262629

    - This is a decorative light - not a replacement for approved lights. Use on a public road may be subject to local restrictions.
    - Vibration and moisture are the main enemy: cable lashings, silicone adhesive under heavier components, conformal coating.
    - Thermal: at full white, currents add up - check temperature of diodes and resistors after 10-15 min of operation.

    ---

    For those building - a quick commissioning plan ccc8e6262629

    1) Assemble just the power section + MCU + ISP. Check current consumption "empty" and clock.
    2) Add one LED segment and run PWM test (palette, gamma).
    3) Connect the rotation sensor and check the stability of the image at different speeds (the axis drill works surprisingly well for testing).
    4) Finally, add a microSD and sector read test; only then FAT and graphics.
    5) Secure the mechanics and do a field test after dark, controlling temperatures.

    ---

    Questions/additions that will help the community ccc8e6262629 ccc8e6262629

    - How many diodes are on the "line" and what is the control topology (multiplex/constant rows, current values)?
    - What sync sensor did you use in the final version (reed/Hall/IMU) and what is the "zero" calibration procedure?
    - What stack for SD/FAT did you use and what are the limitations of the graphics/animation formats?
    - Does the "compact" version already have ESD/TVS protection on the lines to the diodes and SD?
    - If you have a list of replacements (EOL → available today), it's worth adding it to the BOM as a "2026 alt".

    ---

    If you upload a zip to the thread (or provide an abbreviated description of the pinout and block diagram), I can:
    - prepare a "2026-ready" variant of the BOM with replacements,
    - propose a modification under 18650 + USB-C,
    - throw in files for KiCad and a short startup note.

    Great initiative - thanks for 'dusting off' the project and MIT. This is exactly the kind of material that teaches practical electronics from schematic to code to mechanics. Good luck to all who will be assembling!
    You can call me in any topic by writing @ElektrodaBot. Disclaimer: Some answers provided by the ElektrodaBot may be inaccurate. Elektroda not responsible for accuracy, reliability or completeness of the information presented. All ElektrodaBot responses should be verified by the user. OpenAI can monitor and save information entered after calling ElektrodaBot.
  • #3 21850504
    rvsh
    Level 11  
    The BOM itself is attached for easy reference :)
    kind regards
    Attachments:
    • bom.xls (29 KB) You must be logged in to download this attachment.
  • ADVERTISEMENT
  • #4 21850617
    Meister99
    Level 2  
    >>21850490

    Super project !
  • ADVERTISEMENT
  • #5 21850712
    Andrzej_Tomaszewski
    Level 13  
    What must be the minimum wheel speed for a stable image?
  • #6 21850884
    jackfinch
    Level 19  
    rvsh wrote:
    In the file is everything: firmware (atmega168), hardware (pcb) in altium designer, "bill of materials", website, user manuals in two languages, box design.


    Hello
    Interesting project, I downloaded the package from the link expecting some kind of schematic but didn't find it, as I don't have Altium I only saw the gerber files. I have checked the *.cdr files but they are just the appearance of the finished pcb. Is it possible to see a schematic diagram somewhere?

    Greetings
  • #7 21851138
    gulson
    System Administrator
    Thanks for sharing the project! Just when the cycling season is starting and people are making / buying more and more gadgets for their wheels. Text me a Parcelmate on Private Message and I'll send a little thank you.
  • #8 21851192
    rvsh
    Level 11  
    >>21850712 I don't remember exactly what the speed must be, but I remember that it is best to do 4 pieces :) per side i.e. a total of 8 pieces per wheel then driving really slowly the effect is great. With 1 piece you rather have to drive at least 15 km/h for there to be any effect.
    The cost of making 1 wheel is not too high, as it is only 50-60 PLN, so if you want a super effect, you have to reckon with the cost of 200 PLN per wheel side (4 wheel pieces). You can also try two pieces to start with, which should be fine. With even numbers you don't need to do any counterweight, because the modules will be opposite each other. I attach an old film with 1 module standard version.


    Attachments:
    • 2.mp4 (21.75 MB) You must be logged in to download this attachment.
  • #9 21851205
    rvsh
    Level 11  
    >>21850884 Actually the file with the schematic diagram itself was missing, there were only pcb's - I added to the package.
    Attachments:
    • UBC_pcb.pdf (470.46 KB) You must be logged in to download this attachment.
  • #10 21851230
    jackfinch
    Level 19  
    Great, thanks a lot, now you can see how it all works.

    Regards
  • #11 21851299
    rvsh
    Level 11  
    I should also add that the package also includes a programme for importing images as graphics suitable for display on the device, which means that you can upload and create your own images. The source code is also included. To run this program, there must be a file named "urbanbiker" on some disk in the root directory - the program is designed so that the user has to insert a micro sd card into the computer and then the program detects it and automatically edits it. The micro sd card is detected just as I described above.

    The final version of the PCB is UBC_pcbv2-final.PcbDoc
    The file panelv2.PcbDoc- is the version to order 10 pcb's per panel.
    Regarding the BOM I have analysed and some components are poorly available today or the names have changed(below replacements or refreshed names):
    LM3965S-3.3 -> LT1963AEST-3.3#PBF
    10.00M SMDHC49S -> 10.00M-SMDHC49R
    TC 68/6.3-SMDC -> TAJC686K010RNJ
    TC 33/6.3-SMDC -> TAJC336K020RNJ
    SMD0805-47K-1% -> 0805S8F4702T5E
    SMD0805-750R -> 0805S8F7500T5E
    KEYS2479B -> BC3AAAPC

    CARD-MSDE2068 (I can't find this anywhere) - the most suitable is: https://botland.com.pl/akcesoria-do-kart-pami...-do-karty-pamieci-micro-sd-5904422349301.html
    (Alternatively, you can change the footprint to another micro sd slot).

    Screenshot of “Visible Biker picture converter v2.2” showing a circular pixel grid with a rainbow ring
    Attachments:
    • HL-AF-5060H271BU46FU79GC-B A1.pdf (207.26 KB) You must be logged in to download this attachment.
    • CARD-MSDE2068.pdf (663.39 KB) You must be logged in to download this attachment.
  • #12 21851382
    Andrzej_Tomaszewski
    Level 13  
    rvsh wrote:
    I am attaching an old video of the 1 module standard version.

    Thank you for the video. Indeed 1 piece is not enough and as you write- an even number compensates each other in weight. Regards.
  • ADVERTISEMENT
  • #13 21852211
    sanwa
    Level 14  
    Hello

    Very cool project, refined and complete, great.

    Still a physical and economic remark.
    Andrzej_Tomaszewski wrote:
    rvsh wrote:
    I am attaching an old video with 1 module standard version.

    Thank you for the video. Indeed 1 piece is not enough and as you write- an even number compensates each other in weight. Greetings.


    Not only even, odd too (-: . Three pieces and more can also be given symmetrically without any problem (with four "sides" it's always a few gold cheaper).

    Greetings
    Janusz
  • #14 21852220
    Andrzej_Tomaszewski
    Level 13  
    sanwa wrote:
    Not just even, odd too

    Yes yes yes, you are right. I did get worked up.
  • #15 21855442
    remzibi
    Level 24  
    Oh cool cool, nicely done.
    My avatar is a remnant of a similar design about 25 years ago :) , ridden in my kid's bike.
    Unfortunately I never did a commercial trial, due to the prohibition in Polish law of any modification of factory lighting devices on road vehicles and adding other than those required by law, people would have paid fines, I don't know what the legal status is today.
    But cool project :) .
  • #16 21855680
    rvsh
    Level 11  
    Yes, in Poland rather only for mass events or riding on the property :) . However, it mainly went abroad. People on e.g. Burning Man were buying for themselves.

    On the other hand nothing stands in the way of e.g. making a fan with a screen. You can modify the code and make a clock, for example. Of course, you have to take centrifugal force into account, so that you do not get hit by e.g. a battery. The responsibility is on the builder. There are many possibilities. I have seen such ready-made Chinese screens that display advertisements.
  • ADVERTISEMENT