[SOLVED] Problem with power supply - Voltage drop

so I guess I'll not mess with what (seemingly) ain't broke

Appearances are deceptive, using an int is wrong.

float getThermistor() {    
  uint8_t i;
  float average;
  int ms = millis();

So ms is defined in that function therefore when you go

    nextUpdate = ms + 500;
    
    return steinhart;

The value of nextUpdate is not updated correctly. It is also an int so it will not hold the right information.