Since version 1.1.0, phyphox supports external devices via Bluetooth Low Energy. However, before communicating with an arbitrary device, phyphox needs to know how to talk to this device. This page presents all options, ordered from simple variants and devices that work right of the box to advanced function for which you need some IT knowledge:
- Devices directly supported by phyphox
- Devices supported through external files
- Adding support for another device
- Supporting your own devices (e.g. Arduino)
If you are looking for a specific device, you can check out the Bluetooth device database in our wiki. However, it might be helpful if you first read below about the difference between directly supported devices and those with external configuration files.
Devices directly supported by phyphox
If a Bluetooth LE device is available to us for direct testing and if the manufacturer approves of it, phyphox provides simple time-based logging of external sensors without the need for any external resources. You can simply select the option to scan for Bluetooth devices from the “+” in the main menu and devices in range will be listed.
If the device is directly supported by phyphox, it is shown in white and after selecting it, phyphox will offer one or more experiment configurations. If it is not supported, it is shown in gray. In this case or if you need a more complex setup or data analysis, you should check out external configuration files for your device.
Devices supported through external files
If a device is not directly supported by phyphox (usually simply because we do not have that device or because generic support does not make sense) or if you need a specific configuration with additional data analysis, you can load a configuration from an external source. This can for example be done by scanning a QR code for the experiment configuration. In this case, you do not go through the scan process in the main menu (as described above), but the experiment configuration will start its own scan. You can also add the experiment to the main experiment list of phyphox (it will ask you about this), so you have that configuration ready any time you want to use your Bluetooth device.
Where do you get such external configuration files? A good starting point to search for them is our Bluetooth device database or our forums where our users (hopefully) share their own creations. If you cannot find a configuration for your device, of course you can create your own and share it with others…
Adding support for another device
So, if you could not find any existing support or if you need a very specific configuration, you can create your own configuration. This gives you maximum flexibility. You can read out almost any Bluetooth LE device with phyphox, combine devices of different brands, apply data analysis and plot your data in any combination you want. However, you will need some basic IT knowledge and you will need to learn how Bluetooth LE (or more specific, the GATT profile) works in general. Also, you will need to figure out how your device works in particular. If it is already supported by phyphox or by some external configuration, you can copy the necessary parts from there – otherwise you either need some documentation on the communication or you will need to reverse engineer it (if this is ok for the manufacturer who might even help you).
The configuration file can be generated with our editor (note that if you are using a beta version of phyphox, the editor might not yet reflect all features) or manually with a text editor (see our Wiki for details). In any case you should check out the documentation of our Bluetooth Low Energy interface to learn about your options.
Do not hesitate to ask for help on our forums and please share your results there or in our Wiki.
Supporting your own devices (e.g. Arduino)
If you are not looking to support a commercial device, but instead would like to add support for your own custom devices, you can of course do so as well. Your device obviously needs to be able to communicate over Bluetooth LE by setting up a GATT server. This way, you can share or receive data from an Arduino, a Raspberry Pi, a notebook or any other BLE-capable device. An example project for Arduino or ESP32 can be found in our Wiki. You can simply start by modifying this example for your needs.
You can share the configuration for your own project through QR codes or you can even let your device supply the configuration to phyphox directly. The latter is more complicated and requires more memory, but any user of your device can simply scan for your device from the “+” button in the main menu and phyphox will list it in white as if it was supported directly. Details on this can also be found in our documentation of the Bluetooth Low Energy interface.