@

XiaoUke v1 FAN2025

Heroshot

Macropad with capacitive touch sensors that you can use as MIDI or keyboard with drag and drop codes

Introduction

This project was created for combining my interest of HID keyboard, Xiao boards and making use of their limited pins and testing capacitive touch sensing

The motivation for this project came from me trying to test out different projects and fuctions such as capative step response from Fab Academy Input week, HID input and Qwirkey board that was made into a workshop some years ago by Vik Olliver at FAB23 Bhutan, and button matrix (because while I like qwirkey, I wanted to have more buttons)

Key features include:

  • MIDI/HID
  • 9 button matrix
  • 4 Capacitive touch input
  • three pin setup with one GPIO, 5V, GND for free input or output
  • 3D printed keys

Research

Before starting the project, I conducted extensive research on wireless sensor networks and IoT communication protocols:

Communication Protocols

I evaluated several wireless communication options:

  • WiFi: High bandwidth, good range, but higher power consumption
  • LoRa: Low power, long range, but limited bandwidth
  • Bluetooth: Low power, short range, good for local networks
  • Zigbee: Mesh networking, low power, moderate range

Sensor Selection

For environmental monitoring, I researched various sensor options:

  • DHT22: Temperature and humidity, good accuracy, low cost
  • BME280: Temperature, humidity, and pressure, I2C interface
  • MQ-135: Air quality sensor for detecting various gases
  • PIR Sensor: Motion detection for occupancy monitoring

Power Management

Battery life was a critical consideration. I researched:

  • Sleep modes and wake-up strategies
  • Power consumption optimization techniques
  • Solar charging solutions for outdoor deployment
  • Battery monitoring and low-power alerts

Making Process

The development process was divided into several phases, each building upon the previous work:

Phase 1: Prototype Development

Started with breadboard prototypes to test individual components and communication protocols. This phase involved:

  • Setting up ESP32 development environment
  • Testing sensor readings and calibration
  • Implementing basic MQTT communication
  • Creating simple web dashboard for data display

Phase 2: PCB Design

Once the prototype was working, I designed custom PCBs for the sensor nodes:

  • Used KiCad for schematic and PCB layout
  • Designed for ESP32-S3 module with minimal external components
  • Included power management circuit with battery charging
  • Added connectors for various sensor modules

Phase 3: Enclosure Design

Created 3D printed enclosures for weather protection:

  • Designed in Fusion 360 with parametric modeling
  • Included ventilation for sensor accuracy
  • Added mounting points for easy installation
  • Used weather-resistant materials (PETG filament)

Phase 4: Software Development

Developed the complete software stack:

  • Arduino firmware for sensor nodes
  • MQTT broker setup and configuration
  • Web dashboard using HTML, CSS, and JavaScript
  • Database integration for data storage

Bill of Materials (BOM)

Complete list of components and materials used in this project:

Item # Ref. Comp # Description Package Link
1 U1 Xiao-rp2040 Seeed studios XiaoRP2040 MPN-102010428 Seeed Studio
2 U2 BME280 Temperature/Humidity/Pressure Sensor QFN-8 Adafruit
3 U3 MQ-135 Air Quality Sensor DIP-6 SparkFun
4 R1 10KΩ Pull-up Resistor 1206 Mouser
5 C1 100µF Power Supply Capacitor 1206 Digi-Key
6 BAT1 18650 Lithium Battery 3.7V 2600mAh 18650 Adafruit

Final Outcome

The completed Smart Sensor Network successfully demonstrates a working distributed monitoring system with the following achievements:

Performance Results

  • Battery Life: 7-10 days continuous operation on single charge
  • Range: 50-100 meters indoor, 20-30 meters outdoor
  • Data Accuracy: ±0.5°C temperature, ±3% humidity
  • Update Frequency: 30-second intervals during active monitoring

Key Features Delivered

  • Real-time environmental monitoring dashboard
  • Historical data visualization with charts and graphs
  • Mobile-responsive web interface
  • Alert system for threshold violations
  • Data export functionality for analysis

Lessons Learned

This project taught me valuable lessons about IoT development:

  • Power Management: Sleep modes are crucial for battery life
  • Network Reliability: MQTT QoS levels help ensure data delivery
  • Sensor Calibration: Environmental factors significantly affect readings
  • Enclosure Design: Proper ventilation is essential for accurate measurements

Future Improvements

Several enhancements could be implemented in future iterations:

  • Solar panel integration for indefinite operation
  • Machine learning algorithms for predictive analysis
  • Integration with home automation systems
  • Additional sensor types (light, sound, vibration)
  • Mesh networking for extended range