...is an open-source data acquisition system for MINT education. It is designed to be specifically robust, very easy to use, and low-cost while providing decent data rates as well as an extensive functionality. PhyESPx sensor kits can measure all kinds of physical parameters and transmit the acquired data to a web interface that can be accessed on tablets, laptops, or PCs. Multiple sensor kits can be used at the same time due to mesh-based (WiFi) data transmission, or can be combined within multi-axis charts for more complex experiments.
A PhyESPx sensor kit consists of a transmitter and one or more sensors. To use a sensor, attach it to the transmitter via the built-in hardware interface locking mechanism. Turn on the transmitter and access the corresponding user interface via the QR code on the transmitter housing, which can be scanned with a smartphone or tablet, or the device hub, which is accessible via a local web service. Start data acquisition using the controls within the web interface or the buttons on the transmitter and watch your readings being displayed in real-time. To analyze or process the acquired data further, export it in various formats, such as .csv or .json.
PhyESPx heavily relies on commercial sensor circuits for reading physical parameters. Those are available in a huge variety and often contain ADCs with I²C or SPI support, however, you may also have to manually install ADCs yourself. A PhyESPx sensor consists of the sensor circuit (with ADC), a little flash memory chip (containing the sensor ID for automatic sensor detection), and an interface connector (for electrical connection to the transmitter), which are fitted in a 3d-printed enclosure.
The PhyESPx transmitter is based on the ESP32 microcontroller, which supports the I²C and SPI protocols, has a built-in WiFi interface, and is powered by a LiPo battery (600mAh --> approx. 4:30 runtime). The transmitter is responsible for reading out the data from the sensor and wirelessly transmitting it to the connected user interfaces.
The web interfaces for the different sensors as well as the device hub are provided by a central web server. Once loaded, the device hub will search for PhyESPx transmitters that are available from the client device and allow to access their web interfaces (while displaying some information on the attached sensors). The web interface (which is sensor-specific) establishes a websocket connection to the transmitter and can be used to control and analyze the experiments.
Further information for building and setting up the sensor kit can be found on this page. You will need a very basic understanding of microelectronics, networks, and some tools (including soldering eqipment and a 3d printer). If you have any questions, I'm happy to help you!
PhyESPx is...
- easy to set up and handle (simple control and connection management with a web UI)
- robust and failsafe (can also be used by younger students)
- extremely inexpensive (transmitter unit parts cost ≈ 15€)
- scalable (several sensor kits can be operated in parallel within one network)
- cross-platform usable (works with nearly all OSs and on laptops, tablets, phones)
- secure in terms of privacy (there's no need to install an app on the client device)
- extendable (you can develop new sensors according to your needs)
- open source (here you go)
...feel free to contact me or open an issue! Maybe the project website can help?
(1) The PhyESPx web interface contains structural and design elements from the phyphox project, which is distributed under the GNU 3.0 license.
(2) The PhyESPx web interface uses the javascript library chart.js. Chart.js is distributed under the MIT licence.