Write non-blocking code

There's this library for reducing the blockingness of reading a DS18B20:

And if you use a stepper library like MobaTools, you can plan non-blocking stepper movement.

The rest is being careful to not monopolize the processor so it is free to handle all the other bits that need handling.