HowTo: FibonacciClock – Programming

In the two articles FibonacciClock – An Unusual Time Indicator and FibonacciClock Assembly, the FibonacciClock was introduced and described how you can assemble your own FibonacciClock. Now that you’ve finished assembling, it’s time to program the clock.

This is described in the following article.

Hints for our lovely english readers: Basically, many of the articles on are translations from the original german articles. Therefore, it may happen here and there that some illustrations are not available in english and that some translations are weird/strange/full of mistakes or generally totaly wrong. So if you find some obvious (or also not obvious) mistakes don't hesitate to leave us a hint about that in the comment section. 
Also please don't get confused, that instead of a "dot" often a "comma" is used as decimal separator. 🙂

Safety instructions

I know the following hints are always a bit annoying and seem unnecessary. But unfortunately, many people who knew it "better" from carelessness lost their eyes, fingers or other things or hurt themselves. In comparison, a loss of data is almost not worth mentioning, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Even the coolest project is worth no injury or other annoyance.


To program your FibonacciClock, you need to connect it to your computer via a micro USB cable.

You also need the Arduino IDE.
How to install these is described in this post: Installing programs
In addition, here are some tips on the Arduino IDE described, which give you a first overview of the Arduino IDE: ArduinoIDE – Tips and Tricks

Download firmware from the

Have you prepared everything so far you just have to download the firmware from the
How to download GitHub software is described in the article GitHub – How to copy files from a GitHub to my computer.

The FibonacciClock software can be found at:

Configure firmware

Before you can transfer the firmware to your FibonacciClock, it must first be set correctly.
Depending on whether you have installed an OLED display and/or an LDR when assembling the clock, you must activate or deactivate these functions in the firmware.

Open the previously downloaded firmware in the ArduinoIDE and change to the tab “config.h”. There you scroll to the area “LDR Setup” or “I2C Display Setup”.

By default, both the LDR and OLED displays are enabled.

If you have installed in your FibonacciUhr no LDR you have to disable this feature in the software now. This is done by commenting out the part “#define LDR_INSTALLED”, which precedes a “//”.
So in complete “#define LDR_INSTALLED” will be replaced by “//define LDR_INSTALLED”.

The procedure is similar for the OLED display.
If you have not installed OLED display you have to disable this feature in the software. This is done by commenting out the part “#define I2C_DISPLAY_INSTALLED”, which precedes a “//”.
So in complete “#define I2C_DISPLAY_INSTALLED” is therefore replaced by “// # define I2C_DISPLAY_INSTALLED”.

Setting the Arduino Type and Programming Interface

As a last step before the actual programming you have to adjust now the correct Arduino and the programming interface in the ArduinoIDE. Only then the program can be correctly translated and programmed for the Arduino or used microcontroller.
You can read more about this in the article ArduinoIDE – Tips and Tricks.

To do this, click on “Tools” in the ArduinoIDE and then select “ArduinoNano” as the board as shown.
It is also important that you have to select the correct processor type under “Processor”. This is always a processor from the ATmega32P family at the FibonacciClock. Which bootloader is used depends on the version of the ArduinoNano. The easiest way is to try it out. If the programming with the selected boot loader fails, just try the other one.
To select the programming interface, click on “Tools” again and select under “Port” the Com-Port, which was added to the list after connecting the clock.

That’s it with the configuration.

Start programming process

To start the programming process, you only have to click on the red button.

In the article FibonacciUhr – user manual is a small user manual put together, which should help you with the next steps. 🙂

I hope everything worked as described. If not or you have any other questions or suggestions, please let me know in the comments. Also, ideas for new projects are always welcome. 🙂


P.S. Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you appreciate it that I share these information with you, I would be happy about a small donation to the coffee box. 🙂

Buy Me a Coffee at

Leave a Reply

Your email address will not be published. Required fields are marked *