Button 1 (Top) — 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 (Bottom) — 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 OLED display 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. If the device is set to measure from the front this is indicated at the top of the display as well.
04 · Why not
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 for faster colour cycling and full brightness.
To exit press any of the buttons other than the power button. 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 can discover it, unpair and repair it from the Bluetooth settings on your phone.
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, this can be changed from within the settings.json config file by changing the ble_name config item. Change it via the settings file, or request a specific name before assembly. Note the name has a limit of 20 characters.
06 · Worth checking if you need one
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. Best approach is to imagine you're standing in a cube and firing at every face and corner while rotating 90° after each shot. No need to be exact.
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.
07 · 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.
Measure From: — lets you choose whether to measure from the front or back of the device.
Update / Settings — firmware update and advanced config.
Play Snake — hidden bonus for when you're waiting around.
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.