Record every ride. Relive every moment.
Coaster Tool records roller coaster motion on iPhone and Apple Watch. Review force charts, calibration, replay, comparisons and estimated 2D/3D tracks.
Need help?
Report issues through GitHub Issues or by email using the links below. In your issue or email, include the device model, OS version (iOS/watchOS), app version, a description of the problem, expected and actual results, and specific steps to reproduce it. GitHub Issues are public; whichever method you use, do not include precise locations, private photos or full recordings.
Contact developer (public issues) · Email feedback: xiaoyangyuxuan@126.com
Recording with the screen locked
Motion permission is needed; location is optional. Start recording in the foreground with location permission to continue on iPhone after locking the screen or switching apps, with the system background location indicator visible. Apple Watch also supports background recording with location permission. Without it, both devices stop and save when entering the background. Each recording is limited to 20 minutes.
Background recording remains subject to system scheduling and may have gaps or be terminated. Unsaved iPhone recordings may be lost if the app is force-quit or terminated by the system. Missing samples are not fabricated.
Requires iOS 17 or later and watchOS 10 or later. Live iPhone XYZ readings use uncalibrated device axes; Watch shows raw combined force. Train-axis forces after recording require the corresponding calibration. Pressure and relative altitude are also recorded when the device provides them; other sensors continue recording if a barometer is unavailable.
Confirm before stopping
Stop confirmation is configured separately for iPhone and Apple Watch and is off by default. When enabled, tapping stop asks for confirmation; otherwise, recording ends immediately. You can also change the Watch preference from Apple Watch settings & sync on iPhone. Offline changes sync when connected, and changes received during recording apply to the next recording. Keep both apps up to date so settings can sync.
Explore without a real recording
In History, load a demo ride and open its details to explore force charts, replay and tracks. Demo motion data is clearly marked as synthetic, not a real measurement.
Calibration and 2D / 3D tracks
Tracks require complete gravity and forward-direction calibration, a valid geographic heading and GPS observations accepted by quality checks within the same continuous motion-data segment. Saving a new analysis range in Range & Calibration recalculates the shared 2D / 3D track; restore the full recording and save to recalculate the entire ride. Raw samples remain. When these conditions are not met, you can still record and view available force data, but there is no inertial-only or GPS-only track. Estimates drift and depend on movement and fit. The app offers no ride-safety certification or professional engineering measurements.
Barometric altitude is relative to the first valid barometer sample in the recording and can assist altitude estimates after GPS passes quality checks. Trimming the analysis range does not reset that reference. A barometer does not replace GPS or geographic heading and cannot generate a track on its own.
Automatically trim the ride interval
In Range & Calibration, choose “Auto trim: lift / launch to brakes” to suggest an interval from the lift or launch through the final braking phase. Native recordings need completed XYZ calibration; detection does not depend on GPS. Adjust the suggestion or restore the full recording, then save to update statistics, replay, comparisons, exports and tracks. If detection is unreliable, your current selection stays unchanged for manual adjustment. Four-array imports lack tilt information, so a smooth lift may need manual inclusion; trimming these imports does not generate tracks.
Smoother charts, preserved measurements
Native force charts suppress brief isolated spikes and high-frequency jitter for display while retaining sustained peaks and real gaps. Point selections, replay readings, statistics and CSV / JSON use measurements without this display filter and may differ slightly from the drawn curve. Raw calibration charts and imported four-array forces do not receive this display filter.
Transfers and data retention
Watch recordings transfer to the paired iPhone via WatchConnectivity. Local recordings, photos, Watch originals, the inbox and note drafts are excluded from system device backups; ordinary preferences may be backed up. Before migrating or reinstalling, manually create an iCloud backup without notes, or export the recordings you want to keep. Recording JSON keeps notes; photos must be saved separately.
Watch marks a recording as synced only after iPhone validates and saves it and returns a receipt. If iPhone capacity is full, the inbox file and Watch original are kept, and Watch can still record offline. After freeing space or increasing capacity, retry from sync settings.
Recording space and purchases
You can save 50 recordings on iPhone for free. Check usage in Settings → Keep every ride → Recording space, or Recording space in History. A one-time purchase of “100 recordings” raises the total limit to 100; “Unlimited recordings” removes the recording count limit. Both are non-consumable purchases, not subscriptions. Prices are shown by the App Store. Upgrades are separate purchases at the full displayed price, without credit for earlier purchases. They do not add iCloud storage or change the 20-minute recording limit or file-size limits.
The Recording space entry usually appears at the bottom of History and moves to the top at 90% usage (45/50 or 90/100 recordings). All saved local records count, including demos and unreadable files kept on device. Starting a new recording when full opens the capacity purchase screen. Existing recordings remain available to view, edit and export; delete records you no longer need to free space.
Use “Restore purchases” on the Recording space purchase screen to restore valid capacity purchases for your current App Store account. It does not restore recordings. The highest valid tier applies; a refund or revocation returns capacity to the remaining valid tier or the free 50 recordings, keeping existing records. Manual iCloud backup and restore are available for free.
Purchase not unlocked, pending approval or refunded?
If a purchase has not unlocked capacity, check that the App Store uses the account that made the purchase, return to the app or tap “Restore purchases” in Recording space. Your iCloud account can differ from your App Store account. Restoring purchases restores valid capacity entitlements; recordings and photos must be restored separately from an iCloud snapshot. If payment is interrupted or an error appears, check your current entitlements before buying again.
Pending approval does not unlock additional capacity. You can close the purchase screen; the app refreshes entitlements when it receives an approved transaction. If a request is declined or expires, actively recheck its status before deciding whether to retry. Follow Apple’s refund instructions to request a refund; approval is determined by Apple. After a refund, the highest remaining valid capacity applies and existing recordings are kept.
See the Apple Standard End User License Agreement (EULA) for app terms, and Apple Account and iCloud privacy information for iCloud service data processing.
Manual iCloud backup and restore
Open Settings → Record backups to list, create and restore manual snapshots for free. No purchase or purchase restoration is required. You start each backup yourself; there are no automatic backups or two-way sync. Backups use your own iCloud Drive storage, so you need to sign in to iCloud, enable iCloud Drive and have sufficient space.
New snapshots contain recordings saved on the iPhone, precise GPS, barometer data, calibration and photos, excluding all notes, settings and unsynced Watch files. Local notes remain, but cannot be recovered from new snapshots. Confirm the status says “Uploaded to iCloud” before changing devices or uninstalling; waiting for the system to upload does not mean the upload is complete.
Choose and confirm a snapshot to restore. Only missing records that have not been deleted on this device are added; existing edits are kept. Restore also respects your current recording capacity. If there is not enough room for all records to be added, none are imported. Free space or increase capacity, then retry.
Backups include the complete raw samples of all saved recordings, beyond the selected recording or analysis range. Trimming the analysis range does not remove GPS or other samples outside that range from a snapshot. Watch recordings must first transfer successfully and be saved on iPhone to be included. Opening the backup page reads the existing snapshot list and upload status without creating a new snapshot.
Backup or restore did not finish?
Check that you are signed in to iCloud with iCloud Drive enabled, and that your network, iCloud storage and local device storage are available. Waiting for upload does not mean a complete copy is already in iCloud; refresh the list to check. If a snapshot is downloading, wait and tap it again to restore. After switching iCloud accounts, check the snapshots in the refreshed list.
No new snapshot is created if there are no available recordings or a local recording cannot be read; original files are kept. Each snapshot is limited to 10,000 recordings and 256 MiB, with at most 16 MiB per photo. Unlimited recording capacity does not remove these limits. Large recordings can be exported individually as JSON, with photos saved separately; full recording JSON currently has no manual re-import option.
If there are too few recording slots, the restore adds no recordings. After the capacity check passes, a disk write interruption can leave some recordings successfully restored. They are kept; resolve the local storage issue and retry. The retry skips them without creating duplicates or overwriting existing edits.
Importing force JSON
Use Import JSON in History or the system’s Open in CoasterTool action for the four-array Vertical, Lateral, Longitudinal and Combined force format. Preview the data and confirm the sample rate (50 Hz by default) before saving; the file contains no sample rate or ride date. Imports preserve all four source channels and support range selection, replay and comparisons, but cannot be recalibrated or generate tracks. Full CoasterTool recording JSON currently has no manual reimport option; use iCloud snapshots to restore recordings and photos in the app.
Exports and privacy choices
PNG, CSV and four-array JSON contain no GPS coordinates. Recording JSON includes raw locations, sensor data, calibration and notes. Replay photos are not included in these exports and must be saved separately.
Managing copies
Deleting an iPhone recording and photo does not delete Watch originals, exports or iCloud snapshots. Successful sync does not automatically delete Watch files. Manage cloud snapshots in Files → iCloud Drive → CoasterTool → Backups-v1. Uninstalling removes that device’s local data and deletion markers; supported older snapshots can still be restored manually after reinstalling or on a new device. Refunds do not delete local recordings or existing snapshots.
Older snapshots may contain notes and are not automatically changed or deleted. Restoring a supported older snapshot can recover its notes; a new backup excludes them. Use Files to inspect and delete older snapshots you no longer need.
These system device backup exclusions apply to current local storage. They do not retroactively clear previously created system device backups, which may still contain note drafts saved by older versions. Manage those backups through the system’s backup controls.
Follow ride rules, secure your device and start recording before boarding. Do not operate it during the ride. Measurements cannot determine whether a ride is safe.