Receive iPhone Sensor Stream data in ARC, map accelerometer, gyro and compass to variables for EZ-Script control and visualization.
How to add the Iphone Sensor Stream Server robot skill
- Load the most recent release of ARC (Get ARC).
- Press the Project tab from the top menu bar in ARC.
- Press Add Robot Skill from the button ribbon bar in ARC.
- Choose the Misc category tab.
- Press the Iphone Sensor Stream Server icon to add the robot skill to your project.
Don't have a robot yet?
Follow the Getting Started Guide to build a robot and use the Iphone Sensor Stream Server robot skill.
How to use the Iphone Sensor Stream Server robot skill
This ARC skill lets your computer receive live sensor data from an iPhone or iPad using the Sensor Data Streamer app by FNI. The mobile device sends its sensor readings over your network, and this skill in ARC reads that data and saves it into ARC variables. You can then use those variables in EZ-Script, ARC controls, or other skills.
What you need
- A Windows PC running Synthiam ARC.
- An iPhone or iPad with the Sensor Data Streamer app installed.
- Wi‑Fi network that both devices are connected to (same local network is strongly recommended).
App download and details: https://itunes.apple.com/app/sensor-data-streamer/id608278214?mt=8
How it works (beginner explanation)
- You start the Sensor Data Streamer app on your iPhone/iPad and enable streaming. The app will stream sensor values (numbers) like acceleration, rotation, and compass heading.
- You add the iPhone Sensor Stream Server skill to your ARC project.
- The skill receives the incoming data and places it into variables (named containers that store values).
- Your ARC project can read those variables to make decisions (for example: “If the phone tilts left, turn the robot left”).
On-screen display (the dots)
The skill includes a simple visual indicator to help you confirm the sensors are changing as you move the phone:
- Dark green dot = Accelerometer (movement/tilt acceleration)
- Light green dot = Gyroscope (rotation)
- Blue dot = Compass (heading/direction)
If you move or rotate the device and the dots move, you know ARC is receiving live updates.
Configuration: assigning sensor values to variables
Click the Config button to choose which sensor readings get saved into which ARC variables. This is important because ARC needs variable names to store the incoming values.
What “assign to variables” means
Think of a variable like a labeled box. The phone sends numbers, and you decide which box each number goes into.
Example variable names might be $accelX, $gyroZ, or $compassHeading.
After you assign variables, you can use them in EZ-Script. For example:
# Example idea (variable names depend on your Config settings)
# If the device tilts right (accel X is positive), turn the robot right
IF ($accelX > 0.2)
# Put your turning commands here
ENDIF
Basic troubleshooting
- No data received: Ensure the phone app is streaming and both devices are on the same network.
- Dots don’t move: Move/rotate the device more dramatically to confirm sensor changes.
- Variables stay empty/zero: Re-open Config and verify the sensor fields are mapped to variable names.

Could you show a how to video on this please. How does a Microsoft PC stream data from an iPhone? Can the Microsoft PC download the app from an iTunes Store? Didn't think that was possible. This skill would be very useful if I could get it to work and understand it. Thanks
app not available in your country / region?
Yes that could be. I tried to download the app also and it's not available. Is there a similar app for a Microsoft computer or google phone? To be able to stream the data from built in sensors would be nice.