Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
88b86b2
correct base url
Jerzeek May 7, 2025
56cff35
add new pages to advances
Jerzeek May 15, 2025
a6b70d0
add link to bluetooth tips
Jerzeek May 19, 2025
3851884
add future advances components
Jerzeek May 20, 2025
51e7724
add components
Jerzeek May 22, 2025
8e5dd3a
some test changes
Jerzeek Nov 18, 2025
bff0585
move gemfile
Jerzeek Nov 18, 2025
cdb0c4d
change folder structure
Jerzeek Nov 18, 2025
d638db6
test
Jerzeek Nov 18, 2025
7c819e1
examples
Jerzeek Nov 18, 2025
a714eda
change names in tutorials
Jerzeek Nov 20, 2025
b25f8de
changes to components page
Jerzeek Nov 20, 2025
ef493cf
start of change main component page
Jerzeek Nov 20, 2025
e0cd356
last changes to components page
Jerzeek Nov 21, 2025
88c668f
add pico information and pictures
Jerzeek Nov 28, 2025
0210505
added correct links
Jerzeek Nov 28, 2025
ea1a0d2
imu image
Jerzeek Dec 2, 2025
c8fd049
correct padding
Jerzeek Dec 2, 2025
36883f2
Rename Pico2w-horizontal.svg to pico2w-horizontal.svg
Jerzeek Dec 2, 2025
cddd0ee
update imu info
Jerzeek Dec 2, 2025
b2c774d
Merge branch 'test' of https://github.com/id-studiolab/Connected-Inte…
Jerzeek Dec 2, 2025
578f1de
found references to BitsyExpander
Jerzeek Dec 3, 2025
d0c2f21
new drop shadow pictures
Jerzeek Dec 3, 2025
b2cac4a
change IMU example
Jerzeek Dec 10, 2025
66b8756
update images
Jerzeek Jan 7, 2026
59ee3f5
new images and tested code
Jerzeek Jan 7, 2026
87bc5cd
add old tof to archived
Jerzeek Jan 7, 2026
603dc02
correct table
Jerzeek Jan 7, 2026
c6f7429
stick to the old color theme
Jerzeek Jan 7, 2026
4058804
upgrade page pico expander
Jerzeek Jan 7, 2026
39657e7
Create part-3 (TOML).md
MartiniMartin Jan 14, 2026
fa5cf97
Update part-3 (TOML).md
MartiniMartin Jan 14, 2026
be50b6a
Update part-3 (TOML).md
MartiniMartin Jan 14, 2026
ad622bc
corrected joke mention
MartiniMartin Jan 14, 2026
5c9e6c3
2026 edition commits
idstudiolab Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
.jekyll-cache
_site
Gemfile.lock
docs/_site
docs/_site
output
4 changes: 2 additions & 2 deletions Gemfile → docs/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ gem "github-pages", group: :jekyll_plugins

group :jekyll_plugins do
# ... other gems
gem "jekyll-code-tabs"
gem "just-the-docs"
gem "just-the-docs", "0.10.2"
gem "jekyll-tabs"
end
4 changes: 2 additions & 2 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
theme: "just-the-docs"

baseurl: /Connected-Interaction-Kit
baseurl: /Connected-Interaction-Kit/test

title: Connected Interaction Kit
color_scheme: connected-interaction-kit

plugins:
- jekyll-redirect-from

- jekyll-tabs
callouts_level: quiet
callouts:
highlight:
Expand Down
2 changes: 1 addition & 1 deletion docs/_includes/head_custom.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<script src="{{ '/assets/js/tabs.js' | relative_url }}" type="text/javascript"></script>
<link rel="stylesheet" href="{{ '/assets/css/tabs.css' | relative_url }}">
<link rel="stylesheet" href="{{ '/assets/css/tabs.css' | relative_url }}">
30 changes: 17 additions & 13 deletions docs/components/advanced-radar-sensor/advanced-radar-sensor.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,33 @@ has_children: false



<img src="assets/advanced-radar-sensor.png" alt="Advanced Radar Sensor" width="250"/>
<img src="assets/advanced-radar-sensor.jpg" alt="Advanced Radar Sensor" width="250"/>

# Advanced Radar Sensor
<a href="../../glossary/glossary"><img src="../../glossary/assets/input.png" alt="Input" width="72"/></a> <a href="../../glossary/glossary"><img src="../../glossary/assets/2wire.png" alt="Two Wire" width="72"/></a>

< one sentence explaination of item >
# Advanced Radar Sensor (LD2450)
<a href="../../glossary/glossary"><img src="../../glossary/assets/input.png" alt="Input" width="72"/></a> <a href="../../glossary/glossary"><img src="../../glossary/assets/serial.png" alt="Serial" width="72"/></a>

The ld2450 radar module allows you to monitor human presence, motion detection and tracking.
Target tracking involves real-time tracking of the position of a (moving) target within a specific area, enabling measurement of the target’s distance, angle and speed (relative to the sensor).

---

## Required Libraries
link to library
Make sure to add the `ld2450.py` file to the `lib` folder on your Microcontroller.
You can download the `ld2450.py` file here: [link](https://github.com/id-studiolab/EduGroveModules/blob/main/RadarSensor/Production%20Files/code/lib/ld2450.py)

## Basic Usage

explaination
This example prints the information from the LD2450 sensor to the serial monitor.

```python
```

explaination

```python
import board
import busio
import ld2450

```
uart = busio.UART(board.TX, board.RX, baudrate=256000) # Adjust pins and baudrate as needed

while True:
parsed_data = ld2450.parse_ld2450_data(uart) # Pass the uart object
for target in parsed_data.targets:
print(f"Target at ({target['x']}, {target['y']}) moving at {target['speed']} cm/s")
```
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 40 additions & 11 deletions docs/components/basic-radar-sensor/basic-radar-sensor.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,58 @@ has_children: false



<img src="assets/basic-radar-sensor.png" alt="Basic Radar Sensor" width="250"/>
<img src="assets/basic-radar-sensor.jpg" alt="Basic Radar Sensor" width="250"/>

# Basic Radar Sensor
<a href="../../glossary/glossary"><img src="../../glossary/assets/input.png" alt="Input" width="72"/></a> <a href="../../glossary/glossary"><img src="../../glossary/assets/2wire.png" alt="Two Wire" width="72"/></a>

< one sentence explaination of item >
# Basic Radar Sensor (LD2410)
<a href="../../glossary/glossary"><img src="../../glossary/assets/input.png" alt="Input" width="72"/></a> <a href="../../glossary/glossary"><img src="../../glossary/assets/serial.png" alt="Serial" width="72"/></a>

This sensor serves as a replacement for a PIR sensor and works on the basis of microwaves and the doppler effect. Due to a difference in speed, this sensor can detect motion, this also works through almost all materials except metal

---

## Required Libraries
link to library
Make sure to add the `ld2410.py` file to the `lib` folder on your Microcontroller.
You can download the `ld2410.py` file here: [link](https://github.com/id-studiolab/EduGroveModules/blob/main/RadarSensor/Production%20Files/code/lib/ld2410.py)

## Basic Usage

explaination
This example prints the information from the LD2410 sensor to the serial monitor.

```python
```
import time
import board
import busio
from ld2410 import LD2410

explaination
# Initialize UART for communication with the LD2410 sensor
uart = busio.UART(board.TX, board.RX, baudrate=256000)

```python
# Create an instance of the LD2410 class
ld2410 = LD2410(uart)

# Read Firmware Version
ld2410.read_firmware_version()

# Wait for a moment
time.sleep(1)

```
def main():
while True:
# Update the sensor data
ld2410.update()

# Print out the parsed data
print("Target State:", ld2410.target_state)
print("Moving Distance:", ld2410.moving_distance, "cm")
print("Moving Energy:", ld2410.moving_energy)
print("Stationary Distance:", ld2410.stationary_distance, "cm")
print("Stationary Energy:", ld2410.stationary_energy)
print("Detection Distance:", ld2410.detection_distance, "cm")
print("-" * 40)

# Delay before the next update
time.sleep(5)

if __name__ == "__main__":
main()
```
2 changes: 1 addition & 1 deletion docs/components/bitsy-expander/bitsy-expander.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ layout: default
title: "Bitsy Expander"
grand_parent: "Components"
parent: "Core Components"
nav_order: 1
nav_order: 3
has_children: false
---

Expand Down
Binary file added docs/components/bluetooth/assets/bluetooth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/components/bluetooth/assets/solder.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
83 changes: 83 additions & 0 deletions docs/components/bluetooth/bluetooth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
layout: default
title: "Bluetooth"
grand_parent: "Components"
parent: "Advanced Components"
nav_order: 0
has_children: false
---



<img src="assets/bluetooth.png" alt="Bluetooth" width="250"/>

# Bluetooth
<a href="../../glossary/glossary"><img src="../../glossary/assets/input.png" alt="Input" width="72"/></a> <a href="../../glossary/glossary"><img src="../../glossary/assets/output.png" alt="Two Wire" width="72"/></a>

With this modification you can use the bluetooth functionality of your ItsyBitsy Expander, it makes it possible to send and receive serial communication to your smartphone.

## How to use bluetooth on your BitsyExpander:
### Solder the connections
At the back of the bitsy expander bridge the pins of the ESP_RX, ESP_TX, and GPIO_0 pads. As seen in the image below:

<img src="assets/solder.jpg" alt="Solder" width="500"/>

<!--
image -->


Follow the rest of the instruction on this page:
[https://learn.adafruit.com/adafruit-airlift-breakout/circuitpython-ble](https://learn.adafruit.com/adafruit-airlift-breakout/circuitpython-ble)

{:.note}
Once you reach the [BLE Example code](https://learn.adafruit.com/adafruit-airlift-breakout/circuitpython-ble#ble-example-3085843), use the Basic Usage code example below.

---

## Basic Usage

```python
# SPDX-FileCopyrightText: 2020 Dan Halbert, written for Adafruit Industries
#
# SPDX-License-Identifier: Unlicense

# pylint: disable=unused-import
import board
import busio
from digitalio import DigitalInOut
from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.nordic import UARTService
from adafruit_esp32spi import adafruit_esp32spi
from adafruit_airlift.esp32 import ESP32

esp32 = ESP32(
reset=board.D12,
gpio0=board.D10,
busy=board.D11,
chip_select=board.D9,
tx=board.TX,
rx=board.RX,
)

adapter = esp32.start_bluetooth()

ble = BLERadio(adapter)
uart = UARTService()
advertisement = ProvideServicesAdvertisement(uart)

while True:
ble.start_advertising(advertisement)
print("waiting to connect")
while not ble.connected:
pass
print("connected: trying to read input")
while ble.connected:
# Returns b'' if nothing was read.
one_byte = uart.read(1)
if one_byte:
print(one_byte)
uart.write(one_byte)

```

47 changes: 41 additions & 6 deletions docs/components/chainable-led-big/chainable-led-big.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,59 @@ has_children: false
# Big Chainable LED
<a href="../../glossary/glossary"><img src="../../glossary/assets/output.png" alt="Output" width="72"/></a> <a href="../../glossary/glossary"><img src="../../glossary/assets/digital.png" alt="Digital" width="72"/></a>

< one sentence explaination of item >
This is the big brother module of the chainable led, you can even use the original Neopixel library!
It is a 12W neopixel with extra white chip for accurate color reproduction. It uses the UCS2904B chip to toggle the channels.



{:.warning}
Each Big Chainable LED module requires 12v power and can draw up to 4 Amps.
Chaining multiple is possible, but make sure you get a power supply that can deliver that amount of power and dont chain more than 5 units.

---

## Required Libraries
link to library
Standard Neopixel library

## Basic Usage

explaination
A simple example of turning a single LED module red, green, blue and white.

```python
```
# --- Imports
import time
import board
import neopixel

explaination
# --- Variables
pin_leds = board.D13

```python
num_leds = 1
leds = neopixel.NeoPixel(pin_leds, num_leds, auto_write=False, pixel_order=neopixel.GRBW)

# --- Functions

# --- Setup
leds.fill(0) # turn off all LEDs
leds.show()

# --- Main loop
while True:
leds[0] = (255, 0, 0, 0) # red
leds.show()
time.sleep(2)
leds[0] = (0, 255, 0, 0) # green
leds.show()
time.sleep(2)
leds[0] = (0, 0, 255, 0) # blue
leds.show()
time.sleep(2)
leds.fill((0, 0, 0, 255)) # white
leds.show()
time.sleep(2)
leds.fill((0, 0, 0, 0)) # off
leds.show()
time.sleep(2)

```

10 changes: 5 additions & 5 deletions docs/components/chainable-led/chainable-led-chaineo.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
layout: default
title: "Chainable RGB/W LED"
title: "Chainable LED"
grand_parent: "Components"
parent: "Solderless Components"
nav_exclude: true
nav_order: 5
has_children: false
---

Expand All @@ -25,16 +25,16 @@ Before proceeding, make sure your LED module looks like the illustration above.
## Wiring

{: .highlight }
Confirm that the ChaiNEO module is oriented correctly, with the input port (marked "**IN**", at the base of the arrow) connected to the Grove connector on your BitsyExpander Board or the previous LED in your chain.
Confirm that the ChaiNEO module is oriented correctly, with the input port (marked "**IN**", at the base of the arrow) connected to the Grove connector on your Expander Board or the previous LED in your chain.

## Preparation

The ChaiNEO modules use a [Neopixel-compatible RGB/W LED](https://www.adafruit.com/product/2758). To easily control them in code, the `neopixel` [library](../../glossary/glossary) is needed. The library should be pre-loaded on the ItsyBitsy Microcontroller included in your kit.
The ChaiNEO modules use a [Neopixel-compatible RGB/W LED](https://www.adafruit.com/product/2758). To easily control them in code, the `neopixel` [library](../../glossary/glossary) is needed. The library should be pre-loaded on the Microcontroller included in your kit.

{: .highlight }
You can verify that the library is installed by ensuring a file called `neopixel.mpy` is present in the `lib` folder of your `CIRCUITPY` drive. If not, download Adafruit's Library Bundle for Version 8.x [here](https://circuitpython.org/libraries). Extract the needed file from the bundle and place it in the `lib` folder on your microcontroller. You can learn more about libraries and their use in the [Glossary](../../glossary/glossary) or the [../../Tutorials](/Tutorials).

The examples below assume your component is connected to the connector labeled **D13** on the BitsyExpander Board.
The examples below assume your component is connected to the connector labeled **D13** on the Expander Board.

## Making a Chainable RGB/W LED blink

Expand Down
15 changes: 8 additions & 7 deletions docs/components/chainable-led/chainable-led-p9813.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
layout: default
title: "Chainable RGB LED"
grand_parent: "Components"
parent: "Solderless Components"
nav_exclude: true
parent: "Archived Components"
nav_order: 1
nav_exclude: false
has_children: false
---

Expand All @@ -24,24 +25,24 @@ Before proceeding, make sure your LED module looks like the illustration above.
## Wiring


Each connector on the BitsyExpander Board provides connections to two pins. As most components only need one pin to work, the second pin is often shared with another connector. **To use this type of Chainable LED component, ensure it is attached to a connector with two available pins**. Ensure you avoid using another connector that shares pins with the one you use for the Chainable LED.
Each connector on the Expander Board provides connections to two pins. As most components only need one pin to work, the second pin is often shared with another connector. **To use this type of Chainable LED component, ensure it is attached to a connector with two available pins**. Ensure you avoid using another connector that shares pins with the one you use for the Chainable LED.

{: .highlight }
Confirm that the Chainable LED module is oriented correctly, with the input port (marked "**IN**", at the base of the arrow) connected to the Grove connector on your BitsyExpander Board or the previous LED in your chain.
Confirm that the Chainable LED module is oriented correctly, with the input port (marked "**IN**", at the base of the arrow) connected to the Grove connector on your Expander Board or the previous LED in your chain.

## Preparation

Grove Chainable RGB LEDs are based on the `P9813` LED driver chip. To easily control them in code, the `P9813` [library](../../glossary/glossary) is needed. If this LED type came bundled with your kit, the library should be pre-loaded on your ItsyBitsy Microcontroller.
Grove Chainable RGB LEDs are based on the `P9813` LED driver chip. To easily control them in code, the `P9813` [library](../../glossary/glossary) is needed. If this LED type came bundled with your kit, the library should be pre-loaded on your Microcontroller.

Otherwise, follow the following steps:

1. [Download the P9813 library from here.](assets/p9813.py)
2. Place the `p9813.py` file in the `lib` folder on the `CIRCUITPY` drive of your ItsyBitsy Microcontroller.
2. Place the `p9813.py` file in the `lib` folder on the `CIRCUITPY` drive of your Microcontroller.

{: .highlight }
You can verify that the library is installed by ensuring a file called `p9813.py` is present in the `lib` folder of your `CIRCUITPY` drive. You can learn more about libraries and their use in the [Glossary](../../glossary/glossary) or the [Tutorials](../../Tutorials).

The examples below assume your component is connected to pins **D13** and **D10**, contained in the connector labeled **D13** on the BitsyExpander Board.
The examples below assume your component is connected to pins **D13** and **D10**, contained in the connector labeled **D13** on the Expander Board.

## Making a Chainable RGB LED blink

Expand Down
Loading