I plan to use P8.13 and P8.15 of the beaglebone in a i2c bitbang mode. Do i need to use external pull up resistors in my circuit? or can i use the internal pull up which is available on the beaglebone black itself?


It depends on how big the pull-up resistor is and how fast you want to go with I2C. If Beaglebone designates those pins as usable for I2C, the internal pull-up resistor is most likely sufficient.

Generally, the smaller the pull-up resistor, the faster is the rise of the signal to 1, but when driving a 0, there is also higher consumption. To understand this better, think about the extremes; what would be the behavior if the pull-up resistor is 0? How about infinite?

To be perfectly sure, you need an oscilloscope. With the frequency at which you want to communicate over I2C, drive a square wave over the pin configured with pull-up and check to see if the signal rises "fast enough".

| improve this answer | |
  • $\begingroup$ the bitbang/banked gpio for i2c is used for a battery voltage sensing IC, i wouldnt even mind if it operated at 1khz xD Last time i had done the bitbank without the internal pullup and also without external pull-up, for an IMU board, it worked well. This time i want to make an ethical circuit that has all the things in place. But anyways, i'l test the setup with a CRO and report later. $\endgroup$ – user2967920 Mar 21 '15 at 7:55
  • $\begingroup$ Did it work? did you need an external resistor? $\endgroup$ – Rafael Vega Jan 12 '16 at 11:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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