Where is I2C Clock (Analog 5)

I was looking at hooking up a sensor to my littleBits Arduino module which requires connections to GND, I2C Data (Analog 4), and I2C Clock (Analog 5). I can figure out GND, A4, but where is A5 on the littleBits Arduino?

Hi RicardoD,
Since the littleBits Arduino module is based on the Arduino Leonardo, the I2C lines are D2 (SDA) and D3 (SCL). They are labeled on the top of the board towards the USB port as surface mount solder pads. Immediately next to the larger pads are two sets of smaller pads. These are for your pull-up resistors. SMD resistors are ideal but you can probably get away with soldering through-hole resistors with a steady hand.

Solder your resistors, fly wires off the larger pads and you should be good. Let me know if you need any additional help.

Hey @RicardoD!

Did you locate the correct pads for the I2C Clock?

Yes, I located them but haven’t used them in a project yet. The littleBits Arduino was a great introduction for me into Arduino world. My son and I are now diving a bit deeper by taking an Arduino class at our local TechShop in San Jose.

Awesome! I’m sure the class will transform you two into great programmers! You should also look at [free] courses online. Such as Udemy, youtube, and a few other websites!

FYI, I soldered headers to arduino board and jumper wires to I2C SCL/SDA pads. Since the Arduino Wire library (I2C) enables the internal pullups, I didn’t need pullup resistors. I ran an I2C test with DS1621 I2C temperature sensor, and it worked. For 5v and Ground for the DS1621 I used jumpers from ICSP header.

It was a little awkward soldering the I2C jumper wires. I tinned ends, dropped a blob of solder on each pad, then applied wire and iron to blob. I wish the I2C pins were located with the other “extra” pins, so a header could be used …
Note to self: female jumpers would be a better choice.

Thanks for pointing this out to the community! I’ll be sure to pass your advice to the team for future development! Great idea!

@rory_littleBits @manitou (or whomever would like to chime in) Can you please elaborate about the pullup resistors and these I2C lines? i.e. What is I2C in a nutshell? What resistor values do people generally or ideally solder here? Thank you!

@JackANDJude Google will provide you lots of I2C (two-wire) tutorials. sparkfun tutorial is good
https://learn.sparkfun.com/tutorials/i2c
and Arduino’s API is described here
http://www.arduino.cc/en/Reference/Wire
There are lots of little devices that use I2C to communicate with an MCU, and the protocol allows you to string multiple devices together.

I would be reluctant to solder resistors to the littlebits arduino, because (1) the pads are tiny, (2) the arduino MCU has builtn pull-up resistors that the Wire library enables by default, (3) you could provide resistors on a breadboard for experiments. Typically 4.7K ohm resistors might be used, but the ohm’s value required changes if you are stringing several I2C devices together.

using littlebits modules to experiment with arduino-like controllers is expensive. You might look at teensy 2 ($16 pjrc.com) or the classic Arduino UNO to expand your toolbox.

Then you could read about SPI protocol/devices … :slight_smile:
I tested SPI with Sparkfun DS3234 using SPI pins from ICSP on the littlebits arduino.

1 Like

Thanks, @manitou for answering my question and for the links! There’s a lot of noise out there, and adding to the discussion here improves the signal. I’ll go do my reading now. :wink:

Thanks for chiming in @manitou. Regarding the accessibility of the I2C lines, we do realize they’re not ideal for use and we wish to improve them in the future so they’re easier to access.

We realize people want to use the littleBits Arduino with I2C-equiped sensors so it’s on our list. =)

Rory,
So is littleBits going down the route with I2C or another protocol, such SPI or CAN? Are you going to do another “4 way magnetic connector” for the like of I2C, specifically on/for the Arduino module, or are your going to expand on the existing one in a v0.4?

Just nice to know which route one should take to stay relative compatible with a future littleBit.

Hi @MEDO,
We are exploring data communication but we don’t like the idea of breaking compatibility with our current product. Keep your eyes peeled! We have some exciting and more powerful bits in the works.

Hi, this is some really valuable info on the Arduino bit. I’m going to attempt to solder some headers on D2/3 to support a project. I’d rather not have wires permanently dangling off my bit and was thinking of attempting to bend the lead of a standard header and soldering that on those little pads. I’m guessing it’ll increase the fragility of my bit a good 238%. Any sage advice before I endeavor this? Thanks!

Hi @toddkurtz . Nice tiger! We’re all figuring out this one together, and I would love to see a picture when you’re done.

I wanted to go with bent header pins, but I didn’t know how to secure them for soldering. My helping hands had almost no where to grip on that part of the Arduino. I ended up with dangling wires that have female ends.

Thanks for the encouragement. This will most certainly be a challenging soldering job. I’m looking forward to getting home from work to give it a go. My Arduino bit is currently enjoying a starring role in controlling my home security system so I hope I don’t destroy it. Littlebits should offer a discount replacement program for those of us that are pushing the envelope. :wink:

Wish me luck!

Good luck, Tiger! Take extra precaution to prevent the magnets in Bitsnaps from attracting your hot soldering iron.

Well that was an amazing amount of fun! I decided to attempt soldering on 90 degree pins. I was able to hold the pins in place with my helping hand by leaving the entire row of pins intact. After securing the two pins with solder I held those two in place with my thumb and broke off the extra pins with pliers. I couldn’t be happier with the results.

Why did I want to access the I2c pins? My 8 year old son and I are participating in the #inventanything program with LittleBits. A couple nights ago he asked for a Magic 8 Ball from his Mom. I said, “Jack!, we should program your Arduino Bit to be a Magic 8 Ball”. The only problem was the interface, how to display the wisdom of the 8 ball. The thought occurred to me, hmmm…I wonder if that LCD I recently received from Adafruit could run off the I2c pins of the Arduino LittleBit. Sure enough, IT DOES!!! We jumped for joy and went about coding the LittleBits Magic 8 Ball. Push the button to consult the insight that only the Magic 8 Ball can provide. He loves it!

5 Likes

Woohoo! Great success AND pics! I can’t wait to see your project page!

@CKlidify, check this out! You are both into using an LCD with Arduino.

:dancers: <= Bitster happy dance

Thank you @JackANDJude!

1 Like