# Are pullup resistors required on I2C

**URL:** <https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363>\
**Category:** Arduino\
**Created:** [14 September 2021 00:49 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363 "2021-09-14T00:49:21Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [14 September 2021 00:49 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/1 "2021-09-14T00:49:21Z")

</div>

I am going to try Pico devices. I need to connect four devices to the one SDA/SCL pins on the Nano board. Using cable to connect boards in series and hardwire from terminals on last device to Nano, are pullup resistors required still? Are they built into the boards?  
If needed is it correct that they need to be between 2K and 10K? The lower the value, the better for high speed responses?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![Oliver33](https://avatars.discourse-cdn.com/v4/letter/o/a9adbd/32.png) [@Oliver33](https://forum.core-electronics.com.au/u/Oliver33)\
**Post date:** [14 September 2021 01:28 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/2 "2021-09-14T01:28:42Z")

</div>

Yep, every piico device has a built in pull-up resistor. There’s also a trace on the back you can cut to disconnect it if you’re stringing up multiple.

You only need one, and if you leave lots of them connected the pullup can become too strong (the resistors are in parallel, resulting in a low resistance pullup). You might get away with leaving them all enabled with only 4, bit at some point you’ll need to cut the traces.

If you need to reenable them you can always solder the trace back together.

---

<div class="post-metadata">

**Author:** ![Trent5487676](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/trent5487676/32/4583_2.png) [@Trent5487676](https://forum.core-electronics.com.au/u/Trent5487676)\
**Post date:** [14 September 2021 01:34 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/3 "2021-09-14T01:34:08Z")

</div>

Hi Kevin,

If you wanted to use I2C with an Arduino we have a tutorial that uses the Uno that should be very similar.

> **[I2C Bus and the Arduino - Tutorial](https://core-electronics.com.au/tutorials/i2c-with-arduino.html)**
>
> I²C stands for the inter-integrated circuit and refers to a communication protocol we are going to use to communicate between our Arduino devices. In the past we have investigated the SPI and Asynchronous Serial Communications protocols for this...

It’s also worth mentioning that the PiicoDev sensors are 3.3V devices so can’t be connected directly to an Arduino, for that you’d want a logic level converter like this one.

> **[Logic Level Converter Bi-Directional](https://core-electronics.com.au/logic-level-converter-bidirectional.html)**
>
> This Bi-Directional Logic Level Converter is a breadboard-friendly device that converts between 5V and 3.3V logic.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [14 September 2021 01:36 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/4 "2021-09-14T01:36:06Z")

</div>

Does the Nano inputs register 3.3v logic or do I have to use the converter?

If I do need to use one, it is only needed on the SDA/SCL pins is that correct?

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [14 September 2021 01:39 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/5 "2021-09-14T01:39:50Z")

</div>

I’m having to rework a project that I used a Nano33BLE, which I would still prefer to use, but my issue with the Nano33BLE is that it did everything I needed, but I need audio playback, recorded voice command. But currently there is no solutions in Arduino code for me to achieve this.  
Unless you have any suggestions.The issue with the coding is not many people use the Nano33BLE range and any codes written for the Nano boards for audio don’t work with the Nano33BLE.

---

<div class="post-metadata">

**Author:** ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)\
**Post date:** [15 September 2021 00:28 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/6 "2021-09-15T00:28:36Z")

</div>

Hey Kevin,

Yeah the Nano 33 BLE uses a 3.3V logic level (and isn’t 5V tolerant).

Do you have your code there? The processor on the 33 BLE should be a bit more capable than the one on the Normal Nano.

A simple way to get different audio files out would be with an [WAV trigger](https://core-electronics.com.au/search/?q=wav+trigger) or a single file with a [voice recorder module](https://core-electronics.com.au/search/?q=voice+recorder).

Liam.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [15 September 2021 04:21 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/7 "2021-09-15T04:21:22Z")

</div>

Awesome, that works better for my project, I can stay with the Nano33 boards and the 8 trigger WAV trigger. I wish I asked on hear, I spent weeks on Arduino forum asking about a solution and I was told to go back to the Nano board.  
Thanks for your help Liam.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [15 September 2021 23:29 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/8 "2021-09-15T23:29:41Z")

</div>

Liam, do I have to use a 5 to 3 volt logic converter to be able to use 3V modules on the Nano board?

I definitely would use it if I was using a Nano33BLE with 5V modules.

I really appreciate your assistance it has let me relook and for future version be able to use the Nano33BLE or Sense board which will definitely allow me to keep the project minimal in components, weight and size.

---

<div class="post-metadata">

**Author:** ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)\
**Post date:** [16 September 2021 00:11 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/9 "2021-09-16T00:11:37Z")

</div>

Hey Kevin,

Which module did you have your eyes on? All of the Adafruit ones work at a logic level of 3V but are 5V tolerant.  
No worries! We’re all here to help 😃 I’m keen to see the final design!

Liam.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [16 September 2021 00:14 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/10 "2021-09-16T00:14:46Z")

</div>

Adafruit Audio FX Mini Sound Board - WAV/OGG Trigger - 2MB Flash

#### SKU: ADA2342

I believe this one will suit as it should allow me to use the 8ohm 0.5W speaker direct out of the board without the need of an amp module. It also will give me the ability to add volume up and down buttons to let users adjust volume easily.  
Is this all correct.

---

<div class="post-metadata">

**Author:** ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)\
**Post date:** [16 September 2021 01:16 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/11 "2021-09-16T01:16:40Z")

</div>

Hi Kevin,

That one only has a line out and wont be able to drive a speaker, I’d take a look at using this module [Adafruit Audio FX Sound Board + 2x2W Amp](https://core-electronics.com.au/adafruit-audio-fx-sound-board-2x2w-amp-wav-ogg-trigger-2mb.html)  
It has all of the features that you are after baked in and ready to go, just with the addition of the amp.  
I’d also take a look into using [serial](https://learn.adafruit.com/adafruit-audio-fx-sound-board/serial-audio-control) instead of the trigger lines as it will save wiring everything up!

Liam.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [16 September 2021 01:43 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/12 "2021-09-16T01:43:28Z")

</div>

Thanks Liam, food for thought. I’ll look into all the options you have suggested.

---

<div class="post-metadata">

**Author:** ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)\
**Post date:** [16 September 2021 01:50 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/13 "2021-09-16T01:50:46Z")

</div>

Hey Kevin,

Sounds like a plan, if you have any other questions feel free to fire away!

Liam.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [16 September 2021 01:52 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/14 "2021-09-16T01:52:01Z")

</div>

will do 🙂

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [16 September 2021 01:54 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/15 "2021-09-16T01:54:39Z")

</div>

Sorry, the Pico range, TOF, DOF, Lux

---

<div class="post-metadata">

**Author:** ![Liam](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam/32/3562_2.png) [@Liam](https://forum.core-electronics.com.au/u/Liam)\
**Post date:** [16 September 2021 02:04 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/16 "2021-09-16T02:04:08Z")

</div>

Hi Kevin,

I getcha now! Yeah the PiicoDev range uses 3.3V for logic and supply voltage so for a 5V system you need to step everything down. At the moment Core doesnt supply any Arduino libraries but there are certainly some floating around on the net.

Liam.

---

<div class="post-metadata">

**Author:** ![Kevin79611](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/kevin79611/32/5570_2.png) [@Kevin79611](https://forum.core-electronics.com.au/u/Kevin79611)\
**Post date:** [16 September 2021 07:05 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/17 "2021-09-16T07:05:35Z")

</div>

Thanks for confirming, I have one 3 to 5 logic converter this will do I am sure as the pico devices will link with their cables and I just need one pair converter for the one that connects to the Nano board. Is that correct?

---

<div class="post-metadata">

**Author:** ![Liam120347](https://yyz2.discourse-cdn.com/flex028/user_avatar/forum.core-electronics.com.au/liam120347/32/5003_2.png) [@Liam120347](https://forum.core-electronics.com.au/u/Liam120347)\
**Post date:** [16 September 2021 07:27 UTC](https://forum.core-electronics.com.au/t/are-pullup-resistors-required-on-i2c/11363/18 "2021-09-16T07:27:52Z")

</div>

Hey Kevin,

I would have a read about how logic level converters work, its really interesting!!
