Quarky I2C Communication
-
Available in: Block Coding, Python Coding
-
Mode: Stage Mode, Upload Mode
-
WiFi Required: No
-
Compatible Hardware in Block Coding: Quarky
-
Compatible Hardware in Python: Quarky
-
Object Declaration in Python: NA
Introduction
The Quarky I2C Communication Extension allows Quarky to exchange information with other I2C-compatible devices using only two signal lines.
I2C stands for Inter-Integrated Circuit. It is commonly used in robots, embedded systems, automation projects, and IoT devices because several devices can communicate over the same SDA and SCL lines.
With Quarky working as the Master, it can communicate with devices such as:
- Intellio operating as an I2C Slave
- Sensors
- Expansion boards
- Other I2C-compatible modules
Each Slave device must have a unique address so that Quarky can communicate with the correct device.
What Is I2C Communication?
I2C uses two communication lines:
- SDA – Serial Data: Carries addresses and data.
- SCL – Serial Clock: Carries the clock signal generated by the Master.
All devices on the same I2C bus share these lines.
Master and Slave
The Master controls communication. It selects a Slave address and decides when to send or read data.
The Slave waits until the Master calls its address and then responds.
In this extension, Quarky operates as the Master.
I2C Device Addresses
Every Slave device requires a unique I2C address.
Addresses are commonly written in hexadecimal, for example:
- 0x08
- 0x29
- 0x3C
Note: Two devices with the same address should not normally be connected to the same I2C bus because both may respond simultaneously.
Accessing the I2C Extension in PictoBlox
Step 1: Open PictoBlox and select the Block Coding environment.

Step 2: Select Quarky as the board.
Step 3: Click on the Add Extension button from the bottom left corner of the Blocks Palette.
Step 4: Search for and select the Quarky I2 Communication.

Step 4: Open the I2C category from the Blocks Palette.
The Quarky I2C extension displays the Master communication blocks.

Connecting Quarky to an I2C Device
For Quarky:
| Quarky Pin | I2C Function |
| D1 | SDA |
| D2 | SCL |
Quarky Master to Intellio Slave
Connect:
- Quarky D1 → Intellio A1 for SDA
- Quarky D2 → Intellio A2 for SCL
- Quarky GND → Intellio GND
- Connect VCC only when the supply requirements are compatible.
Important Connection Rules
- All devices share SDA and SCL.
- Always use a common GND.
- Each Slave requires a unique address.
- Avoid loose connections.
- Confirm compatible logic voltages.
- Disconnect power before changing wiring.