Drone Spinning On Takeoff

Hi all, I’m using a very simple dronekit script to control the skyviper, I just want it to takeoff. Instead, when I execute the script, it just spins out of control. In addition, I know this video is indoors but I have tried it outside in good GPS conditions and the same result occurs.

Here is the code I am using:

    from dronekit import *
    vehicle = connect('udp:0.0.0.0:14550', wait_ready = False)
    vehicle.wait_ready(True, timeout=300)
    print("\nConnected")
    vehicle.mode = VehicleMode("GUIDED")
    vehicle.armed=True
    while not vehicle.armed:
        time.sleep(0.01)
    vehicle.simple_takeoff(1)
    while(1):
        time.sleep(0.01)

Here is the video of what happens:
Link to skyviper spinning video

Any guidance would be much appreciated!