after 2days battle with the DS3231 RTC I want to share my thoughts
If you get this kind of error
Uncaught InternalError: Timeout on I2C Write BUSY
It's most likely because I2C pull-up resistor value is too low, it should be 10k not 4,7k
4,7k is a default pull-up value in many schematics but it's not enough for stm32, of course in many cases 4,7k would do the job but if you want to avoid hazards always pull-up 10k on I2c.
In my case, a cheap DS3231 module had soldered 4,7k resistors, funny enough it was working on a breadboard but not on my custom made PCB lol....
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
after 2days battle with the DS3231 RTC I want to share my thoughts
If you get this kind of error
It's most likely because I2C pull-up resistor value is too low, it should be 10k not 4,7k
4,7k is a default pull-up value in many schematics but it's not enough for stm32, of course in many cases 4,7k would do the job but if you want to avoid hazards always pull-up 10k on I2c.
In my case, a cheap DS3231 module had soldered 4,7k resistors, funny enough it was working on a breadboard but not on my custom made PCB lol....