I am attempting to run a remote control car via the raspberry pi. I setup a L239D chip circuit following this guide. http://computers.tutsplus.com/tutorials/controlling-dc-motors-using-python-with-a-raspberry-pi--cms-20051 I then attempted to run the code, which resulted in a whole lot of nothing. I started checking the numerous pin voltages, etc. and I noticed that the GPIO 3 pin (using physical pin numbering) was high even without running any code. I rebooted the pi and checked the pin again and it was still high. I ran a code that basically set the pin to False and it turned the pin off but as soon as the code was done running it went high again. I have tried GPIO.cleanup() to no avail. My motor voltage is 7 volts, and my pi is just running from a 5v litium battery. I am really hoping that it is just a setting issue and I haven't permanently broken the pi. Any help would be appreciated!!

Thanks, Matt

2 Answers 2


I do not know what you have done, or why you think this affected pin 3 which is SDA and is intended for I²C and has a 1.8kΩ pullup to +3.3V

  • Yes, pin 3 (SDA) will always read 1 unless actively driven low. The same is true for pin 5 (SCL). They are used for I2C which needs pull-ups to work properly.
    – joan
    Feb 5, 2015 at 8:24
  • Thank you both so much!!!! I can't believe I over looked that! Feb 5, 2015 at 20:41

I had your exact same problem. I fixed it by using 1k resistors to ground as pull-downs because I didn't know about the internal pull-ups/pull-downs (although they are much cleaner, this is a quick and dirty fix that works well). The thing to avoid here is to make sure that the leads don't bump into each other, as then you connect the two GPIOs together.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.