Hi,
I use a quadX powered by Flyduino Mega and MultiWii1.9
Sensors:
- Genuine WM+
- BMA020 ACC
- HMC5883L MAG
- BMP085 BARO
additionall I use the flydusense 2.0 with installed 5V Pullups connected to baro and mag
I have the internal Pullups enabled.
I am wondering if this is the best solution. I have a Spakfun LLC ling somewhere ready to install.
After I read an article: http://www.dsscircuits.com/articles/eff ... stors.html
What do you suggest? Is my config okay, can I disable internal pullups since BMA020 and WMP have internal LLC?
Thank you ans sorry for the stupid question.
Nils
ps.: I want to publish a guide about that in my blog.
Question about Pullup Resistors
- jevermeister
- Posts: 708
- Joined: Wed Jul 20, 2011 8:56 am
- Contact:
Re: Question about Pullup Resistors
Is my config okay, can I disable internal pullups since BMA020 and WMP have internal LLC?
The CPU's internal pullups are very weak values that range from 30K - 50K ohms. On a typical MWC the ideal I2C pullup value is 2K - 3K ohms (2.2K ohms seems to be the sweet spot).
I suggest you review all the pullups installed on your hardware (Flyduino || flydusense || LLC) and calculate their net parallel resistances. Then make any changes to them to achieve the desired target I2C pullup value.
- Thomas
- jevermeister
- Posts: 708
- Joined: Wed Jul 20, 2011 8:56 am
- Contact:
Re: Question about Pullup Resistors
I only installed the pullups on the flydusense those are 6.8k resistors...
Re: Question about Pullup Resistors
Are you absolutely sure there aren't any other I2C pullups lurking in your installation? For example, LLC's and external sensor boards often have some already installed. So carefully review everything to determine what's there before making any changes. If all that's installed are your 6.8K's, and they are sourced by 5V (not 3.3V), then I would suggest you change to 2.2K's.
Useful information about pullups is in the section "I2C Hardware Fix List": viewtopic.php?f=8&t=986
- Thomas
Useful information about pullups is in the section "I2C Hardware Fix List": viewtopic.php?f=8&t=986
- Thomas
- jevermeister
- Posts: 708
- Joined: Wed Jul 20, 2011 8:56 am
- Contact:
Re: Question about Pullup Resistors
Hi Thomas,
as stated before:
-Fylduino v2.1
-Bosch BMA020
-Genuine Nintendo WMP
-Bosch BMO085
-Honeywell HM5883L
The I²C bus is running on 5V
i installed the sensors onto a Flydusense V2.0 on this board I installed 5V Pullups 6.8k
I think the BMA has onboard LLC.
Can I measure the NET resistance??
oh I feel really stupid right now...
as stated before:
-Fylduino v2.1
-Bosch BMA020
-Genuine Nintendo WMP
-Bosch BMO085
-Honeywell HM5883L
The I²C bus is running on 5V
i installed the sensors onto a Flydusense V2.0 on this board I installed 5V Pullups 6.8k
I think the BMA has onboard LLC.
Can I measure the NET resistance??
oh I feel really stupid right now...
Re: Question about Pullup Resistors
i installed the sensors onto a Flydusense V2.0 on this board I installed 5V Pullups 6.8k
I don't have any personal experience with the Flyduino and Flydusense. I searched for schematics to them and could not locate any. So without such details I am not able to confirm anything I recommend.
The I²C bus is running on 5V
Good. I read the Flydusense catalog page and it says there is an LLC on it, so that is good news.
I think the BMA has onboard LLC.
Which BMA board do you have? Please post a link to it.
For example, if it is the ELV BMA020 then it will have factory installed 10K pullups on it.
http://www.elv.de/output/controller.asp ... ail2=28515
So if you are using the ELV board, the strategy would be to retain its 10K pullups and then replace your 6.8K's with 3.3K's. A little math will show that 3.3K || 10K = 2.4K ohms, which is a reasonable choice for the typical MWC. However, if there are other pullups lurking in your installation then you need to account for them too. Schematics are always the best place to start.
Can I measure the NET resistance??
It would be grand if it was as easy as using an ohmmeter, but that won't provide accurate readings (the connected IC's will tarnish the readings). However, if you have an o-scope you can use it to validate the I2C signal levels and rise times.
- Thomas
- jevermeister
- Posts: 708
- Joined: Wed Jul 20, 2011 8:56 am
- Contact:
Re: Question about Pullup Resistors
I have the BMA020 from ELV.
I think the flyduino does noit have pullups installed, only the internals, the arduino uses. The flydusense only have the 6.8k resistors I installed.
Do you know a resource about pullups?
I will try to meausre somethin over the weekend,
Hopefully my son can wait and will choose monday as his birthday.
I own a really good fluke scope meter.
nils
I think the flyduino does noit have pullups installed, only the internals, the arduino uses. The flydusense only have the 6.8k resistors I installed.
Do you know a resource about pullups?
I will try to meausre somethin over the weekend,
Hopefully my son can wait and will choose monday as his birthday.

I own a really good fluke scope meter.
nils
Re: Question about Pullup Resistors
Do you know a resource about pullups?
The link you mentioned in the first post has practical information about I2C rise times and levels.
The Flyduino board developer will be able to advise if there are any pre-installed pullups on his designs that you are not aware of. If he says there are none then change your 6.8K's to 3.3K's, confirm that there are no I2C errors in debug2, then test fly.
- Thomas