Skip to main content
Version: ACS CC

Mini Smart Home

A tiny Rust-powered smart house that senses, blinks, and moves β€” just like a real one, but way cooler.😁

info

Author: Iordache Ioana-Diana
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-ioanaior

Description​

This project aims to simulate a miniature smart home environment, focusing on practical energy-efficient and comfort-improving features such as RGB lighting, temperature and humidity monitoring, automatic window closing when rain is detected, and door control via a secure method (I'm thinking Morse code).

Motivation​

I find it fascinating how sensors can interact with the environment and create real-life automation scenarios. I wanted to work on a project that’s both educational and fun, while also touching on concepts related to green homes, security, and interactivity. The idea of a miniature smart home felt like a great fit for demonstrating embedded programming in Rust. That is why I decided to create a small-scale model that could be both a learning experience and a nice gadget.😊

Architecture​

The final system will include modules for:

  • Environment sensing: temperature and humidity (DHT sensor), rain sensor
  • Output feedback: LCD display for status and sensor values, RGB LED lighting (WS2812) - this one might need a bit of tweaking to work with the Pico W, so TBD
  • Actuators: servo motors for door and window control
  • Optional modules: motion or gas sensors for enhanced interactivity and safety
  • Power: USB power supply (batteries/solar are considered optional extensions)

NOTE: A complete block diagram and wiring schematic will be added once hardware connections are finalized.

Log​

  • Week 21 – 27 April
    Reviewed previously owned components (sensors, display, servo motors) to assess reusability for the project. Placed an order for a Raspberry Pi Pico 2 W as the main controller board. Researched compatibility and pin availability for each part to ensure smooth integration.

  • Week 28 April – 4 May
    Drafted the initial project documentation. Defined the scope, motivation, and key goals. Outlined the planned system architecture and reviewed optional extensions. Started organizing the hardware list and validating available Rust crates for each module.

  • Week 5 – 11 May
    Placed an order for a second Raspberry Pi Pico 2 W to use it for debugging.
    TBD

  • Week 12 – 18 May
    TBD

  • Week 19 – 25 May
    TBD

Hardware​

ComponentFunction
Raspberry Pi Pico 2WMain microcontroller with WiFi
WS2812 RGB LEDSmart lighting / system status
DHT sensorMeasures temperature and humidity
1602 I2C LCDDisplays environment info/status
Servo motor #1Automatic door opening
Servo motor #2Automatic window closing (rain)
Rain sensorTriggers window close
Optional: PIR sensorMotion detection
Optional: Gas sensorSafety feature
Optional: Solar moduleGreen energy charging

Note: Solar power is planned as an optional future extension, not core requirements.

Schematics​

TBD – Will be provided after hardware setup is complete.

Bill of Materials​

DeviceUsagePrice (approx.)
Raspberry Pi Pico 2WMicrocontroller with WiFi35 RON
WS2812 RGB LED moduleSmart light / system status10 RON
DHT11 sensorTemp & humidity measurement15 RON
1602 LCD I2C moduleDisplay20 RON
2x Servo motorsDoor and window control40 RON
Rain sensorDetects rain10 RON
PIR/Gas sensor (opt.)Optional safety feature15–25 RON
USB power supplyStable, easy power source-

Software​

Crate (Library)DescriptionUsage
embassyAsync framework for embedded RustTask scheduling and concurrency
embedded-halAbstraction for microcontroller hardwareGPIO, I2C, PWM, etc.
ws2812-pioRGB LED control via PIOFor WS2812 lighting
dht-sensorReads DHT11/22 valuesTemperature & humidity data
servo-motorPWM-based servo controlDoor and window motors
lcd-i2c-driverLCD control over I2CDisplay status and readings
rtt-targetDebug loggingDevelopment and debugging
  • TBD