@Jamie you should probably add a few logs in order to determine exactly where it hangs (receiving or sending over LoRa, sending over I2C). Is the socket set to blocking or non-blocking?