adafruit / Adafruit_Wippersnapper_Arduino

WipperSnapper is a firmware for creating no-code IoT electronics projects.
https://io.adafruit.com/welcome
MIT License
27 stars 40 forks source link

Huzzah32-ESP32 goes offline after connecting Waterproof DS18B20 #586

Closed mennamorato closed 1 month ago

mennamorato commented 1 month ago

Describe the bug as title says, when i connect the Waterproof DS18B20 my feather does not report data and disconnects / reconnects / disconnects etc from IO. I have tried many different GPIO pins, check connections etc.

Arduino board Huzzah32-ESP32 feather

To Reproduce Steps to reproduce the behavior:

  1. Go to 'Add component'
  2. Click on 'Waterproof DS18B20.'
  3. Pick almost any pin for it
  4. See it disconnect from Adafruit IO

Expected behavior WAS working for over a few weeks then stopped working and cannot get it to work again Which components are connected to your device Which components are set up on the WipperSnapper device page? AHT20 on I2C and Waterproof DS18B20 on different pins that I have tried

Screenshots n/a

Desktop (please complete the following information):

Additional context the funny thing is..it worked originally for a few weeks then stopped working and now I cannot get it to work again... I tried A0, A1, A2, D12, D27... maybe a few other pins. I can leave it connected to the board, just remove it from the configuration then it stays connected. So I do not think it's an electrical problem. Also I have erased and refreshed whippersnapper binary a few times... no good

brentru commented 1 month ago

@tyeth Could you take a look at replicating this sometime this week?

tyeth commented 1 month ago

Hey @mennamorato I've connected up what I believe is a similar setup, AHT20 on i2c (component added to device), and then added the DS18b20 (picked waterproof one but all the same), and used standard resolution (12bit) and pin A0 (D26). Data appears to flow (at least the first data point) and not seen device reset yet.

Serial Port monitoring (using webserial.io site): image Device Dashboard: image DS18b20 Feed page: image

My wiring has the DS18b20 and AHT20 powered from 3v pin. I have a 4.7k resistor between data and vcc pins of DS18b20, and the vcc pin is connected to 3v as mentioned rather than using parasitic power (and ground pin to ground).

If you haven't tried beta 82 via the IO web installer (new/upgrade device steps) then please do as it will erase your device fully along with installing the latest firmware. You do need to be using a Chromium based browser for web-serial installer to work.

I'll leave this running for a bit and check back tomorrow.

mennamorato commented 1 month ago

Hi and thanks well… this happened to me yesterday .. i had it working on my bench for a few hours then it started to disconnect / reconnect and now does not work - on that pin. its like when i move the pin it starts working until it doesn’t… my wiring is same as yours i will try beta 82 today thanks !

Mark

On May 16, 2024, at 8:32 AM, Tyeth Gundry @.***> wrote:

Hey @mennamorato https://github.com/mennamorato I've connected up what I believe is a similar setup, AHT20 on i2c (component added to device), and then added the DS18b20 (picked waterproof one but all the same), and used standard resolution (12bit) and pin A0 (D26). Data appears to flow (at least the first data point) and not seen device reset yet. image.png (view on web) https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/assets/6692083/d9efbbd7-eaa3-4d73-a628-e69d8a9fb648 image.png (view on web) https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/assets/6692083/f8d96f36-d736-4f90-9b1e-b8f1606546a7 image.png (view on web) https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/assets/6692083/42d2912d-a4da-4dda-a19d-c1b87e53a923 My wiring has the DS18b20 and AHT20 powered from 3v pin. I have a 4.7k resistor between data and vcc pins of DS18b20, and the vcc pin is connected to 3v as mentioned rather than using parasitic power (and ground pin to ground).

If you haven't tried beta 82 via the IO web installer (new/upgrade device steps) then please do as it will erase your device fully along with installing the latest firmware. I'll leave this running for a bit and check back tomorrow.

— Reply to this email directly, view it on GitHub https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/586#issuecomment-2115560594, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJOFBSWKBMTWLIHFQCXR6TZCTGQFAVCNFSM6AAAAABHWWHPHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJVGU3DANJZGQ. You are receiving this because you were mentioned.

T-Mosher commented 1 month ago

I'm curious, how are you physically doing the interconnects? Are you using one of the white plastic breadboards, or are you hard-wiring the pins?

I've found the DS one-wire sensors are extremely picky about intermittent connections, such as if you're using a breadboard and the contacts in a row are slightly worn down.

mennamorato commented 1 month ago

white plastic breadboards…the Huzzah32 feather has headers installed then plugged into the breadboard BUT i have the waterproof sensor plugged into the header (female on top / male on bottom) right now. I did have it plugged into the breadboard which..could have been a connection intermittent issue? but would not expect the code to fail because of that i would expect no/bad data once in a while. the funny thing is..once it failed on pin A0 (for example) i could never get it to work on A0 again…if i kept moving it around (the data line that is) i would eventually find a pin for it to work

mark

On May 16, 2024, at 11:47 AM, T-Mosher @.***> wrote:

I'm curious, how are you physically doing the interconnects? Are you using one of the white plastic breadboards, or are you hard-wiring the pins?

I've found the DS one-wire sensors are extremely picky about intermittent connections, such as if you're using a breadboard and the contacts in a row are slightly worn down.

— Reply to this email directly, view it on GitHub https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/586#issuecomment-2115963129, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJOFBSRFJYG57QAQXFRYIDZCT5MVAVCNFSM6AAAAABHWWHPHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJVHE3DGMJSHE. You are receiving this because you were mentioned.

T-Mosher commented 1 month ago

the funny thing is..once it failed on pin A0 (for example) i could never get it to work on A0 again…if i kept moving it around (the data line that is) i would eventually find a pin for it to work

I've seen that behavior too, the drivers for the one-wire interfaces are not at all adaptable in real time. Any time I changed the wiring, I had to cycle the power and restart the code again.

Re: wiring. If you're using the bare 3-pin plastic part, then pushing the leads into the female header isn't recommended. You're relying on the lead diameter to match the size that the socket expects to receive.

If you're using the waterproof sensor, then it has stranded wire leads, and again pushing those into a socket isn't recommended either.

Adafruit's breadboards aren't the highest quality, and I've worn out several rows by pushing headers into them more than just a few times.

Intermittent issues are very difficult to debug.

mennamorato commented 1 month ago

Ok cool....I ordered a different temp sensor (board) that is i2c. I will waterproof it myself with a thermally conductive electrically non-conductive material and not use 1-wire which I never liked. Thanks for the help. Close this ticket.

On Thu, May 16, 2024, 12:16 PM T-Mosher @.***> wrote:

the funny thing is..once it failed on pin A0 (for example) i could never get it to work on A0 again…if i kept moving it around (the data line that is) i would eventually find a pin for it to work

I've seen that behavior too, the drivers for the one-wire interfaces are not at all adaptable in real time. Any time I changed the wiring, I had to cycle the power and restart the code again.

Re: wiring. If you're using the bare part, then pushing the leads into the female header isn't recommended. You're relying on the lead diameter to match the size that the socket expects to receive.

If you're using the waterproof sensor, then it has stranded wire leads, and again pushing those into a socket isn't recommended either.

Adafruit's breadboards aren't the highest quality, and I've worn out several rows by pushing headers into them more than just a few times. Intermittents are very difficult to debug.

— Reply to this email directly, view it on GitHub https://github.com/adafruit/Adafruit_Wippersnapper_Arduino/issues/586#issuecomment-2116009841, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJOFBQOF6GIUFAMHXHVONDZCUAXNAVCNFSM6AAAAABHWWHPHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJWGAYDSOBUGE . You are receiving this because you were mentioned.Message ID: @.***>

tyeth commented 1 month ago

Thanks Mark. Good luck and let us know if you have any other problems...