DOWNRANGE

DOWNRANGE Operator Manual

8-Lane Rotating Target Trainer // Web Interface

Everything needed to run, build and administer training courses on the 8-lane rotating target trainer, from any phone, tablet or laptop browser — no app, no internet connection.

8 Lanes 4 Modes 3 Patterns EN / SI Rev A

01What this system is

Overview & concepts

DOWNRANGE controls 8 rotating targets. Each target sits flat at its home position, rotates 90° to an open (exposed) position on command, holds there for a set time, then rotates back home. Every lane is timed independently.

You drive all of it from a web page served by the controller itself. Connect a phone, tablet or laptop to the trainer's own WiFi, open the page, and you have the whole range in front of you. Nothing is installed, and no internet connection is involved at any point.

The three levels of organisation

Everything in the interface is built from the same three-deep structure. Learn this and the rest of the manual follows:

TermWhat it is
ModeA shelf holding its own library of courses. There are four: Beginner, Intermediate, Advanced and Experimental. Each keeps a completely separate copy of its courses.
CourseA complete training run, made of one or more levels played in order, top to bottom.
LevelOne stage of a course — typically one difficulty step. Made of one or more sections.
SectionThe actual timing block. Each section is one of three patterns — Sync, Chase or Random — with its own target selection and timings.
MODE Beginner Intermediate Advanced Experimental Own course library per mode. COURSE Course 01 - Ladder Course 02 - Chase Course 03 - Random + your own Runs its levels in order. LEVEL Level 01 Level 02 Level 03 ... One stage. Can be run on its own or as part of the run. SECTION SYNC CHASE RANDOM Targets + timings. The block that actually moves steel.
Mode → Course → Level → Section. A course auto-chains through its levels; a level plays its sections in order; a section is where targets, hold times and repeats are actually set.

Who can do what

There are two levels of access, and the split is deliberate: running the range never requires a login, changing it does.

ActionAny operatorAdmin only
Open All / Home All / StopYes
Run a full courseYes
Run a single levelYes
Test Run a Course (unsaved)Yes
Switch language EN / SIYes
Create, edit or delete a courseYes
Disable / enable a course or levelYes
Export / import the course libraryYes
Change WiFi settingsYes

02Safety first

Read before powering on
Warning

These targets are driven by 24 V motors with real torque. They rotate without warning the moment a command is sent — and commands can be sent from any browser connected to the system, which may not be the one in your hand.

  • Nobody downrange while the system is powered. A course can start from any connected device, and a running course keeps cycling on its own timer until it finishes or is stopped.
  • Keep hands clear of the rotation path when a lane shows anything other than HOME. A lane in EXPOSED is not finished — it is holding, and it will drive itself home when the hold time expires.
  • Stop is your emergency control. It is on every screen, at the top of the page, and it cuts all eight drivers immediately. Know where it is before you start a run.
  • Stop does not park the targets. It halts them wherever they happen to be, part-rotated included. Use Home All Targets to bring everything back to a known position before anyone approaches the target line.
  • Treat a FAULT as a physical problem. It means a lane did not reach its limit switch — usually a jam, an obstruction or a mechanical failure. Power down before investigating it by hand.
  • Confirm the lanes are at home before going forward. Read the lane grid on the course screen, and confirm visually. Do not rely on the page alone.
Before every session

Power up, press Home All Targets, and confirm all eight lanes report HOME before anyone moves forward of the firing line. This both parks the targets and clears any fault left over from the last session.

03Getting connected

WiFi, address, first load

The controller hosts its own WiFi access point out of the box. Nothing else is needed — no router, no internet, no app.

  1. Power the unit. The TFT screen on the controller comes up and shows the network mode and IP address.
  2. Join the trainer's WiFi from your phone, tablet or laptop:
    Network (SSID)Target_System_AP
    Passwordtargetrange123
    Your device may warn that this network has no internet. That is expected — stay connected to it.
  3. Open a browser and go to http://192.168.4.1. Type it in full, including http://, so the browser does not try to search for it.
  4. Wait for the boot splash. The badge and motto animate for about three seconds, then the control interface appears.
Tip

The splash is cosmetic only and never blocks the controls underneath. If you need Stop during those three seconds, tap where it will be — the press still registers.

Reading the controller's TFT screen

The small screen on the unit itself is the authority on how to reach it. It shows:

  • AP followed by an IP — the unit is hosting its own network. Join Target_System_AP and browse to that address.
  • WIFI followed by an IP — the unit has joined an existing network. Connect your device to that same network and browse to the address shown.
  • The active mode, course name and Level x/y when a course is loaded, or NO COURSE LOADED, plus the current phase in a pill at the bottom.
If the page will not load

Check that your device is still on Target_System_AP and has not silently switched back to a mobile network or a remembered WiFi with a stronger signal. Phones do this automatically when a network has no internet access. See Faults & troubleshooting.

Multiple devices at once

Several people can have the page open at the same time and every one of them can send commands. All displays refresh once per second from the same controller, so everyone sees the same phase, the same lane states and the same clock. There is no "control lock" — coordinate verbally.

04Reading the screen

Header, manual panel, breadcrumb

Three elements sit at the top of every screen and never change, no matter how deep into a course you are.

Special Boat Squadron | SL Navy
DOWNRANGE
8-Lane Target Command // Range Control Unit
ENSIAdmin Login
Manual Control — General Practice
● STANDBY
Open All TargetsHome All Targets StopTest Run a Course
Beginner / Course 01 - Ladder breadcrumb — where you are

Header

  • EN / SI — language. English is the default; SI switches all operational text to Sinhala. The choice is remembered in that browser only, so each operator's phone can be set differently. Unit branding and the motto stay in English by design.
  • Admin Login / Log Out — see Admin login.

Manual Control panel

The bordered panel below the header is always available, on every screen, to every operator. It holds the four range-wide controls and a live status line. It is covered in full in Manual control.

The status dot

DotMeaning
● Grey, stillNothing is moving. Standby.
● Orange, pulsingA course is running, or Open All is in progress. Targets are moving or exposed.
● Blue, pulsingHome All is in progress — lanes are driving back to home.

Next to the dot, the text shows the current phase — and, when a course is running, the course name alongside it (for example EXPOSED — Course 02 - Chase). If a lane has faulted it reads FAULT — Home All to clear instead.

Breadcrumb

Below the manual panel, a small trail shows where you are: the mode, then the course, then what the builder is doing — for example ADVANCED / Course 02 - Chase or Manual Control / Test Run. The current position is highlighted in orange.

Navigation back out is always by the buttons at the top of the content area — ← Courses and ← Modes. The browser's own back button is not used by this interface.

05Manual control

Open All · Home All · Stop

These three controls are independent of any course. They work from any screen, at any time, for any operator, and they override whatever is currently running.

Open All Targets

Drives all eight lanes to the open position and leaves them exposed. They stay up until you home or stop them. Use it for general practice when you simply want every target standing.

Home All Targets

Drives every lane back to its home switch, whatever state it was in. This is also the control that clears a fault and re-homes the range afterwards.

Stop

Cuts all eight motor drivers immediately and ends any running course. Targets halt where they are — including part-way through a rotation.

Test Run a Course

Opens the course builder for a one-off sequence that is never saved. See Test Run a Course.

Stop vs Home All

Both halt a running course and both clear a fault. The difference is where the steel ends up: Stop freezes the lanes in place, Home All parks them. Before anyone walks downrange, always finish with Home All and confirm every lane reads HOME.

What happens if you press them mid-course

  • During a running course — any of the three ends the run. The course does not resume; to continue you start it again from the beginning, or start the level you want from the course screen.
  • Open All while homing — the home operation is abandoned and the lanes reverse to open. The reverse also holds: Home All cancels an in-progress Open All.
  • Home All after a fault — the fault clears and every lane, including the faulted one, is commanded home. If the mechanical problem is still there, that lane faults again within six seconds.

06Test Run a Course

Ad-hoc sequences, never saved

Test Run a Course in the Manual Control panel opens the full course builder, pre-loaded with a working sequence, and runs whatever you leave in it once — without writing anything to the device. Nothing is saved, and no login is required.

Use it to try a timing idea before committing to it as a real course, or to run a one-off sequence that does not belong in the library.

The starting template

It opens with a single-lane chase across all eight targets:

PatternChase
Steps8 — lane 1, then 2, 3, 4, 5, 6, 7, 8
Hold500 ms
Cycles / laps1

Every field is editable exactly as in a real course — add levels, change the pattern, reselect targets, retime it. See Building a course for what each control does.

Running it

  1. Press Test Run a Course. The breadcrumb reads Manual Control / Test Run.
  2. Edit the sequence, or leave the default as it is.
  3. Press Run Test. The sequence starts immediately and the interface returns to the mode-select screen.
  4. Watch it run on the status line in the Manual Control panel — a test run has no course screen of its own, so that line is your readout.
  5. End it early with Stop or Home All Targets.
Note

Cancel leaves the builder and discards the sequence. There is no way to recover a test run afterwards — if you build something worth keeping, rebuild it as a real course under a mode (admin required) rather than as a test run.

07Modes

The boot screen

The first screen after the splash offers four tiles. All four are unlocked, and each one holds its own independent library of courses.

ModeSubtitleIntended use
BEGINNERFundamentalsSlower holds, longer pauses, basic exposure drills.
INTERMEDIATEStep it upTighter timings on the same patterns.
ADVANCEDPush the paceFast holds, overlapping chases, short windows.
EXPERIMENTALTest new course ideasA scratch shelf for courses under development.
Important

Each mode ships with its own copy of the same three starter courses. Editing Intermediate's Course 01 does not change Beginner's Course 01 — they are separate files on the device. The mode names describe intent only; nothing about a mode restricts what timings you can put in it.

Tap a tile to open that mode's course library. From anywhere deeper in the interface, ← Modes returns you here.

When logged in as admin, two extra panels appear below the tiles on this screen: Course Library Backup and Network.

08The course library

Inside a mode

A grid of cards, one per course. Each card shows the course name and, underneath, the number of levels plus any tags — built-in for a factory course, disabled for one that has been turned off.

Course 01 - Ladder
7 levels · built-in
tap the card to open it
Course 02 - Chase
3 levels · built-in
admin also sees Disable and ×
+ New Course
admin only
opens the builder

Tapping anywhere on a card opens that course. As an admin, each card additionally carries a Disable / Enable button and a × delete button in its top corner, plus a + New Course tile at the end of the grid.

Disabled courses

A disabled course is completely invisible to anyone not logged in as admin — not greyed out, not listed at all. An admin still sees it, dimmed and tagged. See Disabling instead of deleting.

Each mode holds a maximum of 16 courses. Saving beyond that returns "course limit reached for this mode" — delete or replace an unused course to make room.

09Running a course

The course screen

Opening a course gives you the run screen: what it contains, live state, and the controls to run it. No login is needed to run anything.

The parts of the screen

  1. Title and level count, top left.
  2. The HUD, top right — a MM:SS clock counting elapsed time since the run started, the current phase, and the status dot.
  3. Banners — a red fault banner and a green completion banner, shown only when they apply.
  4. Progress line — Level 3/7 · EXPOSED · Cycle 2/3, live.
  5. Level list — every level, numbered, with its sections summarised underneath and a ▶ Start button on each row. The level currently running is highlighted.
  6. Lane grid — eight tiles, LANE 01 to LANE 08, each showing that lane's live state.
  7. Console — the three large paddle buttons.
  8. Admin row — Edit Course and Delete Course, shown only when logged in.

Reading a level row

Each level lists its sections in the form the builder produced them. For example:

01   Level 01
SYNC · targets 1,2,3,4,5,6,7,8 · hold 500ms · home-wait 1000ms · cycles 3 · pause 60.0s
▶ Start
02   Level 02
CHASE · 8 steps · hold 200ms · cycles 3
▶ Start

Targets are listed 1–8 here, matching the lane numbers on the range and the chip numbers in the builder.

The three console buttons

ButtonWhat it does
Run Full CourseStarts at the first enabled level and auto-chains through every enabled level to the end. Disabled levels and sections are skipped silently.
StopHalts all motors immediately and ends the run.
Home AllDrives every lane home and clears any fault.

Running one level on its own

▶ Start on a level row runs just that level and then stops, instead of chaining into the rest of the course. The phase ends at LEVEL COMPLETE rather than COMPLETE. Use it to drill or check a single stage without resetting the whole course.

Detail worth knowing

On a single-level run, the pause that would normally follow the level's last section is skipped — there is no next level to wait for. Pauses between sections inside that level still apply. A disabled level can still be started directly this way by an admin, which is how you test one before re-enabling it.

While it runs

Everything refreshes once per second. The active level row highlights, the lane tiles change state, the clock counts up, and the progress line tracks level and cycle. When the last level finishes, the green banner reads ✓ Course complete — all levels finished.

If a lane faults mid-course

The run pauses in place — it will not silently advance to the next level. The red banner appears and the faulted lane shows FAULT. Clear it with Home All, then restart the course or the level. See Faults & troubleshooting.

10Status reference

Every phase and lane state

System phase

Shown in the HUD, in the Manual Control status line, and on the controller's own TFT screen.

PhaseMeaning
STANDBYIdle. Nothing loaded or nothing running.
RISINGTargets are rotating from home to open.
EXPOSEDTargets are up and holding for the hold time.
RETURNINGTargets are rotating back to home.
HOME WAITA Sync section is resting at home between repeats (the Home Wait field).
PAUSEThe section has finished and the system is waiting out the Pause After time before the next one.
RANDOMA Random section is running — single targets firing in random order.
OPENING ALLOpen All Targets is in progress.
HOMING ALLHome All Targets is in progress.
FAULTA lane failed to reach its limit switch. The run is halted. Home All to clear.
LEVEL COMPLETEA single-level run has finished.
COMPLETEA full course run has finished all its levels.

Lane state

Shown on each of the eight lane tiles on the course screen.

ChipMeaning
HOMEAt the home position, or idle and not part of the current section. Safe state.
RISINGMotor driving toward open. Moving.
EXPOSEDAt the open position, holding. Will drive itself home when the hold expires.
RETURNINGMotor driving back toward home. Moving.
FAULTDid not reach the expected limit switch within 6 seconds. That lane's driver has been cut.
Colour convention

Status colours are kept separate from branding on purpose, and they mean the same thing everywhere — on the web page and on the unit's own screen. Orange is motion and caution, green is exposed or complete, red is a fault.

11The three patterns

Sync · Chase · Random

Every section in every course is one of three patterns. Understanding exactly what each one does with the clock is the difference between a course that drills what you intended and one that just moves steel.

One rule underneath all three

The system is driven by limit switches, not timers. A target is not "open" because a certain time elapsed — it is open when its open switch closes. Hold times therefore start counting from the moment the target has physically arrived, so a slow lane delays that step rather than being cut short. If a switch is never reached, the lane faults after 6 seconds.

Sync — everything together

All selected targets rise together, hold together, and return together. The classic exposure drill.

CYCLE 1 CYCLE 2 HOME WAIT TARGET 1 TARGET 2 TARGET 3 TARGET 8 HOLD (ms) Hold starts only once every target has arrived. Home Wait sits between cycles. RISING EXPOSED RETURNING
Sync. All selected targets are commanded open at once. The hold clock starts when the last one arrives, so the exposure is genuinely simultaneous. When all are home again, that is one cycle; Home Wait is the rest before the next one.

Sync fields

  • Targets — which lanes take part. Unselected lanes stay home.
  • Hold (ms) — how long they stay exposed.
  • Home Wait (ms) — rest at home between cycles, inside this section.
  • Cycles — how many times to repeat. 0 means loop forever until stopped.
  • Pause After (ms) — wait after the whole section finishes, before the next section or level.

Chase — an overlapping wave

Targets fire in a sequence you define, and the sequence overlaps: the instant one step is commanded home, the next step is commanded open. There is never a dead gap, which is what makes it read as a wave running down the line.

ONE LAP (CYCLE) OF A 4-STEP CHASE STEP 1 → T1 STEP 2 → T2 STEP 3 → T3 STEP 4 → T4 HOLD (ms) The next step opens the moment the previous one starts returning — the two overlap on the range. RISING EXPOSED RETURNING
Chase. A step can hold one target or several — a step with two targets fires them as a pair. When the last step has been issued and every lane has settled, that is one lap.

Chase fields

  • Steps — an ordered list. Each step has its own target selection, so a step can be a single lane (1), a pair (1,2) or any combination. Steps run top to bottom. Up to 16 steps per section.
  • Hold (ms) — exposure time for each step. It is the same for every step in the section; for different holds, use several sections.
  • Cycles / Laps — how many times to run the whole step list. 0 loops forever.
  • Pause After (ms) — wait after the section finishes.
Designing a chase

The apparent speed of the wave is set by Hold, not by the number of steps — each step's hold is what delays the next one. Halving the hold roughly doubles the pace of the wave.

Random — one at a time, unpredictable

Targets fire one at a time, each picked at random from the selected set, for as long as the time frame lasts. The same target can come up twice in a row — each pick is independent.

ONE RANDOM SECTION T1 T2 T3 T4 T5 T6 T7 T8 TIME FRAME (ms) A new target is picked only after the previous one is fully home. When the time frame expires, the section ends — mid-pick exposures still finish. RISING EXPOSED
Random. Length is set by a time frame, not a cycle count — the section runs for that many milliseconds and then hands over. Targets never overlap in this pattern.

Random fields

  • Targets — the pool to draw from. Deselect a lane and it is never picked.
  • Hold (ms) — exposure time for each pick.
  • Time Frame (ms) — how long the whole section runs. 30000 is 30 seconds.
  • Pause After (ms) — wait after the section finishes.

Choosing between them

SyncChaseRandom
Targets up at onceAll selectedOverlapping, 1–2 steps deepExactly one
OrderSimultaneousFixed, as you list itUnpredictable
Length set byCyclesCycles / lapsTime frame
Loops forever withCycles = 0Cycles = 0Not available
Rest controlHome Wait + Pause AfterPause AfterPause After
TrainsSplit attention, reload timingTracking, transitionsReaction, scanning

12Building a course

Admin — create and edit

The builder is the same screen everywhere: + New Course in a mode, Edit Course on a course, and Test Run a Course in the manual panel all open it. Only the button at the bottom differs — Save Course or Run Test.

Layout

  1. Course Name — free text, at the top.
  2. Level cards — one per level, in run order. Each has a name field, a Disabled checkbox, and ↑ ↓ × to reorder or remove it.
  3. Section cards — inside each level card. Each has the three pattern tabs, its own Disabled checkbox, a × to remove it, and the fields for the chosen pattern.
  4. + Add Section at the bottom of each level card, + Add Level at the bottom of the course.
  5. Save / Cancel at the very bottom.

Selecting targets

Sync and Random sections show a row of eight numbered chips. Tap to include or exclude that lane — highlighted means selected. Chase sections show one chip row per step, so each step gets its own selection.

Building a chase step list

  1. Set the section type to CHASE.
  2. The section starts with one step containing lane 1. Adjust its chips to whatever should fire first.
  3. Press + Add Step and set the next step's targets. Repeat down the line.
  4. Remove a step with the × at its right. A section must keep at least one step.
  5. Set Hold and Cycles / Laps below the step list.
Worked example — a two-way sweep

For a wave that runs down the line and back, use eight steps out (1, 2, 3, 4, 5, 6, 7, 8) followed by six steps back (7, 6, 5, 4, 3, 2) in the same section, with laps set to 1. Setting laps to 3 then sweeps back and forth three times without a gap.

Switching a section's pattern

Tapping a different pattern tab rebuilds that section with the defaults for the new pattern. Your Hold, Pause After and Disabled settings carry over; target selections and pattern-specific fields do not. Set the pattern first, then the details.

Saving

Save Course writes to the current mode's library and returns you to where you started — the course screen when editing, the course list when creating. Cancel discards everything since you opened the builder; there is no undo and no draft recovery.

Rules the builder enforces

MessageCause
Every sync/random section needs at least one target selected.All eight chips deselected in a Sync or Random section.
Every chase section needs at least one step.A Chase section with an empty step list.
A course needs at least one level.You tried to remove the last level.
A level needs at least one section.You tried to remove the last section in a level.
course limit reached for this mode (max 16)The mode already holds 16 courses.
too many levels (max 12)More than 12 levels in one course.
too many sections in one level (max 8)More than 8 sections in one level.
too many wave steps (max 16)More than 16 steps in one chase section.
Editing built-in courses

The three starter courses can be edited — retime them freely. They cannot be deleted; the device rejects that with "built-in courses cannot be deleted". If you want them out of the way, disable them instead. To recover the originals after editing, see Backup & restore.

13Field reference

Every builder field, every default
FieldApplies toMeaningDefault
Course NameCourseShown on the card and the course screen.New Course
Level nameLevelShown on the level row.New Level
TargetsSync, RandomWhich lanes take part.All 8
StepsChaseOrdered list of firing groups.One step: lane 1
Hold (ms)AllExposure time, counted from arrival at the open switch.500 (Sync) / 200 (Chase, Random)
Home Wait (ms)SyncRest at home between cycles of this section.1000
CyclesSyncRepeats of the section. 0 = loop until stopped.3
Cycles / LapsChaseRuns of the whole step list. 0 = loop until stopped.1
Time Frame (ms)RandomHow long the section runs in total.30000 (30 s)
Pause After (ms)AllWait after this section before the next section or level.0
DisabledLevel, SectionSkip this item at runtime without deleting it.off

Milliseconds at a glance

You wantEnter
0.2 seconds200
0.5 seconds500
1 second1000
5 seconds5000
30 seconds30000
1 minute60000
2 minutes120000
Cycles = 0

A section with cycles set to 0 never ends on its own. The course will not advance past it and will keep the targets working until an operator presses Stop or Home All. That is useful for open-ended practice, and a trap if you set it by accident on a middle level — the levels after it will never run.

Library size limits

LimitValue
Courses per mode16
Levels per course12
Sections per level8
Steps per chase section16
Targets per group8

These bounds keep the device's memory use predictable. They are set in the firmware and can only be raised by re-flashing.

14Disabling vs deleting

Turning things off without losing them

Disabling is the safe alternative to deleting — the same idea as commenting out code. The item stays on the device, keeps its settings, and can be switched back on at any time.

LevelWhere to disable itEffect when disabled
CourseDisable on the course card in the library.Hidden entirely from non-admins.
LevelDisable on the level row, or the Disabled checkbox in the builder.Skipped when the course chains; hidden from non-admins.
SectionThe Disabled checkbox in the builder only.Skipped when its level runs; hidden from non-admins.

What operators see

  • Not logged in — disabled items simply do not exist. They are absent from the course list and from level lists.
  • Logged in as admin — they appear dimmed, marked disabled or with a DISABLED badge, and can still be started directly for testing.

What the engine does

On Run Full Course, the engine starts at the first enabled level with at least one enabled section, and skips over every disabled level and section as it chains. A course whose levels are all disabled cannot be started — it reports "course has no active levels".

When to delete instead

Deleting is permanent and cannot be undone from the interface. Use the × on the card, or Delete Course on the course screen. Built-in courses cannot be deleted at all.

Before deleting anything

Run an export first. The exported file holds every course from all four modes, and importing it back restores exactly what you had.

15Admin login

Who can change the library

Running the range needs no login. Changing what is on the device does. Press Admin Login in the header, enter the password, and the admin-only controls appear immediately on whatever screen you are on.

Unlocked by logging in

  • + New Course, Edit Course, Delete Course and the × on course cards
  • Disable / Enable on courses and levels
  • Visibility of disabled items
  • The Course Library Backup and Network panels on the mode screen

How the session behaves

Default passwordfoxtrot — set in the firmware. Change it before the system is used for real.
UsernameNone. One shared password.
Sessions at onceOne. Logging in from a second browser logs the first one out.
TimeoutNone. The session lasts until logout or reboot.
On rebootEveryone is logged out.

Use Log Out in the header when you are done, particularly on a shared or borrowed device — the session is stored in that browser and survives closing the tab.

What this login is and is not

This is a gate to keep casual users out of the course library, not a security boundary. The connection is plain HTTP over a shared WiFi password, and the admin password is stored in the firmware. Anyone with the WiFi password is already on the same network as the controller. Treat physical and WiFi access as the real access control.

If a login is rejected

  • Login failed: wrong password — the password does not match. It is case-sensitive.
  • admin login required on an action you expected to work — your session was ended by someone else logging in, or by a reboot. Log in again.

16Backup & restore

Course Library Backup panel

On the mode-select screen, logged in as admin, the Course Library Backup panel exports and imports the entire course library — all four modes in one file.

Export

Export All Courses downloads downrange-courses.json to the device you are browsing from. It contains every course in every mode, including disabled ones and any edits you have made to the built-in courses.

Recommended practice

Export after any session where you changed courses, and keep the file somewhere off the range — it is the only copy of your work that exists outside the controller's flash. Name it with a date when you file it.

Import

Import Courses asks for a file and merges it into the device:

  • A course whose id matches one already on the device overwrites that course.
  • Anything else is added.
  • Nothing on the device is deleted by an import.

Because matching ids overwrite rather than duplicate, re-importing your file onto a freshly re-flashed controller replaces the stock starter courses with your customised versions and restores everything else — no duplicates, no manual clean-up.

  1. Log in as admin and go to the mode-select screen.
  2. Press Import Courses and pick your .json file.
  3. Confirm the warning. The import cannot be undone.
  4. Read the result — it reports how many courses were imported, and lists any entries that had problems.
Limits and failure messages

Import files are capped at about 150 KB; a larger file is rejected with "file too large". A file that is not valid JSON is rejected with "invalid JSON". Individual courses that break a size limit are skipped and named in the result, while the rest still import.

Restoring the factory courses

There is no "reset to defaults" button. A mode's library is reseeded with the three starter courses automatically only if its file is missing or fails its integrity check at boot. To get clean starter courses back deliberately, keep an export taken from a freshly flashed device and import that.

17Network settings

AP mode and joining your own WiFi

By default the controller hosts its own access point, and everything works with no other infrastructure. You can instead have it join an existing network — a range or building router — so it is reachable without connecting to a separate WiFi each time.

The Network panel is on the mode-select screen, admin only. Its top line reports the current state:

Connected to "RangeNet" — 192.168.1.42Joined an existing network at that address.
Access point mode — 192.168.4.1Hosting its own network.
Access point mode — 192.168.4.1 (couldn't reach "RangeNet")A network is saved, but the controller could not join it and fell back to AP mode.

Joining a network

  1. Enter the WiFi Network Name and WiFi Password.
  2. Press Connect & Restart and confirm.
  3. The controller reboots immediately and tries to join for up to 15 seconds.
  4. Read the controller's TFT screen for the result — it shows either WIFI with the new address, or AP if it fell back.
  5. Connect your device to the same network and browse to the address shown.
This reboots the unit

Changing network settings restarts the controller immediately, which stops anything currently running. Never do it during a live serial or with people downrange.

Going back to AP mode

Forget Network / AP Only clears the saved network and reboots into access point mode. Use it when moving the unit to a site whose network it does not know.

You cannot be locked out

If the controller cannot reach the saved network — wrong password, router down, out of range — it falls back to hosting Target_System_AP on its own after 15 seconds. There is always a way in; check the TFT to see which mode it came up in.

Common causes of a failed join
  • The network is 5 GHz only — the controller's WiFi is 2.4 GHz only.
  • Typo in the network name or password (both are case-sensitive).
  • The router is out of range of where the unit sits on the range.
  • A captive-portal or enterprise network — not supported.

18Faults & troubleshooting

What went wrong and what to do

What a fault actually is

Each lane is given 6 seconds to reach the limit switch it was commanded toward. If it does not get there, that lane's motor driver is cut and the lane is marked FAULT. A fault also halts the running course so it cannot silently advance to the next level with a lane out of action.

A fault is a real, physical symptom. The usual causes are:

  • Something jamming the target's rotation.
  • A limit switch knocked out of alignment, so it is never triggered.
  • A wiring fault on that lane's switch or driver.
  • A motor or driver failure.

Clearing a fault

  1. Press Stop if anything else is still moving.
  2. Identify the faulted lane from the lane grid on the course screen.
  3. Power down before touching anything mechanical.
  4. Clear the obstruction or correct the fault.
  5. Power up and press Home All Targets — this clears the fault flag and re-homes every lane.
  6. Confirm all eight lanes report HOME before restarting the course.
If it faults again immediately

The same lane faulting within seconds of a Home All means the mechanical or wiring cause is still there. Do not keep re-homing it — take that lane out of service (disable the levels that use it, or deselect that target) and refer it for maintenance.

Interface problems

SymptomWhat to check
Page will not load at allConfirm you are still connected to Target_System_AP. Phones drop networks with no internet automatically. Type the address with http:// in full.
Page loads but looks unstyledReload once. The interface has no external dependencies, so this is almost always a partial load.
Status frozen, clock not countingThe connection to the controller has dropped. Reload the page; the controller keeps running its course regardless of who is watching.
Buttons do nothingSame cause — reload. If the controls still do not respond, go to the unit and check its TFT screen.
Admin buttons disappearedYour session ended — someone logged in elsewhere, or the unit rebooted. Log in again.
Course will not start"course has no active levels" means everything in it is disabled. Enable a level, or run one directly.
Cannot save a courseCheck the message: a limit was hit (16 courses, 12 levels, 8 sections, 16 steps) or a section has no targets selected.
Unit is on the network but you cannot find itRead the IP from the TFT. If it shows AP, it fell back — reconnect to Target_System_AP and re-check the saved network name and password.

Behaviour that is not a fault

You seeWhy
A course sits doing nothing for a long timeIt is in PAUSE or HOME WAIT. The starter Ladder course pauses a full minute between levels.
A course never finishesA section has cycles set to 0, which loops until stopped.
A level in the list never runsIt is disabled, or an earlier section is looping forever.
Targets keep firing after the page is closedExpected. The controller runs the course, not the browser. Use Stop or Home All to end it.
A lane shows HOME during a runThat lane is not part of the current section.

19Built-in courses

What ships in every mode

All four modes start with their own copy of these three courses. They are editable but not deletable, and each mode's copy is independent.

Course 01 — Ladder

Seven levels of all-eight-targets Sync, with the hold time stepping down each level. A minute at home between levels.

LevelPatternTargetsHoldHome waitCyclesPause after
01Sync1–8500 ms1000 ms360 s
02Sync1–8450 ms1000 ms360 s
03Sync1–8400 ms1000 ms360 s
04Sync1–8350 ms1000 ms360 s
05Sync1–8300 ms1000 ms360 s
06Sync1–8250 ms1000 ms360 s
07Sync1–8200 ms1000 ms3—

Course 02 — Chase

Three levels of overlapping wave, each 200 ms hold and 3 laps.

LevelStep listWhat it looks like
011 → 2 → 3 → 4 → 5 → 6 → 7 → 8Single lane running down the line.
02(1,2) → (3,4) → (5,6) → (7,8)Pairs sweeping down the line.
03(1,3) → (2,4) → (3,6) → (4,8)Interleaved pairs — splits attention across the line.

Course 03 — Random

One level, one Random section: all eight targets in the pool, 200 ms hold, 30-second time frame.

Using these as starting points

Rather than building from scratch, open a starter course in a mode you are not precious about (Experimental exists for this), edit it, and save. Every mode has its own copy, so the originals in the other modes stay untouched.

20Quick reference

Card to keep at the console

Connection

WiFi networkTarget_System_AP
WiFi passwordtargetrange123
Addresshttp://192.168.4.1
Admin passwordfoxtrot (default — change before real use)

Start-of-session checklist

  1. Power up. Confirm the TFT shows an address.
  2. Connect and load the page.
  3. Press Home All Targets. Confirm eight × HOME.
  4. Confirm the range is clear.
  5. Pick a mode, pick a course, run it.

End-of-session checklist

  1. Stop, then Home All Targets.
  2. Confirm eight × HOME.
  3. Export the library if courses were changed.
  4. Log Out if you logged in.
  5. Power down.

Glossary

Lane / TargetOne of the eight rotating targets, numbered 1–8 throughout the interface.
HomeThe parked position, flat. Detected by the home limit switch.
Open / ExposedThe 90° presented position. Detected by the open limit switch.
ModeOne of four independent course libraries.
CourseAn ordered set of levels.
LevelOne stage of a course, made of sections.
SectionOne timing block: a pattern, its targets and its timings.
PatternSync, Chase or Random.
StepOne firing group inside a Chase section.
Cycle / LapOne complete repeat of a section.
HoldTime a target stays exposed, counted from arrival.
Home WaitRest at home between cycles of a Sync section.
Pause AfterRest after a section, before the next one.
Time FrameTotal run time of a Random section.
FaultA lane failed to reach a limit switch within 6 seconds; its driver was cut.
AP modeThe controller hosting its own WiFi network.