Using BMP280 sensor to control servos. Need some guidance with coding

Hi @mikami2020

If the Adafruit library works for you then I'd stick with that.

The blocking vs non-blocking is simply whether the code sits and waits for an event to happen (blocking) vs allowing the code continue to run and service the event whenever it occurs (non-blocking). Non-blocking code achieves this either by periodically polling (checking), or using interrupts.

Blocking code usually works OK if the microcontroller has a single task to perform, non-blocking becomes essential when it has to juggle between multiple tasks. Blocking code is usually characterised by the use of the delay() function in the loop(), rather than using design patterns that keeps the loop() running, for example:

// Execute code in the loop() every second (1000 milliseconds)
unsigned long currentTime, lastTime;
unsigned long interval = 1000;                    // 1000 milliseconds

void setup(){}

void loop() 
{
  currentTime = millis();                    // Get the current time
  if (currentTime - lastTime >= interval)    // If the difference between current and last times exceeds the interval...
  { 
    //
    // Put your code to execute every second here...
    //
    lastTime = currentTime;                  // Update lastTime to currentTime
  }  
}