def __init__(self, pin_pwm_l, pin_in1_l, pin_in2_l, pin_encoder_l, pin_pwm_r, pin_in1_r, pin_in2_r, pin_encoder_r,
              freq=1000, uart_id=0, motorCruisingSpeed=30, motorCruisingDistance=120):
     # setup hbridge motor controller pin assignments
     self.motorLeft = HBridge(
         pin_pwm_l,  pin_in1_l, pin_in2_l, freq)
     self.motorRight = HBridge(
         pin_pwm_r,  pin_in1_r, pin_in2_r, freq)
     self.motorEncoderL = Pin(pin_encoder_l, Pin.IN)
     self.motorEncoderR = Pin(pin_encoder_r, Pin.IN)
     # PI pico - not tested with esp32 (UART implementations seem to vary)
     self.uart = UART(uart_id, 9600)  # uart0 uses pins 1 (tx) and 2 (rx)
     self.motorCruisingSpeed = motorCruisingSpeed
     self.motorCruisingDistance = motorCruisingDistance
     gc.collect()
     gc.disable()