Self Balance Hoverboard

I have a set up very similar to LuSeka on https://github.com/LuSeKa/HoverBot
I am using an arduino and BNO IMU.
The difference is all I need is the device to self balance. I have successfully used the Arduino to test both motors and calibrated on python. The following Arduino code isn’t getting a response. Any suggestions??

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
#include <utility/imumaths.h>
#include <math.h>
#include <HardwareSerial.h>
#include <SoftwareSerial.h>
#include <ODriveArduino.h>

float CF = 0.95;
float accAnglePitch;
float tilt;
float tiltTarget = 0;
float tiltError = 0;
float tiltErrorOld;
float tiltErrorChange;
float tiltErrorSlope = 0;
float tiltErrorArea = 0;
float pid;

int milsOld;
int milsNew;
int dt;

#define BNOdelay 100;

// HARDWARE
#define LEDPIN 13

// SERIAL
#define BAUDRATE_ODRIVE 115200
#define BAUDRATE_PC 115200

Adafruit_BNO055 bno = Adafruit_BNO055(); // initiates bno055 IMU
SoftwareSerial odrive_serial(8,9);
ODriveArduino odrive(odrive_serial); // initiates oDrive MC

void setup() {
// put your setup code here, to run once:
// Start Odrive
odrive_serial.begin(BAUDRATE_ODRIVE); // ODrive uses 115200 baud
Serial.begin(BAUDRATE_PC);

// Start bno005
bno.begin();
delay(1000);
milsNew = millis();

}

void loop() {
// put your main code here, to run repeatedly:

// IMU Data
uint8_t system, gyro, accel, mg = 0;
bno.getCalibration(&system, &gyro, &accel, &mg);
imu::Vector<3> acc = bno.getVector(Adafruit_BNO055::VECTOR_ACCELEROMETER); // Outputs raw accelerometer values
imu::Vector<3> gyr = bno.getVector(Adafruit_BNO055::VECTOR_GYROSCOPE); // Outputs raw gyroscope values

accAnglePitch = -atan2(acc.x()/9.8, acc.z()/9.8) / 2 / 3.14 * 360; // Conversion to degrees

milsOld = milsNew;
milsNew = millis();
dt = (milsNew - milsOld)/1000; // Change in time

tilt = (tilt + gyr.y()*dt)CF + accAnglePitch(1-CF); // Complementary Filter

// PID Parameters
tiltErrorOld = tiltError;
tiltError = tiltTarget - tilt;
tiltErrorChange = tiltError - tiltErrorOld;
tiltErrorSlope = tiltErrorChange/dt;
tiltErrorArea = tiltErrorArea + tiltError*dt;

// PID Controller
double Kp=1, Ki=0, Kd=0;
pid = KptiltError + KitiltErrorArea + Kd*tiltErrorSlope;

// Callout Odrive motor, all I found were these 2 lines that seem to run the motors?
odrive.SetPosition(0, pid);
odrive.SetPosition(1, pid);

delay(100);

}