MpW sensor (Multipurpose wireless sensor)
In modern office environments, there is a growing need to collect reliable and accurate information about various aspects of the workspace. Multipurpose sensors play a good role in fulfilling this requirement by gathering data on different environmental parameters and user behavior. These sensors are designed to be versatile, cost-effective, and easy to install, making them ideal for monitoring office, and other indoor spaces efficiently. The big picture is to create a large network of sensors to garner a comprehensive understanding of the usage of objects and activities happening within space.
We made a multipurpose sensor node with low power consumption for gathering ground truth data from trivial-sounding things, such as the usage of chairs, doors or whether a coffee pot has finished making coffee. The device has the option to switch between different modes depending on what events the user would want to detect. When an event happens, the sensor sends a Bluetooth advertisement to inform about whatever the sensor is tracking. For example, if a sensor is attached to a door it starts sending advertisements when the door is left open.
Here you can see the schematics for the first and final designs
We used the nRF Connect SDK to build the software for our product. The SDK integrates the Zephyr Project, which is a real-time operating system (RTOS) optimized for resource-constrained devices. The SDK also has a free extension for VS Code so that became our IDE of choice. With these specialized tools, usage of the C programming language was basically necessary which meant the development process was quite challenging at first without prior experience. Luckily for us, the documentation of the SDK and Zephyr was detailed and helped us a lot during the project.
In the main loop, the application fetches and reads the data from the accelerometer, processes it according to the selected mode and sends a Bluetooth advertisement if needed. Other functionalities include managing the button presses and controlling the LED.
We used Bluetooth 4 with Bluetooth low energy (BLE) for our prototype for the low power consumption and compatibility with Helvar’s Bluetooth mesh. We use two data types for the advertisement: The complete local name (0x09) and manufacturer specific data (0xFF). The name is used to identify each device if there are many and the manufacturer data is used to display the mode the device is set on (43 68 61 69 72 = Chair).
1st Design’s Enclosure
This enclosure was kind of bulky but came out nicely. The user would slide the PCB inside the bottom part and then snap the top part on top, locking the PCB inside. The top part also had a spot for the display and a hole for the button. The measurements were quite good for a first design, because the PCB was tightly shut inside and couldn’t move around.
2nd Design’s Enclosure
This design was more compact, partly because the PCB was smaller, but also because we made the walls thinner. The lid was also easier to remove, but still tight enough so it wouldn’t accidentally fall off. The lid had holes for the button and LED, so that the user could see the mode colors and press the button to switch modes. The designs shape raised some questions because it wasn’t symmetrical. The reason for this shape was the idea to make the product resemble an “A” shape, as in Aalto. Unfortunately, we didn’t have time to shape this dream into reality, so we were left with this oddly shaped box.
We also made a cap for the button, to make the product look and feel nicer. The way this button cap works is that the user puts it on top of the button, and then closes the lid. The button cap’s bottom surface is larger than the hole for the button, so the lid holds it in place. The cap sticks out of the hole so the user can still easily press the button.
Muhammad Qaisar Nadeem
Links and files
- KiCad design files:
- Gerber files:
- 3D-printed enclosure:
- License: MIT License