BrewPiLessGx: BrewPiLess with Touched TFT display

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I don't have any 1-wire relay. Neither do I have idea about what goes wrong.
The way PTC and capping control use actuators is the same as calling and heating, which uses a virtual "Actuator" class that might be
"DigitalPinActuator" or "OneWireActuator".
Thanks @pocketmon I'll start looking into the Actuator class.

I tried using io pin 22 to control the relay for PTC (instead of one of the two DS2413 1-wire boards that share io pin 21) This worked as expected: temperature higher then set point switched on the relay..

I did same for Capper using io pin 22 and that worked as expected too.

So it appears that PTC and Capper don't work on 1-wire using a DS2413.

To summarize the settings I tried in the Devices list for BrewPiLess with two DS2413 boards on io pin 21:

i) IOA1, IOB1, IOA2, IOB2: heat, cool, PTC, Capper
ii) IOA1, IOB1, IOA2, IOB2: PTC, Capper, heat, cool
iii) IOA1, IOB1, IOA2, IOB2: PTC, Capper, None, None
PTC and Capper didn't work as expected. (although I can toggle Capper manually in Control window)

Using IO pin 22 directly:
iv) IOA1, IOB1, IO22: Heat, Cool, PTC
v) IOA1, IOB1, IO22: Heat, Cool, Capper
Both of these worked as expected.

I need to figure this out as I can now have either capper or PTC by using io pin 22, but not both. Still, a big step forward :) I will look into Actuator class.
 
Last edited:
I compared the source with temperatureControl.
The only difference I saw is that in Capping and PTC,
the actuator is compared to 'defaultActuator' before 'setActive()', which seems unnecessary and was not done in temperatureControl.
However, I don't see that would matter.
 
I compared the source with temperatureControl.
The only difference I saw is that in Capping and PTC,
the actuator is compared to 'defaultActuator' before 'setActive()', which seems unnecessary and was not done in temperatureControl.
However, I don't see that would matter.
Thanks for looking into it. Maybe it is something in the way 1-wire is implemented although I can't imagine what. I will see if I can find anything.
 
I still cannot get BrewPiLess to recognize my DS2413. I've tested the relay to make sure it wasn't a dud and it works. I wired it up to a mini PCB breadboard and also wired it directly to the relay. I'm lost as to why it won't populate on on the devices list. Any help is appreciated!!
Screenshot 2024-05-17 at 7.34.48 PM.png
IMG_1129.jpeg
Untitled.jpg
 
fwiw, the DS2413 uses a "parasitic power" scheme which requires the host to be capable of same. The original version of BrewPi never supported parasitic powered ds18b20's and afaik none of the derivatives do, either, so I wonder if they could support the DS2413...

Cheers!
 
Check you have both the DS2413 and DS18B20 connected to the same three pins on the esp32: 3.3V, GND and GPIO 17:

Your should have a ~2.2k ohm resistor (or similar) pulling up both the IO pin on the DS2413 and the signal pin on the DS18B20 to 3.3V. Yours looks like 4.7k which may be ok, but if the wiring looks right and it still doesn't work then try a 2.2k ohm instead.

Another way to describe it is that one end of the 2.2k ohm resistor is connected to the 3.3V pin on the esp32, the other end is connected to GPIO 17. The signal pin from the DS18B20 and the IO pin from the DDS2413 are connected together and to GPIO 17.

Mine show up like this:
1715991904567.png
 
fwiw, the DS2413 uses a "parasitic power" scheme which requires the host to be capable of same. The original version of BrewPi never supported parasitic powered ds18b20's and afaik none of the derivatives do, either, so I wonder if they could support the DS2413...

Cheers!
I found I could power two of them with a 2.2k ohm on this esp32 3.3V line, so I think it must be a wiring issue unless @akgal12 is using an esp32 that permits less current on the 3.3V line (I can only get heat and cool to work from the DS2413 though but I think that's a separate issue)
 
Last edited:
A 2.2K pull-up to 3.3V is only a 1.5ma source. ESP32 IO pins are rated up to 40ma each (of course you can't actually use them like that ;)) so 1.5ma is a walk in the park. Also, the DS2413 spec for the IO pull-up is 1.5K min/2.2K max so there isn't much range there.

If the ESP32 One-Wire driver understands how to handle parasitic power, the DS2413 should work, I believe...


Cheers!
 
A 2.2K pull-up to 3.3V is only a 1.5ma source. ESP32 IO pins are rated up to 40ma each (of course you can't actually use them like that ;)) so 1.5ma is a walk in the park. Also, the DS2413 spec for the IO pull-up is 1.5K min/2.2K max so there isn't much range there.

If the ESP32 One-Wire driver understands how to handle parasitic power, the DS2413 should work, I believe...


Cheers!
For my issue could it be that there's enough power to allow the esp32 to detect both of the DS2413 boards (to give four controllable pins) but just not enough power left to drive all four relays? Maybe I can try an external supply for the DS2413 (with common ground).

(I'm starting to wonder whether given the amount I've invested in brewing up to this point, an oscilloscope is a logical next step and would be lost in the financial noise... and is surely justifiable to swmbo...)

Edit: or maybe I can repurpose one of my esp32 as a slow scope :)
 
Last edited:
Still no go. The only thing I can think of now, is if it's my code? I have the libraries, but maybe it's not loading onto the module or activated somehow?

Found the build flag... to be continued.
 
Last edited:
Back
Top