Communicating from the Littlebits Arduino to Mindstorms EV3

With a little work and some programming, the Littlebits Arduino bit can communicate with the EV3 brick over I2C. It took me a while to locate all the information needed so I wanted to document the links and additional information here.

Most of the information I needed to connect the computers was on Dexter.com here. Read that article first. Just be aware that there are some differences between the Arduino One used by Dexter and the Littlebits Arduino. The Dexter example uses pins A4 and A5 for I2C SDA and SCL, the Littlebits Arduino uses D2 and D3.

You will need to purchase the Dexter EV3 breadboard adapter here and install the Dexter I2C EV3 blocks on the computer you use to program the EV3 brick.

You will also need to solder headers to D2, D3 and ground, then connect those to the Dexter I2C adapter. My solution looks like this:

There is more information about how to modify the Littlebits Arduino here.

Note that I did not connect +5V to the EV3 adapter. You can easily do this and then the Littlebits Arduino will be powered from the EV3 brick. I found it more convenient to control their power separately while I was prototyping so I didn’t do that.

Finally, before the code will work on the Littlebits Arduino, you have to disable to pullup resistors on the Dexter EV3 adapter. There are two dipswitches on the board –make sure they are turned off.

That’s about it. The code from the Dexter link above worked first time once I had the pullups right.

I think I can wire a more elegant solution using the perf bit. If I get around to doing that I will post a picture here.

3 Likes

This looks really good @gannelvin. When the semester is over, I’m gonna get my EV3 kit back, and something like this is gonna be first up on my list of things to do.

Thanks for the link to Dexter!

Thanks for sharing your learnings @gannelvin :slight_smile: What sort of things are you planning on doing with the EV3 and littleBits Arduino?

Well, my ultimate goal is to create a robot with voice recognition, text to speech and facial recognition. I don’t think the EV3 brick is up to tasks like that so I started looking into integrating an Arduino. I’m new to Arduino and don’t know a lot about hardware so the Littlebits Arduino was perfect for me to start with. I just bought the microphone and speaker bits. My next step is to try to record speech from the microphone and play it back on the speaker. If that works, I’ll look for some way to store the speech for later playback. Then I could at least playback canned sounds in response to events on the EV3.

Hi @gannelvin
Please note that the microphone bit is not so sensitive for recording voice. If possible, use an external amplified mic plugged into the mini jack.
See also this thread ; Microphone bit not sensitive enough
Perhaps this will improve in the future.
And oh, this gives me just inspiration to investigate this and put a solution on this forum.
Stay tuned !

Thanks for the tip @Frankje. I’ll give it a try.

Hi @gannelvin
I’ve just improved the microphone bit sensitivity to usable level.
Look at the post "hack a bit " to see what should be done.
I did several tests and now it works as it is supposed to.
Greetings

I remade my EV3 connector using a perf bit:

It’s a bit neater than the original. The jumper in for foreground connects the EV3 5V to the Arduino 5V,

Here is the back side so you can see how it’s wired:

2 Likes