About This Project

The goal of this project is to create an open-source, wireless sensor that can monitor key aspects of industrial machine health (vibration, acoustic, temperature) as well as certain environmental parameters (temperature, humidity) to detect and diagnose machine defects, as well as make predictions about remaining machine lifetime and overall status of health.

Project Design Criteria

These criteria were informed by conversations with Prof. Dumond at the start of the project (Jan 2021).

  1. Must be able to run on a battery (powered through a ~3V line) for at least a year.
    • Ex: CR-2477N battery, 3V, 950 mAh -> 0.036 mAh for 3 years, or 0.054 mAh for 2 years.
  2. Must withstand a temperature range of at least -40°C - +60°C (estimated outdoor conditions).
  3. Must have an idea of how to protect the hardware from dust and water (assumed 100% RH).
  4. Must allow for mounting by a screw base AND a magnetic mounting base.
  5. Pricing for one node:
    • ≤$100 – Happy
    • ≤$50 – Pretty good
    • ~$20 – Awesome
  6. Must be easy for a MechEng grad student to set up, use, and reconfigure.

Software Products Used

  • Sensor node code:
    • Written in C/C++.
    • Uses Simplicity Studio 5 as the IDE and using the Gecko: Bluetooth SDK (starting on version 3.1.1, and then moving to version 3.1.2 in April).
  • Gateway code:
    • Written in Python (to make it easier for others to configure).
    • Uses Thonny as the IDE on the Raspberry Pi (although Pycharm might make a better substitute).
    • Uses QT Designer 5 to create the skeleton GUI (and functionality is later added through Python).
    • Uses Maria DB for local database operations.
  • Altium Designer is used to create the skeleton schematic and symbol/footprints.

Component Status

⚪ Not started | 🔵 Started | ✅ Done | ❔ Need to learn more | ❓ Need help | ❕ Delayed (within my control) | ❗ Delayed (beyond my control) | ❌ Scrapped (exceeds abilities / constraints)

Component Benchmarked? Picked? Purchased? Interfaced? In PCB Design? Tested?
Accelerometer (final choice) 🔵
Microphone (final choice) 🔵
Thermometer (final choice) 🔵
Humidity (final choice)
Amb. Pressure (research)
RPM (research)
Motor Current (research)
Wireless Protocol (final choice) 🔵
Node Transceiver (final choice) 🔵
Node Microprocessor (final choice)
Node Battery 🔵 🔵
Gateway Transceiver (final choice) 🔵 🔵
Gateway Microprocessor (final choice)
Cloud Infrastructure 🔵
Packaging (next steps) 🔵 🔵

Sensor Selection Criteria

More about each sensor can be found on their individual pages.


  • Mechanical bandwidth over 3000kHz (which means ODR of at least 6000kHz)
  • Individual price under $60
  • Current consumption under 300mA
  • Preferably digital output (for power and expense considerations)

Temperature Sensor

  • Must be self-calibrating, or not require calibration
  • Must be linear
  • Must have an output voltage range that could be accessed in full by processor ADC


  • Signal bandwidth up to at least 20kHz (ultrasonic not necessary)
  • Individual price under $10
  • Preferably digital output (for power considerations)
  • Must be able to withstand amplitudes of >100dB
  • Must not have built-in noise cancellation.


  • Must have some method of reducing or eliminating condensation
  • Current consumption under 100mA
  • Preferably digital output

Speed (RPM) Sensor

  • Must have a sampling rate that can capture a fast-moving machine (above 1000 RPM)
  • Individual price under $40
  • Current consumption under 100mA

Current Sensor

  • Must be functional without taking apart the machine
  • Individual price under $40

Network Protocol

  • Must allow communication after 20m
  • Abundant online resources and developer support
  • Preferably allows nodes to retransmit data from other nodes
  • Must have a conceivable network size of over 100 devices
  • Must have self-healing capabilities

Node Processor and Transceiver

  • Must allow low-power sleep mode
  • Must include many GPIO pins
  • Preferably includes ADC
  • Preferably explicitly optimized for battery-powered applications
  • Must be supported by developer toolkit from the manufacturer

Gateway Processor

  • Must be easy for a MechEng grad student to access and program
  • Abundant resources and online support
  • Must be powered by a wire

Gateway Transceiver

  • Must be compatible with node network

Cloud Network

  • Must function without reliable Wi-Fi
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License