logo elektroda
logo elektroda
X
logo elektroda

TL;DR

  • A Spectral Clock propeller clock uses a spinning LED rotor to display time.
  • An ATMEGA32 controls 32 blue SMD LEDs through four MBI5170 drivers, takes time from a DS1307 RTC over I2C, and uses an optoelectronic sync sensor.
  • The controller’s 32 KB flash supports multiple display modes.
  • An HDD motor with a PHILIPS TDA5140A driver spins the propeller; the motor winding’s triangle connection required an artificial center point and brush power.
  • A 15 mm plexiglass case keeps noise low at 50 revolutions per second, but the documentation still has flaws and was not yet fully released.
Generated by the language model.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #91 4848683
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    there is no AVT in AVT; / I can not find a store that would offer the availability of all these chips; /; / I think I'll be fine with the taste; /
  • ADVERTISEMENT
  • #92 4848934
    Anonymous
    Anonymous  
  • #93 4848936
    Zubiik
    Level 15  
    Posts: 168
    Help: 1
    Rate: 52
    The motor driver can be found on the disc, the only thing you need to order are the MBI systems. In the warehouse mentioned above, they can be purchased for quite an affordable price.

    Regards
  • #94 4849055
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    takk with some drivers from disk may be a problem, hmm, but still the RTC chip remains; /; / it will be hard; /
  • #95 4849101
    Slaby
    Level 12  
    Posts: 104
    Rate: 2
    You can replace the RTC system with the very popular PCF8583 which also runs on the I2C bus, of course, after appropriate modification of the program and PCB :)
    Changing the software just in the part responsible for the correct reading of the time from the RTC should not be difficult.
  • ADVERTISEMENT
  • #96 4849264
    Zubiik
    Level 15  
    Posts: 168
    Help: 1
    Rate: 52
    Exactly! The PCF is generally easy to get, and as for the driver: because I would also have problems with desoldering it from the board, I decided to leave this chip in its place and connect the motor as it worked in the original.
    solution. Maybe there are any other drivers besides the unfortunate TDA?
  • #97 4849307
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    hmm, I don't change the program, I'm completely green in it; d
  • #98 4849335
    Slaby
    Level 12  
    Posts: 104
    Rate: 2
    Then maybe wait until one of my colleagues or I, because I will be making such a watch, will make it on more available parts :)
    And I'm just going to be at the stage of looking for a driver for the engine and either I will find one that is reasonably available or I will construct something :) Oh, and the contactless power supply will also be a rotating transformer :)
    Only due to a slight lack of time due to a lot of work, my project may not be created so quickly ;)
  • #99 4849736
    Zubiik
    Level 15  
    Posts: 168
    Help: 1
    Rate: 52
    Traax Maybe you should look for a more affordable one
    project? For example, with a smaller number of LEDs, then the problems with their control would be eliminated, the same if you could use a different motor in such a project, e.g. from a fan
    and you don't have to worry about hard-to-reach drivers. There was probably such a project on Elektroda. Just something I can't find it .....
  • #100 4851306
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    hmm, I don't like those clocks. for me this one is perfect. you will have to look for ...
  • #101 4851807
    przemm91
    Level 11  
    Posts: 16
    You have the drivers here:
    http://www.andpol.com.pl/search,katalog.html?MBI5170
    Atmega32:
    http://www.andpol.com.pl/search,katalog.html?ATMEGA32
    DS1307:
    http://www.andpol.com.pl/search,katalog.html?DS1307
    TDA5140A:
    http://www.poltronic.com.pl/go/_info/?user_id=TDA5140

    LED drivers, Atmega and ds1307 in one store.
    A bit of a shipment will come out a lot, but what can you do about it.
    If you want this watch, there is no other option.

    (I stated the shops but I do not advertise them)
  • #102 4852050
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    how neatly in this andpol, almost everything and the shipment only PLN 10; d one problem with this page, where is the price given ??
  • #103 4852257
    przemm91
    Level 11  
    Posts: 16
    You should send an inquiry with the price and whether the goods are available
    Spectral Clock - Propeller Clock
  • #104 4856216
    softmark
    Level 1  
    Posts: 1
    So we are waiting for a pattern, but so for peasant reason :D
  • #105 4856565
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    well, I predict that in June my project will be ready, so I'm waiting for a free flow of cash :D And it will definitely appear on the elka ;)
  • #106 4856711
    Slaby
    Level 12  
    Posts: 104
    Rate: 2
    Hehe, it's still me, to be honest, I was going to go a little bit down, I thought about max. 2 months :) and here is a friend traax writes about June :)
    But the most important satisfaction with self-performance and, of course, the final result :)
  • ADVERTISEMENT
  • #107 4859193
    przemm91
    Level 11  
    Posts: 16
    The design is great.
    I will buy some elements and deposit such
    and then I will struggle with my own project.
    I think I will get there by the beginning of May :)
  • #108 4883155
    hetm4n
    Level 20  
    Posts: 812
    Help: 5
    Rate: 525
    Hello, I have a problem, I know the basics of assembler, but in C I'm completely green. Can someone help me what to program, what changes in the program to do (because when I compiled on WinAVR, errors popped up) etc. link to the author's program: https://www.elektroda.pl/rtvforum/download.php?id=285142 " target="_blank" rel="nofollow noopener ugc" class="postlink inline" title="" > https://www.elektroda.pl/rtvforum/download.php?id=285142
    how to write on gg 10587682
  • #109 4950626
    lewy2
    Level 2  
    Posts: 2
    Hello

    At the beginning, a very great respect on my part :)

    I mean, I don't really know what you describe here :) and the watch is great. It would be advisable for me to buy the same clock from the author of the topic. ??

    If so, what will the price be?

    Regards

    Marcin
  • #110 4951527
    mb1988
    Level 12  
    Posts: 93
    Rate: 258
    You should deal with such matters on private. But since you are asking, this clock is unfortunately not for sale. It has some technical shortcomings for which I do not want to be held responsible later. Besides, I will need it in the construction of the final and probably the last version. It will be a much more serious project and the results should be expected in the summer.
  • #111 4997804
    nethastasi
    Level 2  
    Posts: 2
    hi everybody. this circuit really very nice and We want do this but we dont know your language. How do can do this circuit in english language?Can you translate please. İf you can do this.Really we will happy:D
  • #112 5005268
    nethastasi
    Level 2  
    Posts: 2
    THANKS to DJ_WEST for english translation. Thank you DJ_West.
  • #113 5054334
    SebaOK
    Level 11  
    Posts: 53
    Rate: 3
    Or maybe someone provide a list of parts and the pattern of the plate ??
  • #114 5064150
    mlassota
    Level 18  
    Posts: 372
    Help: 11
    Rate: 85
    Hello

    In the diagrams (in the PDF version) I can see that 4 MBI5170 - 3 in the 8 bit version and 1 in the 16 bit version are designed. Is it a distortion or does it have any significance for the operation of the system

    I am joining the request for a "list" of parts - what I have deduced a bit from the description and the diagram, but it is about "exact types" because the MBI has several variants:
    MBI5170CD SOP16-150-1.27 8-bit
    MBI5170CDW SOP16-300-1.27 8-bit
    MBI5170CP SSOP16-150-0.64 8-bit
    MBI5170GD SOP16-150-1.27 8-bit
    MBI5170GP SSOP16-150-0.64 8bit

    and there are still 16 bit versions :)

    The same with Atmega32 - SMD version, but the exact type, unless it does not matter and it will be as long as the housing is TQFP44 and for MIB SOP16

    Request also for a list of passive elements

    Thanks in advance
    M.
  • ADVERTISEMENT
  • #115 5065901
    witm1212
    Level 11  
    Posts: 9
    Hello dear colleagues. I am just at the stage of soldering the board and completing the mechanical system and here I have a question for the constructor: how is the board connected to the motor? ie is it only on three screws? I will try to cut the disc from the CD (because it fits the upper diameter of the shaft) and stick it to the plate. The next problem is a slightly different spacing of the mounting holes in the engine (I only have 3 threaded ones) and getting fi2mm screws and the last problem - battery mounting (is it soldered? Or in the stand) because the photos show poorly. And a piece of advice for followers - the paths on the bottom layer can be made thicker and some jumpers can be made differently. I would also like to learn about other disadvantages mentioned by the author, as well as the idea for the final version. I bow to the author and greet him
  • #116 5094774
    mb1988
    Level 12  
    Posts: 93
    Rate: 258
    Hello everyone.
    Sorry for the delay, but for some unknown reason the notification of new posts has been disabled.
    The plate is adapted to a specific engine from the seagate barracuda disk, it has 5 holes that perfectly match the holes in the engine housing. The spacing of these holes is not standardized, so other manufacturers use different dimensions. If you use a motor other than the one described, the holes must be adapted on your own. In my clock the propeller is attached only to two 2mm screws, it is enough.
    The battery is placed in a socket which is soldered to the board. This stand has been removed from the cell key fob, which flashes when ringing. In turn, I took the keyring from my little cousin :P .
    The main disadvantages are the lack of external communication and, of course, energy transmission via brushes. A coreless transformer will be used in the final version. However, the biggest step will be the use of tricolor smd diodes and an FPGA chip from the SPARTAN family. Perhaps it is too powerful a system for such a device, but I treat this project in terms of development.
  • #117 5096759
    witm1212
    Level 11  
    Posts: 9
    welcome back,
    these holes are a lot of trouble :( . I had to move the holes a bit and drill to fi3. Motor material is nasty to machine and won't thread - I'll have to paste on the distal when finished. But that's not what I wanted to do. I have just finished soldering and I am faced with a programming problem. I have a double problem because I have an atmega but 16 and I know the basics only of bascom. The batch is supposed to be, but how to handle it ???
    let's say I manage to program but how do you set the time, etc.
    I am asking for help here on the forum because maybe others will also need it.
    greetings
  • #118 5143548
    dominon
    Level 18  
    Posts: 300
    Help: 12
    Rate: 262
    Hello. I have a question, what is the setting of coffee grounds in prock ??
  • #120 5152167
    witm1212
    Level 11  
    Posts: 9
    The plate has already been soldered, the motor is temporarily mounted in a stand made of a cd box and the top serves as protection. Everything is spinning nicely now :) . I also wrote a skeleton program in Bascom (great training because I'm just getting started) and it actually works but the algorithm sucks a bit. Because timer1 (16bit) counts the clock cycles from the INT0 interrupt (IR sensor that determines the starting point on the dial), then this value is divided into 240 and timer0 is loaded with this value, counting the individual steps of the pointer - but dividing by 240 causes the rest and the rest to arise causes the hands to vibrate. I've been struggling with this for a while and come to the conclusion that I need a different algorithm, or more accurate division. Does anyone else do practically this layout?
    greetings.
📢 Listen (AI):

Topic summary

✨ The discussion revolves around the design and implementation of a spectral clock using a propeller mechanism. The project utilizes an ATMEGA32 microcontroller to control 32 blue SMD LEDs via MBI5170 LED drivers, with timekeeping managed by a DS1307 RTC. Participants share insights on motor control, programming in C, and the challenges of achieving precise synchronization for the display. Various users inquire about the specifics of the circuit, including the use of different LED drivers, the programming process, and the durability of components. Suggestions for improvements, such as using a coreless transformer for power and implementing IR communication for time setting, are also discussed. The community expresses interest in obtaining schematics, PCB layouts, and a bill of materials for the project.
Generated by the language model.

FAQ

TL;DR: One Propeller-Clock rotor spins 50 rps (≈3 000 rpm) while an ATmega32 drives 32 LEDs; “in spectral clocks the issue of software … can make a difference” [Elektroda, Twizzter, post #4815839] Size, speed and code tweaks decide image quality. Why it matters: these tips prevent the common “00:00:80” bug and burnt HDD motors.

Quick Facts

• Rotor speed: 45-55 rps recommended to avoid flicker [Elektroda, mb1988, post #4814890] • Power draw: 5 V / 250 mA (motor), 12 V / 80 mA (LEDs) [Elektroda, mb1988, post #4816959] • LED count: 32 SMD on radius = 63 pixels diameter [Elektroda, mb1988, post #4815891] • Motor driver: Philips TDA5140A; drop-in LB1688 works with minor tuning [Elektroda, mb1988, post #4815034] • Typical build cost: PLN 50–60 for electronics; case from scrap plexi [Elektroda, mb1988, post #4816863]

How do I wire and start an HDD spindle motor for a propeller clock?

Use a three-phase BLDC driver such as TDA5140A in the page-9 reference design; tie the three windings to MOT1-MOT3 and create an artificial center if the drive is delta-connected [Elektroda, mb1988, post #4815034] Feed 5–6 V to VLOGIC and 5–12 V to VMOT while monitoring temperature.

Why does my DS1307 show 00:00:80 instead of real time?

Bit 7 of the seconds register (CH) is still high; the oscillator is halted. Clear CH once, then save time. Many builders forget the pull-up on SQW, causing the same symptom [Elektroda, mb1988, post #7122854]

What fuse settings are needed on the ATmega32?

Enable external 16 MHz crystal, start-up 16K CK+65 ms, CKOPT unprogrammed. Leave JTAGEN off to free PORT C pins. Wrong fuses keep INT0 from firing and the display stays blank [Elektroda, hetm4n, post #12007461]

How can I balance the spinning PCB without special tools?

Screw the board firmly to the motor hub, then eyeball component placement symmetrically. If vibration persists, add small blobs of epoxy opposite heavy parts until the wobble stops [Elektroda, mb1988, post #4815891]

What’s the simplest way to set or change time?

  1. Compile firmware with the desired compile-time constant (e.g., 12:00). 2. Flash it exactly at that wall-clock moment. 3. Immediately flash the normal firmware that leaves RTC untouched. This two-step trick was used by the original author [Elektroda, mb1988, post #4817605]

Can I replace the 8-bit MBI5170 LED drivers?

Yes. Any constant-current shift register (e.g., STP08DP05, 74HC595 + resistors) works if you adjust SPI width in code. One builder ran three ST16CP05 without issues [Elektroda, Scyzor, post #7800620]

My image drifts; how do I sync display to speed?

Reset TIMER1 on each opto-interrupt, divide the measured period by 240, load that into TIMER0; update LEDs in the TIMER0 ISR. If drift persists, lower the prescaler so division error stays <0.5 µs [Elektroda, mb1988, post #4815891]

What causes a missing wedge or duplicate sector in the graphics?

Integer rounding of TCNT1/RESOLUTION leaves residue; the wedge shifts with RPM. Use 32-bit math or accumulate fractional ticks (phase accumulator) to eliminate the gap [Elektroda, Pawełmatrix, post #4820097]

How do I convert bitmaps or GIF frames to the 960-byte frame table?

Crop a 63 × 63 monochrome bitmap, iterate every 1.5°, sample radius 0-31, and store four bytes per ray (240 steps × 4 = 960 bytes). Community GUI converters are shared in the thread [Elektroda, boxochi, post #17138028]

What’s a safe current for the SMD LEDs?

Set the MBI constant-current to 20–25 mA; with 50 rps the duty cycle is ~0.4 %, so average LED current stays below 100 µA, preventing thermal stress [MBI datasheet].

Edge case: my motor only starts if I spin it by hand—fixes?

Increase VMOT to 7–9 V, swap two phase wires, and check that CAP-CD/CAP-DC pins have the exact values (22 nF chosen wrong cuts starting torque) [Elektroda, Moyshaa, post #9075908]

Can I power the board contact-less to avoid worn brushes?

Yes. Wind a 3-turn primary under the plexi base and a 6-turn secondary on the rotor; resonate near 35 kHz. Keep coils 5 mm above the aluminum hub to curb eddy-current heating [Elektroda, mlassota, post #7122363]

Step-by-step: flashing firmware and storing graphics

  1. Flash boot HEX with CH cleared. 2. Flash main HEX. 3. Use the provided PC tool to convert BMP/GIF to EEPROM HEX, then flash EEPROM. Done.

What’s the expected lifetime of the brushes?

Copper ring runs for 1–2 years at 50 rps before visible wear; lowering speed to 25 rps triples life, according to a 10-year user report [Elektroda, hetm4n, post #19746865]
Generated by the language model.
ADVERTISEMENT