Topics

STM32 Bluepill Kit - No I2C devices found

Allen Royston
 

Hello everyone,
I purchased 2 STM32 bluepill kits from George a few weeks ago. received it very quickly and it looks well thought out :)

I have a fried Celestron Adv GT (cg5) mount and have installed Nema 17 2amp 0.9 degree motors with a 2-1 reduction pulley.
I have 2 TMC5160 StepStick boards to drive them with.

I built out the first kit. I used the spreadsheet and online config utillity, and uploaded release 2.22
I have had no problems flashing either the STM32 or the WEMOS wifi card. They both seem to behave properly.

My problem is the Wifi does not seem to be talking to the STM32 and shows a default SID of ESP_DDEBD1
I have a IR camera and the none of the components are over 29c, Voltage out is steady @5v and I am using a 30ah 12v battery for power.

When I run the I2CScanner sketch it reports "No I2C devices found"
Because I bought 2 kits I tried swapping out the DS3231-RTC, then the STM32 with no change.
I then built out the other board with the second CP2012 and LM2596S... no change.
I am hoping someone can help as I have spent many hours searching the message board for a solution and have now exhausted my tool kit.

Thank you in advance.

~Allen VA7AZV


Khalid Baheyeldin
 

On Sat, Oct 26, 2019 at 12:48 AM, Allen Royston wrote:
I purchased 2 STM32 bluepill kits from George a few weeks ago. received it very quickly and it looks well thought out :)

I have a fried Celestron Adv GT (cg5) mount and have installed Nema 17 2amp 0.9 degree motors with a 2-1 reduction pulley.
The 2:1 reduction is on the low side. We usually use 3:1 for EQ5 mounts.
You are using 1/64 microsteps to compensate for it.
The resulting resolution is sufficient, but the torque and accuracy may not be.
Not saying it will not work, but keep this in mind in case you observe problems.

Another thing is the motor current: we usually recommend the 0.9A, which run cool.
The 2A ones require drivers with high current (S109), and may heat up.

I have 2 TMC5160 StepStick boards to drive them with.
I built out the first kit. I used the spreadsheet and online config utillity, and uploaded release 2.22
The TMC5160 was added to the 3.x (master) branch of OnStep.
Although they should work as a mimic for the the TMC2130, there is no potentiometer on them to
set Vref. Or at least on the versions I have seen.

I have had no problems flashing either the STM32 or the WEMOS wifi card. They both seem to behave properly.

My problem is the Wifi does not seem to be talking to the STM32 and shows a default SID of ESP_DDEBD1
I have a IR camera and the none of the components are over 29c, Voltage out is steady @5v and I am using a 30ah 12v battery for power.

When I run the I2CScanner sketch it reports "No I2C devices found"
Because I bought 2 kits I tried swapping out the DS3231-RTC, then the STM32 with no change.
I then built out the other board with the second CP2012 and LM2596S... no change.
I am hoping someone can help as I have spent many hours searching the message board for a solution and have now exhausted my tool kit.
The failure of WiFi to start indicates a non-functioning OnStep.
The no I2C device found indicates that the STM32 cannot talk to the DS3231 or the EEPROM on it.
In that case, OnStep will not work, so no wonder WiFi does not.

Things to check:

- Soldering for the female headers for both the STM32 and the DS3231. Make sure they are connected properly.
Check continuity using a multimeter from the schematic on the Wiki to the I2C pins on the DS3231.

- Test on a breadboard. Connect the STM32 and DS3231 using Dupont wires, and see if I2C works.

- Visually check the DS3231 with a magnifier. Make sure all the legs on the two chips are touching the board,
and soldered correctly. When I had issues with two bad DS3231 it was visible that they are not. But it was
only the EEPROM chip that was faulty. The RTC worked in that case.

Let us know what happens.

Allen Royston
 

Hi Khalid, Thanks for responding so quickly!
I like your YouTube videos btw, They have helped a lot.

Things to check:

- Soldering for the female headers for both the STM32 and the DS3231. Make sure they are connected properly.
Check continuity using a multimeter from the schematic on the Wiki to the I2C pins on the DS3231.

I checked all the pins /solder joints for errors and tested continuity between the DS3231 and the STM32 - everything looks good and tests OK
Double checked that the markings on the PC board match the marking on the modules - all good.

- Test on a breadboard. Connect the STM32 and DS3231 using Dupont wires, and see if I2C works.

I put the DS3231 and STM32 on a breadboard wired them out and ran the I2Cscanner
As I have 2 of each I tried each of the boards d1 with s1 then s2, d2 with s1 then s2  I
still get "No I2C Devices"

- Visually check the DS3231 with a magnifier. Make sure all the legs on the two chips are touching the board,
and soldered correctly. When I had issues with two bad DS3231 it was visible that they are not. But it was
only the EEPROM chip that was faulty. The RTC worked in that case.

Checked all the components on the DS3231 ( I have a well lit 20x Stereo Mic ) and could not see any flaws on either DS3231 module.
I re-flowed the solder on one of them just in case but still "No I2C Devices" I also checked the STM32s, They also look fine.

Still stuck. Is there anything else I should do or should I buy replacement DS3231s / STM32 boards.

Thanks for your help

Khalid Baheyeldin
 

On Sun, Oct 27, 2019 at 02:06 AM, Allen Royston wrote:
Still stuck. Is there anything else I should do or should I buy replacement DS3231s / STM32 boards.
That is odd.

We had at least one person who reported several bad STM32, and he ordered new ones, and they
worked.

If you are skilled electronically, and have some Arduino handy, you can try the DS3231 on them, to
verify which is the bad component. If the DS3231 do not work with an Arduino, then they are bad,
and the STM32 are probably good. If the DS3231 work, then it is the STM32 that are bad.

You can order either from AliExpress with the e-packet option, and they will arrive relatively quickly.

George Cushing
 

Alien, if either the STM32 or DS3231 are bad, let me know and I'll replace them.

Allen Royston
 

Hi Khalid and George,
I setup an Arduino Uno with the 2 DS3231s and they both check out good. I have ordered 2 new STM32s so hopefully that's the ticket.
Don't worry about sending replacements George, poop happens :) I really appreciate the nice kit and that you guys have put them out for us.
I will let you know what happens once the parts arrive.
Thanks again

Allen Royston
 

So I received the new Stm32 modules today.
Popped one in to my original build. Flashed the release  and was up and running!
So it looks like I had 2 bad Stm32 modules.
Thanks for everyone's help getting me through that wall.

tc encarnacion
 

Hello Allen,

I am bugged with the same issue. I already have 2 STM32 modules that does not find the I2C devices. 

Can you share where you have purchased your working STM32 modules?

Thanks in advance.

Thomas

Allen Royston
 

Hi Thomas,
I purchased off Amazon.https://www.amazon.ca/dp/B07B2D4QKY/ref=pe_3034960_236394800_TE_dp_1
It's a company out of Saskatchewan called Universal Solder. They also sell through eBay if that's easier for you :)

tc encarnacion
 

Thank you, Allen.

I just found that there is a very recent update on the Arduino_STM32 core. It actually solves the issue. You might want to check your other BluePill boards with the updated software.


Thomas

Khalid Baheyeldin
 

On Wed, Dec 4, 2019 at 10:53 AM, tc encarnacion wrote:
I just found that there is a very recent update on the Arduino_STM32 core. It actually solves the issue. You might want to check your other BluePill boards with the updated software.
Looking at the commit log for Arduino_STM32, there are indeed a lot of changes for I2C.

That may explain (at least partially) some of the issues where the STM32 would not communicate with the EEPROM.
It does not hurt to upgrade to the latest and try.

Anyone who had 'bad STM32s' recently, please try them again with the latest Arduino_STM32 and report back.