The DiscoX has four buttons across the top of the device — all operable with gloved hands.
1
Measure
menu: up
2
Measure
menu: down
3
Menu
menu: select
4
Power
on/off
In normal mode
Button 1 — take a measurement, or wake the laser if it's timed out.
Button 2 — short press: take a measurement. Hold 2s: toggle Disco mode.
Button 3 — open the settings menu.
Button 4 — power on/off.
In menu mode, Buttons 1/2/3 become scroll-up, scroll-down, and select. Button 4 still powers the device off.
02 · Field operation
Taking readings
Press Button 1 or Button 2 (short press) to take a reading. The device waits until the sensors have settled before accepting a shot — hold the device still during readings.
LED states
RedStabilising — hold the device steady.
GreenStable — shot recorded and sent.
PurpleLeg detected — three beeps confirm.
After a shot the display freezes on the recorded reading and the laser turns off. Press any measure button to re-enable the laser, then press again to take the next reading.
Leg detection
When three consecutive shots agree in bearing, clino, and distance (within configurable tolerances), the DiscoX recognises a complete survey leg. The LED pulses purple, the laser flashes briefly, and the buzzer beeps three times. The display stays frozen on the leg data until you press a measure button to continue.
Laser wake
If the laser has auto-timed-out, pressing any measure button re-enables it with a short beep before taking the shot.
03 · On-screen
Display
The 128×128 pixel OLED shows three values from your most recent stable shot:
Distance (top) — in metres, to two decimal places.
Azimuth (middle) — compass bearing, in degrees.
Inclination (bottom) — clino angle, in degrees.
The top-left shows BT when Bluetooth is connected, with a count of pending (unsent) readings beside it. The top-right shows a proportional battery bar — no guessing when you're underground.
04 · For the survey party
Disco mode
Hold Button 2 for 2 seconds to toggle disco/rave mode. The laser shuts off and the NeoPixel cycles through colours. Shake the device to kick into wild mode — faster cycling, full brightness.
Hold Button 2 again for 2 seconds to exit. The laser restarts and the device returns to normal operation.
05 · Connectivity
Bluetooth & memory
The DiscoX works with current versions of SexyTopo and TopoDroid via a long-range C++ implementation of the SAP6 BLE protocol. The device advertises continuously, so nearby phones and tablets will discover it automatically.
Once connected, the device flashes blue, a BT label appears in the top-left of the screen, and live readings are pushed directly to your survey app.
Note · BLE naming
Each DiscoX ships with a unique Bluetooth name in the format SAP6_[Nickname] — for example SAP6_Dragon. Change it via the settings file (see below), or request a specific name before assembly.
06 · Configuration
Settings
All common settings are accessible from the onboard menu — press Button 3 to open it.
Onboard menu
Enter Calibration — run Long or Short calibration, perform a Mag Field Check, or view last results.
Delete Saved Shots — wipe any pending readings stored in flash.
Update / Settings — firmware update and advanced config.
Play Snake — hidden bonus for when you're waiting at the surface.
Advanced: config.json
Go to Menu → Update / Settings → Edit Settings File. The DiscoX reboots into USB drive mode and appears as a drive called DISCOX. Open config.json, edit values, save, eject, then hold the power button to restart. Any setting you omit uses its default.
Measurement & stability
stability_tolerancedefault 0.4
Degrees the sensors must converge within before a shot is accepted. Lower = stricter.
stability_buffer_lengthdefault 3
Consecutive stable samples required before accepting a reading.
ema_alphadefault 0.3
Exponential moving average smoothing. Lower = smoother but slower-reacting.
laser_distance_offsetdefault 0.162
Device length in metres, subtracted from raw laser distance so readings are station-to-station.
Leg detection
leg_angle_tolerancedefault 1.7
Max difference in degrees between three consecutive shots' bearing/clino to count as the same leg.
leg_distance_tolerancedefault 0.05
Max difference in metres between three distance readings for leg detection.
laser_wibbledefault true
Blink the laser on/off in quick succession when a leg is detected.
Anomaly detection
anomaly_detectiondefault false
Enable warnings when nearby metallic objects may be distorting the magnetic field.
mag_tolerancedefault 10.0
Magnetometer field-strength tolerance in degrees from expected local field.
grav_tolerancedefault 10.0
Accelerometer magnitude tolerance in degrees.
dip_tolerancedefault 10.0
Magnetic dip-angle tolerance in degrees.
Calibration
cal_mag_consistencydefault 0.5
Angular consistency window in degrees for the magnetometer during calibration.
cal_grav_consistencydefault 0.4
Angular consistency window in degrees for the accelerometer during calibration.
cal_buffer_lengthdefault 5
Samples in the calibration consistency window.
cal_settle_msdefault 250
Milliseconds the device must remain stable before a cal point is accepted.
cal_ema_alphadefault 0.3
EMA smoothing used during calibration.
cal_timeout_msdefault 3000
Max ms to wait for stability before a cal point is force-accepted.
Timers & display
auto_shutdown_timeoutdefault 1800
Seconds of inactivity before automatic power-off (1800 = 30 min).
laser_timeoutdefault 120
Seconds of inactivity before the laser turns off to save power.
screen_brightnessdefault 255
OLED contrast level, 0–255.
Bluetooth
ble_namedefault "SAP6_Unicorn"
Bluetooth device name advertised to survey apps. Max 20 characters.
Firmware update
Go to Menu → Update / Settings → Update Firmware. The device enters the UF2 bootloader and appears as a removable drive. Drag and drop the new .uf2 file onto it — the DiscoX reboots when flashing is complete.
07 · Keeping readings honest
Calibration
Calibrate whenever you survey in a new area or if readings seem off. Run a Mag Field Check before each trip to quickly verify accuracy at your survey site.
To start: press Button 3 → Enter Calibration → choose a type.
80 readings
Long calibration
The most accurate option. Runs in two phases automatically.
Phase 1 — Ellipsoid (56): aim in a wide variety of directions. Spread points evenly across the sphere — like touching every zone of a globe's surface. A coverage bar shows progress.
Phase 2 — Alignment (24): 3 sets of 8 readings. Each set aims at one fixed point; barrel-roll ~45° between shots. Pick 3 fixed points roughly 90° apart. Three beeps = next direction.
B1 record · B3 undo B1+B2 save · B2 hold discard
24 readings
Short calibration
Faster option for quick field recalibration.
Take 3 sets of 8 readings. For each set, barrel-roll the laser around a single fixed point, rotating ~45° between shots. The 3 points should be roughly 90° apart — e.g. ahead, right, vertically up.
The same 24 readings fit both ellipsoid and alignment, so this is quicker but less thorough than the long version.
B1 record · B3 undo B1+B2 save · B2 hold discard
Field check
Mag field check
Verifies calibration accuracy without re-running a full cal.
Shoot a fixed target, walk to it, shoot back. Repeat for 3+ pairs in different directions. The device records each pair's bearing error and calculates an overall correction amplitude.
A consistently high amplitude means it's time for a full long calibration.
B1 take shot B2 finish (after 2+ pairs)
Quality metrics
After calibration the screen shows three quality scores. Lower is better in all cases. View them any time via Menu → Enter Calibration → View Last Cal.
Mag — magnetometer ellipsoid fit uniformity.
Grav — accelerometer ellipsoid fit uniformity.
Acc — final accuracy in degrees (the most important number).
EXCELLENT < 0.25°ACCEPTABLE < 0.5°
Tip
For best results, calibrate in the same magnetic environment as your survey — i.e. away from bolts, helmet lights, and SRT kit. Anomaly detection will warn you if your calibration is being contaminated.