Jens
Published © GPL3+

Gently communicating home using Matter

Connect BLE based sensors like for good posture to your Matter home network with a bridge and let your home remind you with room lighting.

ExpertFull instructions providedOver 4 days1,251

Things used in this project

Hardware components

nRF7002 Development Kit
Nordic Semiconductor nRF7002 Development Kit
(Bridge) Use this board for Matter over Wi-Fi and for reminders.
×1
Switch Science nRF5340 MDBT53-1M Board
(Bridge) This was my replacement for the nRF7002dk when I started the project as I wrongly thought I could not use it in Japan. You can use either this or the nRF7002dk for the bridge without reminders. nRF7002dk is recommended. Can be any nRF5340 board like the nRF7002dk, nRF5340dk, Thingy53, etc. No additional hardware is required. (1 button and 1 LED would be good). Flash is optional and only used for OTA.
×1
Adafruit QSPI DIP Breakout Board - W25Q128 - 128 MBit 16 MByte - W25Q128JVSSIQ
(Bridge) Optional. Connected to the nRF5340. The Nordic DKs already have flash memory on them.
×1
Seeed XIAO BLE nRF52840 Sense
Seeed Studio Seeed XIAO BLE nRF52840 Sense
(Posture Checker) The non-Sense version is also OK. Although I interface the lsm6ds3tr, it is not required. Selected this board because it is small. Using the flash memory on this board.
×1
Adafruit 9-DOF Orientation IMU Fusion Breakout - BNO085 (BNO080) - STEMMA QT / Qwiic
(Posture Checker) Selected this board because it offloads all sensor fusion calculations to the sensor.
×1
ADS1015 12-Bit ADC
(Posture Checker) Any ADS1015 board is OK. There is one from Adafruit "ADS1015 12-Bit ADC - 4 Channel with Programmable Gain Amplifier - STEMMA QT / Qwiic"
×1
Long Flex sensor
(Posture Checker) My third one is a Short Flex Sensor. I recommend long ones as the short ones hardly recognize changes.
×3
Adafruit Feather nRF52840 Express
(Feedback Light) Used this board because it has a Neopixel to verify the code before attaching the LED. You can use any nRF52840/nRF5340 board if you create your board overlay file.
×1
Resistor 330 ohm
Resistor 330 ohm
(Feedback Light) Recommended for the LED data line and between ADC channels to ground.
×4
Capacitor 100 µF
Capacitor 100 µF
(Feedback Light) Recommended for the LED between VCC and GND
×1
Lithium Ion Battery - 3.7V
(Feedback Light) Optional, if you want to battery power the LED box. I recommend powering it with USB.
×1
Adafruit WS2812B LED Strip
(Feedback Light) I used 50cm (14 LEDs) of a no-name strip I bought used for cheap.
×1
Adafruit STEMMA QT / Qwiic JST SH 4-pin Cable
(Feedback Light) Optional. I like to use these cables and small adapters to pins or multiplier adapters to connect my parts instead of soldering fixed wires.
×1
Adafruit 4-channel I2C-safe Bi-directional Logic Level Converter - BSS138
When connecting the nRF7002dk Bridge to the Posture Checker.
×1
Adafruit PDM Microphone Breakout with JST SH Connector
(Reminder) To record audio for Open.ai's whisper API.
×1
Adafruit 1.3" 240x240 Wide Angle TFT LCD Display with MicroSD - ST7789
(Reminder) To display user feedback on the AI flow results.
×1
Raspberry Pi Pico W
Raspberry Pi Pico W
(NFC Reader) To interface USB devices as USB hosts.
×1
FFC 0.5mm to 6 pin adapter
(NFC Reader) To connect the RC-S620U to the Raspberry Pi Pico
×1
Sony Felica Reader RC-S620U
(NFC Reader) The NFC reader device with USB interface.javascript:void(0)
×1
Open Thread Border Rouder (OTBR)
I used a Raspberry Pi 4 with an nRF52840 MDBT50Q USB Dongle. Other Raspberry Pi versions are ok. Any nRF52840 board is ok.
×1

Software apps and online services

Edge Impulse Studio
Edge Impulse Studio
(Posture Checker) To infer if good or bad posture.
nRF Connect SDK
Nordic Semiconductor nRF Connect SDK
Tinkercad
Autodesk Tinkercad
(Feedback Light) I used Tinkercad to create the 3D model for printing.
SH2 Sensorhub driver for MCU application
(Posture Checker) Driver for the BNO085.
Adafruit BNO08x
(Posture Checker) Not directly used but copied some code.
PlantUML
Used to generate UML diagrams.
Draw.io
Used to draw the diagrams.
StrictDoc
Used to generate the requirements and do requirements tracing - Only partially started
ZAP tool
(Feedback Light) Used to add the colour control cluster for the LED box
colorspace-conversion-library
(Feedback Light) Copied the functions rgb_to_hsl and hsl_to_rgb.
CHIP-tool
Used as Matter Controller
python-matter-server
Used as Matter Controller with Python scripts
Open.ai APIs
(Reminder) Only part of the "next steps" to record audio for Open.ai's whisper API. This is a paid service.
Raspberry Pi Pico C++ SDK
(NFC Reader) BSP Package
TinyUSB
(NFC Reader) USB Host Stack

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
and a soldering wire
3D Printer (generic)
3D Printer (generic)
I used a Prusa MK4 with PLA material. Easy to use and trouble free.

Story

Read more

Custom parts and enclosures

Case Bottom

Case Top

Schematics

Sequence Diagrams

Diagrams

Deployment, Software Components and Hardware Wirings

Code

Gently communicating home using Matter for "Make it Matter!" contest

Credits

Jens

Jens

3 projects • 4 followers
Studied Computational Linguistics with machine learning focus and Japan Studies. Working on AOSP (Android) in the automotive industry.

Comments