TLDR; Under little load the GPIO 22 reaches 3,5v whereas under more load it only reaches ~2,4V, which is not enough to trigger the reset-line on an ATMEGA328P. UART GPIO Pins still reach 3,3V in both cases.
I use the Raspberry Pi as an IOT Sensor with an Arduino(-ish) that controls the power supply (specifically the board I use is the SleepyPi 2).
I also use the Raspberry Pi to update the code on the SleepyPi.
The code I use to do this is detailed here, although I am pretty sure it is not a code related problem: https://github.com/zagatta-sonah/KeePiLive
To flash the SleepyPi (ATMEGA328P) I have to pulldown the GPIO 22 from 3,5V to trigger the reset line for the bootloader to accept my code on the UART bus of the Raspberry Pi.
When I run the flashing standlone (-> e.g. the code in the Github) I works flawlessly and the Voltages of the pins looks like this:
Notice the green line that goes from 3,3 to 0V.
When I run the same code within a the larger Architecture of the my IOT Sensor (which obviously does a lot of other stuff), the GPIO unfortunately does not reach 3,3V but just 2,4V so the reset line doesn't trigger and I can't flash.
Notice the green line only reaching 2,4V. Also the GPIO pins for the UART bus still reach 3,3V.
Any ideas on how to solve this?