New: the AI firewall watches the whole platform and explains each incident in plain words. See how it works

Aoife Lynch

lynchlab

@aoife_l22 · Joined April 2025

Newcomer

Engineering student · university

Topics
15
Replies
79
Points
0
Newcomer10 points to Member

Forum Replies Created

Viewing 15 posts – 16 through 30 (of 79 total)

Switched the humidifier to absolute humidity with a 60 s minimum on/off and it’s been flat for 3 hours: temp within 0.3 C, RH within 2 %. With everything on one chart I could also see the mist hit the temperature about 20 s after humid_on went to 1, which went straight into the report. My supervisor wants the dew point version next, of course.

Timestamps in UTC or it didn't happen.
♥ 0

I ran into nearly the same thing on a lab Pi 4 with two thermocouple boards. I never got to the bottom of the kernel side, so I can’t tell you whether it’s a driver bug. But spi5 sits on GPIO12 to 15, and GPIO14/15 are also the UART pins your console is using, so with enable_uart=1 two overlays are fighting over the same pins. That alone is enough for me not to trust the setup.

What I did, and I’d do it again: you don’t need two buses for two MAX31865s. They are SPI devices with their own chip select, so both sit on SPI0 with CE0 and CE1:

# /boot/firmware/config.txt
dtparam=spi=on
# remove the spi4-1cs and spi5-1cs lines

Wiring: SCLK GPIO11, MOSI GPIO10, MISO GPIO9 shared by both boards. CS of board 1 to CE0 (GPIO8), board 2 to CE1 (GPIO7). In CircuitPython / Blinka that’s digitalio.DigitalInOut(board.CE0) and board.CE1 as the CS pins. The MAX31865 is happy at 1 MHz, the shared bus is nowhere near busy reading two temperatures every few seconds.

Keep the PT100 config (2/3/4 wire) the same as it was per board, otherwise your readings shift by a few degrees and someone will open a ticket about the boiler.

Timestamps in UTC or it didn't happen.
Accepted solution♥ 2

Ordered a 2.4 A af splitter and it’s been up 9 days. Throttled was 0x50005 on the first day with a 15 m flat patch cable, swapped it for proper Cat6 and it’s 0x0 since. Added the undervolt key and the gateway/children offline delays like you said.

Timestamps in UTC or it didn't happen.
♥ 0

yep that was it 🤦 moved two wires and both addresses popped up (0x10 and 0x77). Script ran first try and the four keys are on my board now. lesson learned: physical pin numbers and GPIO numbers are not the same thing

Timestamps in UTC or it didn't happen.
♥ 0

I did the same pump setup for a uni project, both issues bit me.

Relay: move it to GPIO 26 or 27, they stay quiet through boot. Most of these blue modules are active LOW, so set the level before switching the pin to output, otherwise you get a short pulse anyway:

digitalWrite(26, HIGH);   // relay off for an active-low module
pinMode(26, OUTPUT);

Also take the JD-VCC jumper off and feed the relay coil from its own 5 V, keep only VCC/IN/GND from the ESP. A coil on the ESP’s USB 5 V can brown it out when it pulls in.

Board: the switch shows what you bind as its current state. Have the firmware report {"pump_state": 1} after it actually switched, and bind the Switch card’s Current state slot to pump_state. The card then shows the device’s reported state once it arrives, not what was clicked. Leave “Disable the control when The reading is old” on (it’s the default), and also tick “The state is unknown”, so nobody can flip it while the ESP is offline. Keep “Ask before running” on for a pump, that’s the default too. Card settings: Control cards

Timestamps in UTC or it didn't happen.
Accepted solution♥ 6

That’s a much better answer for my supervisor than “redesign it”. The gateway model they’re looking at counts pulses, so the pump goes straight in and the level and float go through an I/O module. Also going to quote this in my BEAM essay, analog reflex plus a box that talks.

Timestamps in UTC or it didn't happen.
♥ 0
Viewing 15 posts – 16 through 30 (of 79 total)