I just wanted to say that this channel is a brilliant resource along with the website. As a PhD student, I've learnt a lot over the past couple of days going through your content covering STM32. Your content is 10x better than the official training that STMicro provide!
Hi, i want to ask you why i do the same you show. And i try to down load your project and run. but those characters in my LCD are wrong like /|??\\|| instead of right time and date. Thanks !
Hello! I am using the DS1307 right now. Anything in particular I should worry about, or it may be taken the same way as the DS3231? It did not work properly even though the same coding was used. It would be aprecciated if you could answer me. Thanks!
It's almost same... The i2c address might be different. Follow the video. How i used the datasheet to write the functions for ds3231, and use the same logic for ds1307. They are almost identical....
Hi, There are quite a few related examples with STM32 in your TH-cam channel. However, I couldnt find an example about LoRa. I want to transmit data from the sensor. Therefore, I have needed to use LoRa Sx1276-78. Can you share an example related with LoRa or share a beneficial link? From now on, thank you so much!
Hi thanks very much for your video. I have a new suggestion about of use the internal RTC of STM in order to make a clock, could you please make a video?.
1) For HAL_I2C_Write function and &hi2c1 - I am getting an error that it is not declared in this scope. Is there any header file that i need to add? 2) For TIME time; - it says that it is redeclared in same name. the syntax and usage is correct for typedef struct. how to resolve this error? Could you please help out?
Hi, I tried the project linked in your description but I can't get it to work, the numbers read are gibberish. To test that the hardware is connected correctly I use STM32 F103R8 Nucleo in the Arduino IDE with the DS3231 RTC module and it all works as expected, so I know the H/W is set-up correctly. I tried myself following the video but it didn't work. So, importing your project into my workspace and compiling/uploading the code to my nucleo board I check the values stored in the struct when the GetTime() function is called (I don't have an LCD, I want to just display in serial terminal eventually) and the numbers are still just random gibberish when I debug, I can't see a pattern at all. For example time.DayOfTheMonth = 155 and time.seconds = 212. Do you have any ideas on what I could do to fix this? Thanks
@@ControllersTech Hi, thanks for the reply. Going in deeper to the i2c HAL library the HAL_I2C_Mem_Write() function actually returns a HAL_ERROR. So the RTC never actually receives anything. For some reason the i2c becomes stuck in BUSY and then throws an error after a timeout. Apparently this is documented in STs errata 2.13.7 but it's strange that I get this error but you don't and we're using the same chip.
Scratch that last part about the ST errata. Although it IS in there, it still works using the Arduino library so that can't be the issue. I wonder if I'm providing the incorrect data to the i2c HAL_I2C_Mem_Write(), although I've straight up copied and pasted your version.
for each read function, shouldn't we have added 0x01 to the device address? I tried the read functions with 0xD0 and 0xD1 as device addresses and it worked for both but still, I wanted to be sure if I'm doing right by adding 0x01 for the read operations. could you please tell me whether I am wrong. besides, I appreciate your quality content ♥
No there's no challenge with this. Actually LCD with pcf8574 attached are available at almost at the same price. And it uses only 2 wires. For that reason it's better to use the one with I2C. But anyway, for the curious reasons, we need to cover the one without i2c also... 😀
Hello Controllers Tech, sorry with my English I'm Spanish. Good videos, i need your help if you can. I want to use the program PROTEUS with a stm32f103c6 and a LCD, but when i run the simulation run very slowly and the lcd do nothing, Do i need put in proteus a crystal oscillator? or what is the problem?
Hey buddy there is no point in using simulation for stm32.. F103 is very cheap, and you should buy it. There i a huge difference between simulation and running the on the actual hardware, and you don't learn properly Arm architecture is very complex and proteus won't work properly at all. HIGHLY ADVISED NOT TO USE SIMULATOR
@@ControllersTech Yes i'm agree with you, i have the stm32l152, but a need to simulate a circuit for detected the current and i want programate this in proteus previously, for catch the current in adc and see the result in LDC.
İnternal RTC has backup register, using this register we can check register and set time if not setted before. Does this module has this kind of control
I need to simulate ds3231 in proteus, but in proteus there is only stm32f103c6(32kflash), when I generated code in stm32cubeide with stm32f103c6, it said "region FLASH overflowed by 772 bytes" could you help me ?
@@ControllersTech When I ticked "use float with scanf from newlib-nano" in properties CubeIDE, it had errors, but when I did't tick it, it had no problem, anyway thanks for your reply
great tutorial video, the link to the code doesn't open , at least for me in Japan.. any chance you could take a look ? love the voice synthesiser quality! in chrome debugger Failed to load resource: net::ERR_CONTENT_DECODING_FAILED
@@ControllersTech amazing thanks.. just to say it's working really well on stm32h7. I read the time value at a set interval under a second with a counter on the MC and only print the value to the LCD if the seconds are anything different from last value. maybe i should have put the chip on another I2C bus and used DMA as my I2C1 is pretty busy read from other hardware ! interesting little chip , the temp sensor was an added bonus as i wasn't aware of that feature , or the alarms ! the temp sensor is by chance placed in the perfect place in my project for system temp!! thanks again for your great simple instructions :)
I just wanted to say that this channel is a brilliant resource along with the website. As a PhD student, I've learnt a lot over the past couple of days going through your content covering STM32. Your content is 10x better than the official training that STMicro provide!
Really helpful for my understanding and developments.
Good to know. 🙂
Sen nasıl bir kralsın yaaaa (You're my hero
great job sir. I appreciate your channel
thanks man, you saved my homework, by the way, this address is the same for the DS3232, if anyone asks
Keep up the good work mate 👍
Thank you for great video!
Could you take more video for setting Alarm by button
I am not getting proper output in RTC clock what might be the reason. please tell me.
Hi, thanks for the video. The temperature in the negative direction is not displayed correctly.
I love u bro
Your video helped me so much
but not getting bro to me.
Hi, i want to ask you why i do the same you show. And i try to down load your project and run. but those characters in my LCD are wrong like /|??\\|| instead of right time and date. Thanks !
Hi You! Could you review "STM32 Cube Monitor". Thank you very much!
Hello! I am using the DS1307 right now. Anything in particular I should worry about, or it may be taken the same way as the DS3231? It did not work properly even though the same coding was used. It would be aprecciated if you could answer me. Thanks!
It's almost same... The i2c address might be different. Follow the video. How i used the datasheet to write the functions for ds3231, and use the same logic for ds1307.
They are almost identical....
Hi,
There are quite a few related examples with STM32 in your TH-cam channel. However, I couldnt find an example about LoRa. I want to transmit data from the sensor. Therefore, I have needed to use LoRa Sx1276-78. Can you share an example related with LoRa or share a beneficial link? From now on, thank you so much!
I don't have any LoRa device so it's not possible for now. Maybe in the future I'll get one and than try..
Hi thanks very much for your video. I have a new suggestion about of use the internal RTC of STM in order to make a clock, could you please make a video?.
There's already a video on internal rtc in stm32
1) For HAL_I2C_Write function and &hi2c1 - I am getting an error that it is not declared in this scope. Is there any header file that i need to add?
2) For TIME time; - it says that it is redeclared in same name. the syntax and usage is correct for typedef struct. how to resolve this error?
Could you please help out?
Hi, I tried the project linked in your description but I can't get it to work, the numbers read are gibberish. To test that the hardware is connected correctly I use STM32 F103R8 Nucleo in the Arduino IDE with the DS3231 RTC module and it all works as expected, so I know the H/W is set-up correctly. I tried myself following the video but it didn't work. So, importing your project into my workspace and compiling/uploading the code to my nucleo board I check the values stored in the struct when the GetTime() function is called (I don't have an LCD, I want to just display in serial terminal eventually) and the numbers are still just random gibberish when I debug, I can't see a pattern at all. For example time.DayOfTheMonth = 155 and time.seconds = 212. Do you have any ideas on what I could do to fix this? Thanks
Are they updating every second ?
Change the data type in that watch window.. wherever you are watching them
@@ControllersTech Hi, thanks for the reply. Going in deeper to the i2c HAL library the HAL_I2C_Mem_Write() function actually returns a HAL_ERROR. So the RTC never actually receives anything. For some reason the i2c becomes stuck in BUSY and then throws an error after a timeout. Apparently this is documented in STs errata 2.13.7 but it's strange that I get this error but you don't and we're using the same chip.
Better start a new project instead of importing mine. Follow the steps and it should work
Scratch that last part about the ST errata. Although it IS in there, it still works using the Arduino library so that can't be the issue. I wonder if I'm providing the incorrect data to the i2c HAL_I2C_Mem_Write(), although I've straight up copied and pasted your version.
for each read function, shouldn't we have added 0x01 to the device address? I tried the read functions with 0xD0 and 0xD1 as device addresses and it worked for both but still, I wanted to be sure if I'm doing right by adding 0x01 for the read operations. could you please tell me whether I am wrong.
besides, I appreciate your quality content ♥
The hal i2c read function itself adds the 1 to the address, so we don't need to do it ourselves.
how to alarm scholl?
The HAL_I2C_Mem_Write and HAL_I2C_Mem_Read always returns HAL_BUSY for me no matter what i do which is really weird
anyone has solution to this ?
Hi You have nice configured theme and colors in Cube IDE could export that and post it?
It's very old. I don't have the configuration now
Thanks man great video. Can we interface LCD directly to STM32 instead of I2C??
Yeah I am working on that. It will probably be the next video
@@ControllersTech Thanks. I see the main challenge is that, easily available LCD has 5V level only
No there's no challenge with this. Actually LCD with pcf8574 attached are available at almost at the same price. And it uses only 2 wires. For that reason it's better to use the one with I2C.
But anyway, for the curious reasons, we need to cover the one without i2c also... 😀
Hello Controllers Tech, sorry with my English I'm Spanish. Good videos, i need your help if you can. I want to use the program PROTEUS with a stm32f103c6 and a LCD, but when i run the simulation run very slowly and the lcd do nothing, Do i need put in proteus a crystal oscillator? or what is the problem?
Hey buddy there is no point in using simulation for stm32.. F103 is very cheap, and you should buy it. There i a huge difference between simulation and running the on the actual hardware, and you don't learn properly
Arm architecture is very complex and proteus won't work properly at all.
HIGHLY ADVISED NOT TO USE SIMULATOR
@@ControllersTech Yes i'm agree with you, i have the stm32l152, but a need to simulate a circuit for detected the current and i want programate this in proteus previously, for catch the current in adc and see the result in LDC.
Ok I'll try doing a quick simulation on proteus and will let you know
Step 1: Like video
Step 2: watch video
:-)
I need help, I'm doing everything like in the video, except I don't use the display, I use the terminal and it doesn't work properly. please help.
Doesn't work properly ?
yes, for me it does not working properly, please help.
What does that mean
@@ControllersTech I am getting the values but seconds are increasing but but those values are not sequence and not starting from the given values.
Why exactly memAddSize is 1 for mem_write in 7:10?
The size of the memory address ( the register address in the device we are reading from) is 1 byte long.
İnternal RTC has backup register, using this register we can check register and set time if not setted before. Does this module has this kind of control
Nope it doesn't
... you need to check power lost flag, in case the battery removed or empty when power lost the time need to be adjusted.
I need to simulate ds3231 in proteus, but in proteus there is only stm32f103c6(32kflash), when I generated code in stm32cubeide with stm32f103c6, it said "region FLASH overflowed by 772 bytes" could you help me ?
That means the flash storage is not enough for the code.
Either optimise the code or use registers level programming instead of HAL
@@ControllersTech When I ticked "use float with scanf from newlib-nano" in properties CubeIDE, it had errors, but when I did't tick it, it had no problem, anyway thanks for your reply
great tutorial video, the link to the code doesn't open , at least for me in Japan.. any chance you could take a look ? love the voice synthesiser quality! in chrome debugger Failed to load resource: net::ERR_CONTENT_DECODING_FAILED
Fixed.. Try now
@@ControllersTech amazing thanks.. just to say it's working really well on stm32h7. I read the time value at a set interval under a second with a counter on the MC and only print the value to the LCD if the seconds are anything different from last value. maybe i should have put the chip on another I2C bus and used DMA as my I2C1 is pretty busy read from other hardware ! interesting little chip , the temp sensor was an added bonus as i wasn't aware of that feature , or the alarms ! the temp sensor is by chance placed in the perfect place in my project for system temp!! thanks again for your great simple instructions :)
How to change 24h format to 12h, guys?
thanks a lot for the video.
Sir, Can I write code of DS3231 at main.c?
Yes of course
Hi,
do you have the code? Link from describtion and from your website do not work, best regards
It's working fine.. check again or try with incognito
@@ControllersTech thank you, now it's working !
very thank you bro
please, why i can't load the download website
You can't load or can't download ?
can you show me the connections how you have connected ..
you can gmail me
Muchas gracias amigo.
Super sir! thanks
Can the code by uploaded via arduino ide?
No
Awesome !!
stm32 doesn't have built in rtc?
It does. But boards like bluepill, and nucleo don't have battery holder so you can't store the time.
@@ControllersTech for that external battery with connector is enough right?
Yes but than you want to make sure that the battery is always connected. Or else the time will reset.
so good
thank you