Arduino Library

📢 Welcome “phyphox BLE”, a library for easily setting up Arduino or ESP32 experiments in phyphox. Check it out:

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

Version 1.1.6: White Noise and Dual Tone Generator

Version 1.1.6 is rolling out with a white noise and dual tone generator plus many cute little improvements.


Changes on Android and iOS

  • Audio spectrum now allows generating white noise.
  • Tone generator supports dual tone generation.
  • When leaving an experiment that ran for more than 10 seconds, phyphox shows a confirmation dialog.
  • Improved stability of start detection on sonar (especially for iOS).
  • New “config” endpoint in the REST API (remote access) to allow reading buffer, input and export configuration.
  • Background slightly darker (the increasing number of apps with dark-mode make our old colors look “washed out”).
  • Improved units for slopes (i.e. m/s²/s becomes m/s³ and m/s² / rad/s² becomes m).
  • Fix: Quotation marks in value element mapping break remote access.

Changes on Android

  • Direct config transmission via Bluetooth now also accepts plain xml.
  • Set manifest attribute to allow unencrypted http.
  • Fix broken screenshot for interactive/fullscreen graphs.
  • Fix crash if time output of location input is not used.
  • Fix crash for graph axes with precision 0 or 1 on Samsung S6 due to Java bug
  • Allow using vendor-specific pressure sensor if detected by name.
  • Prevent infinite loop in periodicity analysis module.
  • Fix: Graph forgets zoom state after screen off / app switch / scroll to far tab.
  • Fix: Cannot subscribe to characteristic on Chrome OS.
  • Fix: Edit field does not respond to update from other user inputs.
  • Make static buffers properly unwritable to prevent unexpected behavior by writing from modules with mixed outputs and to allow initializing them from external sources like Bluetooth.
  • Fix crash if finished network request is reported to not visible button.
  • Fix crash if models use 2D sensor data.

Changes on iOS

  • Prevent duplicate additions to the experiment collection
  • Share queue among data input of sensors, BLE, GPS and the analysis process to avoid receiving input data during the execution of an analysis seqeuence.
  • Major changes in analysis cycle logic to be closer to Android version: Analysis is run periodically regardless of sensor input, there is a run before start, “onUserInput” is used as documented, input clear is done before writing the output.
  • Fix: Access error when opening configuration from “files” app.
  • Fix: No output on abs channel for 1D sensors.
  • Fix: Scrollable tab bar on iOS13.
  • Fix: Crash if audio permission is denied.
  • Disable refresh rate limit for value view elements for more fluent feedback.

File format update to version 1.10

  • Audio output now supports parametric tone and white noise generation.
  • New analysis modules: interpolate, loess and sort.
  • New functions in formula node: min, max and heaviside.
  • New attributes to preset timed run parameters.
  • New attribute “cycles” for every analysis module, which determines in which runs the module is used.
  • New attribute to send blocks of network connection service “http/post” to switch between JSON arrays and JSON numbers.
  • New response conversion function “none” for network connections, which is now the default.
  • New graph attribute unitYperX to explicitly set a unit for the slope (i.e. y/x).
  • Optimization attribute removed. (This was added very little advantage but a lot of confusion.)
  • Transfer of experiment configurations now supports requesting the transfer from a second characteristic (especially useful if you are using an Arduino library that does not support reacting to subscriptions).