No motor activity on Waveshare Jetracer

after building and setting up the Waveshare Jetracer, I tried running the Basic Motion file (basic_motion.ipynb) in Juypter Notebooks. Step 1 & 2 executed perfectly with steering working. When down to the step to run the motors, I get no motor movement. Tried everything I can find but no help. Suggestions??

Hi garymorrison,

Please refer to below topic to see if can help:


If the DC geared motors do not move,

  1. spin motors by hand, too stiff? then spin much more time till be soft.
  2. feed 12V directly by power supply to the motors, they should be spin any direction.
  3. six M3*6 bots to fix a Motor on the chassis, loosen two bottom bolts or remove them.

In my case, I had to replace included DC motors with others, in local.

Thank you, I will try all of that.

I am assuming that the The I2C wires (SDA / SCL) for the motor driver are the wires from the motor to the white connectors on the expansion board??

I have tried the 12v to the motors directly, but will.



White color connector?
Black for me ^^

No matter what the color is, 6-wires connector we have. I2C wires are inside here.
Find and connect each sides, [J41] expansion header on Jetson Nano and the expansion board of JetRacer.

Thank you, I did that with no change. I will remove some of the motor screws today and also connect the motors direct to 12 v to check motion. If that does not work, do you have any suggestions?

I appreciate your help.



I could move motors by hand at the end, but very stiff they were.
Therefore, I had bought other DC motors in local market not Waveshare.
(waveshare did not answer about the quality of motors)

750 RPM, reduction gear ratio is 1/10

This product is slightly longer than JetRacer’s Motors(37x52), but no problem to install on JetRacer.

Thanks for your help and sorry to keep bothering you.

So far, no motor movement except when wired direct to 12 volt—they both rotated okay. I did check wiring ( I2C wires (SDA / SCL), correct; 3.3V / GND to the motor driver) all correct, and wheels turn very easily on motor axles. Motor did rotate when wired direct to 12v.

When doing an i2 detect result was---------

jetson@jetson:~$ i2cdetect -y 2

Warning: Can’t use SMBus Quick Write command, will skip some addresses

0 1 2 3 4 5 6 7 8 9 a b c d e f




30: – -- – -- – -- – --


50: 50 – -- – -- – -- 57 – -- – -- – -- – --



Steps I have done for setup. Working off of jetcard_v0p0p0.img file and going step by step via Waveshare wiki.

  • Steps 1 through 6 of the wiki instructions all executed successfully.
  • After completing all six steps, I reconnected to my jetracer via Jupyter Lab.
  • In jetracer/notebooks I ran the basic motion file (basic_motion.ipynb file). I have tried this many times after checking the various items you suggested before. Just for your information, this is the second Jetracer I have tried and have never got motor motion on either car. Steering has always worked, but I have never seen any motor motion when executing the throttle step in that file;

Don’t have any idea what to try next???


Waveshare has its own software, separate from nvidia github which has specific drivers.


Good to hear that you can move the DC motors by direct 12V feeding.
My kits didn’t.

The result of “i2cdetect -y 2” is exactly same with you.

Did you modify throttle gain and throttle value?
To bigger!

And if not removed bottom side two bolts, do not fix them tightly.

Yes I did modify the gain and value—many times with no activity.

Just for clarity, I am using the jetcard_v0p0p0.img file. I also tried with the dlinano_v1-0-0_image_20GB.img with same results—steering but no motor motion. Which is correct via the Waveshare Wiki??

An additional question—via the WS Wiki, after accomplishing the initial 6 steps and going through the examples, do I still need to proceed on and accomplish all the steps under “Guide of Donkeycar”??:

· Setup Jetson Nano

· Setup Linux PC

· WEB Control

· Calibrate DonkeyCar

· Teleoperation

· Data Collection

· Train Data

· Auto-Driving

Thanks again, I was beginning to believe I can’t read 😊


Also, I am working from the Jetracer Wika, JetRacer AI Kit.

Should I be using that or the JetBot AI Kit??


Waveshare’s JetRacer needs some patches of step 5 here:
You should, I think, control both a throttle and a steering after the step.

Additional examples after step 6 are needed for JetRacer to run on the track, but not for throttle.

Would you measure the voltage at the Jetracer expansion board?
Refer 12th step:

JetRacer AI kit.

JetBot uses different parts from JetRacer.

I re-imaged the card and started over. Have completed all steps of the Waveshare Wiki from 1 through 6. All successful. I also tried the command i2cdetect -y -r 1 and received the following:

jetson@jetson:~$ i2cdetect -y -r 1

0 1 2 3 4 5 6 7 8 9 a b cd e f

00: – -- – -- – -- – -- – -- – -- –

10: – -- – -- – -- – -- – -- – -- – -- – --

20: – -- – -- – -- – -- – -- – -- – -- – --

30: – -- – -- – -- – -- – -- – -- – -- – --

40: – -- – -- – -- – -- – -- – -- – -- – --

50: – -- – -- – -- – -- – -- – -- – -- – --

60: – -- – -- – -- – -- – -- – -- – -- – --

70: – -- – -- – -- – --

Any ideas from that??


And afraid I have so much garbage on the Nano now that I am getting all kinds of errors when I try and run Notebooks’ code. Do I need to wipe everything and start over with new OS and image?

If so, how??


To explain below now when I run the basic motion notebook, step 1, I get a long list of errors (I left out many msgs in the list).

TimeoutError Traceback (most recent call last)

/usr/local/lib/python3.6/dist-packages/adafruit_circuitpython_busdevice-5.0.1-py3.6.egg/adafruit_bus_device/ in __probe_for_device(self)

171 try:

–> 172 self.i2c.writeto(self.device_address, b"")

173 except OSError:

/usr/local/lib/python3.6/dist-packages/Adafruit_Blinka-5.3.2-py3.6.egg/ in writeto(self, address, buffer, start, end, stop)

115 return self._i2c.writeto(address, memoryview(buffer)[start:end], stop=stop)

–> 116 return self._i2c.writeto(address, buffer, stop=stop)


/usr/local/lib/python3.6/dist-packages/Adafruit_Blinka-5.3.2-py3.6.egg/adafruit_blinka/microcontroller/generic_linux/ in writeto(self, address, buffer, start, end, stop)

48 end = len(buffer)

—> 49 self._i2c_bus.write_bytes(address, buffer[start:end])

……………and much more ending in

–> 180 raise ValueError(“No I2C device at address: %x” % self.device_address)

181 finally:

182 self.i2c.unlock()

ValueError: No I2C device at address: 40



Try this:

$ i2cdetect -y -r 2

It’s better to start fusing SD card again, I think.

When you meet some errors during run the script,
you can install Adafruit-PureIO librares again:

sudo pip3 install --upgrade pip
sudo pip3 uninstall Adafruit-PureIO
sudo pip3 install Adafruit-PureIO