MegaPoints Controllers logo

System2 Panel Controller

Your layout. Your way. One board at a time.

User Reference — Release 27

Contents

Getting Started

  1. What is the Panel Controller?
  2. Welcome to System2
  3. Hooking Up Your Board
  4. Getting Connected — Wi-Fi Setup
  5. The Main Page at a Glance
  6. Configuring Your Ports
  7. EasyConfig — Quick V-Port Setup
  8. Wi-Fi Settings & Roaming
  9. Sharing Wi-Fi Credentials

Panel Controller in Detail

  1. New in Release 25 — At a Glance
  2. New in Release 26
  3. New in V27 Beta
  4. Networks & Protocols
  5. Choosing a Protocol
  6. Saving, Loading & Restoring
  7. Cloud Backup & Restore
  8. Live Monitoring Charts
  9. Software Updates
  10. Network Monitor
  11. Status Log & Diagnostics
  12. For the Tinkerer — the Built-in API
  13. Technical Reference & Reliability Enhancements
  14. Connecting Multiple Boards — the CAN Bus and Wiring
  15. Document Revisions

1. What is the Panel Controller?

The Panel Controller is a System2 board designed for mimic panels and control desks. It connects your physical push buttons and toggle switches to the rest of your layout, and drives LEDs to show the current state of points, signals, and track occupancy.

It provides:

Panel Controller header showing board identity and location
The top of the main page shows your board name, product image, and location description.

2. Welcome to System2

System2 is a modern, British-designed control platform for model railway layouts of every size. It was built from the ground up to be simple for newcomers, yet powerful enough for the largest exhibition layouts. System2 is the exclusive control system behind Pete Waterman's The Grand Challenge — holder of the Guinness World Record for the largest portable model railway at 694.9 metres of track.

Every System2 board carries its own built-in administration page, so there is no single computer or central controller that everything depends on. You configure each board from any web browser on a phone, tablet, or PC — no special software to install, no apps to download.

This guide covers Release 25 and later of the Panel Controller firmware. If your board is running an earlier version, you can update it over the internet in minutes (see Software Updates).

3. Hooking Up Your Board

Before diving into the software, let’s get your Panel Controller physically connected. This section walks you through the board layout, what each connector and button does, and how to wire boards together on the CAN bus.

Board Layout

The annotated photograph below shows a Panel Controller with all its connectors and key features identified.

Panel Controller board — annotated hook-up guide
Panel Controller hook-up guide. All connectors and controls are labelled.
FeatureDescription
Dual LED connectors × 16 16 pairs of header pins along the top edge. Each pair drives one LED (or LED pair). Plug in the LED leads with the black lead towards the outer edge of the board. The three-position jumper block (NORM / LEDS / COMP) selects the output wiring mode for your LEDs.
Input connectors × 16 16 pairs of header pins along the bottom edge, labelled SIG (signal) and GND (ground). Plug in the leads with the black lead towards the outer edge. Connect your push buttons, toggle switches, or sensors here.
Power Connector 12 V DC, any polarity, 1.5 A maximum. Two-position screw terminal on the right-hand side of the board.
Network Connector Two-position screw terminal for the CAN bus: CAN-H and CAN-L. Observe polarity — connect H to H and L to L on every board.
CAN Network termination jumper Activates a built-in 120 Ω termination resistor. Leave this jumper fitted on the first and last boards of the CAN bus, and remove it from all boards in between (see Termination Jumpers).
Board name and serial number Printed on the left edge. The board name (e.g. panel-d07c10) is also the Wi-Fi hotspot name and the hostname you type into a browser to access the board.
Wi-Fi Hotspot start button Press and hold during power-up to force the board into Wi-Fi hotspot mode. Useful for initial setup or if the board cannot reach your Wi-Fi network.
RUN LED Status indicator (not shown in the photo — located near the centre of the board, labelled RUN). In normal operation it flashes at 1 Hz (once per second). A fast flash (10 Hz) means the board is in hotspot/access-point mode. A rapid flutter indicates the board is being identified from the web interface.
PWR LED Power indicator. Lights up when the board is receiving 12 V power.

What You Need

Wiring a Single Board

  1. Connect your 12 V power supply to the 12V and GND positions on the green screw terminal. Observe polarity — the labels are printed on the board.
  2. If this board will communicate over the CAN bus, connect a twisted-pair cable to the H and L terminals. Make sure CAN H goes to CAN H on every board, and CAN L goes to CAN L.
  3. Plug in your pre-wired buttons (supplied with the starter kit), your own switches, or sensors as needed. You can mix any number of different types in any position.
  4. Connect your LEDs to the OUTPUT pins. Set the NORM/LEDS/COMP jumper to match your LED wiring configuration (see Configuring Your Ports).
  5. Power on. The PWR LED should light, and after a few seconds the board will either connect to your Wi-Fi network or start its own hotspot (see Getting Connected).

4. Getting Connected — Wi-Fi Setup

When your Panel Controller is brand new (or after a Wi-Fi reset), it does not yet know your Wi-Fi network name and password. It will create its own temporary hotspot so you can tell it which network to join. You only need to do this once — the board remembers your Wi-Fi details permanently, even after power cuts and software updates.

Even better, once one board knows your Wi-Fi credentials you can share them across the wired CAN network to every other System2 board with a single button press (see Sharing Wi-Fi Credentials). So in practice, you only ever type your Wi-Fi password once for your entire layout.

Step-by-step Wi-Fi Setup

  1. Power on your Panel Controller. If it has no stored Wi-Fi credentials, its onboard LED will flash rapidly and it will appear as a Wi-Fi hotspot named after its board ID (e.g. panel-64ee04).
  2. Connect to the hotspot. On your phone or tablet, open your Wi-Fi settings and look for the board's name. Tap to connect — there is no password.
    Phone Wi-Fi list showing panel hotspot
    The Panel Controller's hotspot appears in your phone's Wi-Fi list.
  3. A setup page opens automatically. Your phone's captive-portal detection will open the Wi-Fi configuration page. If it does not appear within a few seconds, open a web browser and go to http://4.3.2.1.
    Wi-Fi setup page with scan results
    The Wi-Fi setup page. Tap Scan WiFi to see available networks.
  4. Select your network and enter the password. Tap Scan WiFi to see nearby networks. Choose yours from the dropdown, type your password, and press Save.
    Wi-Fi credentials saved confirmation
    The board confirms your credentials are saved and asks you to reboot.
  5. Reconnect to your own Wi-Fi. Switch your phone back to your normal Wi-Fi network. The board will reboot and join the same network. You can now access it by typing its name into a browser (e.g. http://panel-64ee04.local) or by using the IP address shown in the status bar.
If the board cannot connect to your Wi-Fi (wrong password, network out of range), it will automatically restart its hotspot after a few attempts, so you can try again. You can also hold the onboard button at power-on to force the hotspot to start.

5. The Main Page at a Glance

Once connected to Wi-Fi, open a web browser and navigate to your board. The main page gives you complete control of your Panel Controller. It is divided into clear sections, from top to bottom:

Full main page overview 1 2 3 4 5 6 7 8 9 10
The complete main page — everything is on a single, scrollable page. Numbers match the tour below.
#SectionWhat it does
1HeaderShows board name, product image, and your location description.
2Live ChartsWi-Fi signal, traffic, CAN activity, and MQTT activity (toggle with Show/Hide Charts).
3Port ConfigurationSet up all 16 input and 16 output channels.
4EasyConfigQuickly assign V-Port addresses for a whole board in one go.
5CAN BusCAN ID settings.
6Wi-FiRoaming, boot delay, and credential sharing.
7Navigation LinksSave, Load, Backup, Restore, Update, Reboot, Network Monitor, and Documentation.
8Status BarSoftware version, IP address, board name, and connected Wi-Fi network.
9ProtocolSwitch between CAN, Native MQTT, and JMRI.
10Status LogLive messages showing network activity, board reports, and system events.
Navigation links
The navigation area provides quick links to all key functions.

6. Configuring Your Ports

The port configuration table is the heart of the Panel Controller. Each of the 16 rows represents one physical input (button/switch) and one physical output (LED) on the board.

Port configuration table
The port configuration table — 16 inputs on the left, 16 outputs on the right.

Input Ports (left side)

ColumnWhat it controls
Phys PortThe physical connector number on the board (1–16). This is fixed.
V-PortThe virtual port number this input sends when activated. Match it to the V-Port on the device you want to control (e.g. a Servo-8 output).
Latch (ms)How long the input signal is held before it can change again. Prevents accidental double-presses. 600 ms is a good default.
Input TypeThe type of switch or sensor connected (see below).
InvertReverses the sense of the input — useful if your wiring reads backwards.
RGB / LED ColourSets the Red, Green, and Blue brightness for this channel's LED (0–255 each). Combine values to create any colour.
B/GBackground mode — when ticked, the LED shows a dim background colour when off, rather than being completely dark.

Input Types

Input type dropdown
Choose the type of switch or sensor connected to each channel.
Every element of the page has a tooltip. Hover over (or long-press on mobile) any column heading, field, or control to see a description of what it does.
Tooltip showing V-Port description on hover
Hovering over a V-Port field shows a helpful tooltip describing its purpose.
TypeBest for
StatelessThe default switch type. Click to toggle the V-Port.
Push to make btnMomentary push button — press to toggle the state.
Toggle SwitchOn/off toggle switch — state follows the switch position.
Occupancy SensorTrack block detector — active when the block is occupied.
Points Pos SensorPoints position feedback — indicates the actual position of the turnout.
The Stateless input type is now supported on all protocols, excluding JMRI.

Output Ports (right side)

Output ports with invert toggles
Each output has its own V-Port and an invert toggle.
ColumnWhat it controls
Phys PortThe physical LED output number on the board (1–16).
V-PortThe virtual port this output listens to. When a matching V-Port message arrives (from any board on the network), this LED responds.
InvertReverses the LED state — lights when off and vice versa.

Shortcuts & Time-savers

Setting up 16 channels does not have to be slow. The interface includes several shortcuts to save you time:

ShortcutWhereWhat it does
+ after a number V-Port fields Auto-fills all rows below with incrementing values. Type 100+ and rows fill with 100, 101, 102, 103…
- after a number V-Port fields Auto-fills all rows below with decrementing values. Type 200- and rows fill with 200, 199, 198…
. after a number V-Port fields Copies the same value to all rows below. Type 500. and every row gets 500.
. after a number Latch (ms) field Applies the same latch time to all 16 channels. Type 100. to set 100 ms everywhere.
Shift+click Invert & B/G toggles Hold Shift and click a toggle to apply the same state to all remaining rows in that column.
These shortcuts work on both the input V-Port fields and the output V-Port fields. They are a huge time-saver when setting up a new board from scratch.
Input and output V-Ports do not need to match on the same row. For example, Input 1 might send V-Port 100 to control a Servo-8, while Output 1 listens on V-Port 200 to show a signal state.

7. EasyConfig — Quick V-Port Setup

Typing V-Port numbers one by one for all 16 channels can be tedious. EasyConfig lets you assign a complete block of V-Port addresses in one click. This feature is especially useful when setting up multiple boards — you can configure each board without having to think about individual V-Port numbers. It saves significant time and avoids mistakes when you just want to get going quickly.

Select a board number from the dropdown. The system automatically assigns a sequential range of V-Ports to all 16 input and output channels based on that board number. Board 1 starts at V-Port 1, Board 2 at V-Port 17, Board 3 at V-Port 33, and so on.

EasyConfig dropdown
Select a board number and EasyConfig fills in all V-Port addresses for you.
Use the Locate Board toggle to make a board's onboard LED flash rapidly, so you can identify which physical board you are configuring. This is especially helpful if your boards are not connected by wire and you are configuring them remotely over Wi-Fi.

8. Wi-Fi Settings & Roaming

WiFi settings bar
The Wi-Fi settings area on the main page.

Roaming

Many layouts, especially exhibition layouts, use more than one Wi-Fi access point to cover a large area. Roaming tells the board to periodically check whether a stronger access point is available, and seamlessly switch to it if so.

We recommend leaving Roaming on (the default). Even if you only have a single access point today, roaming causes no harm and means your boards are ready to take advantage of a second access point if you add one later. With roaming on, the board scans every five minutes and only switches if it finds a significantly stronger signal, so there is no disruption during normal operation.

RSSI chart showing roaming improvement
This Wi-Fi signal chart shows a real roaming event. The signal was weak (red) until the board found a closer access point and switched — signal strength jumped to strong (green) immediately.

Boot Delay

On large layouts with many boards, enabling Boot delay adds a short pause (1–15 seconds) before the board connects to Wi-Fi at power-on. This staggers the Wi-Fi connection requests and avoids overwhelming your router when everything powers up at once. This is probably not necessary unless you have a particularly slow router and a large number of boards — say 30 or more. Most users can leave this off.

9. Sharing Wi-Fi Credentials

Once one Panel Controller is connected to your Wi-Fi, you can send those credentials to every other System2 board on the wired CAN network with a single button press. This means you never need to set up Wi-Fi on each board individually.

Share, Revoke, and Erase buttons
The Wi-Fi credential management buttons.
ButtonWhat it does
ShareBroadcasts your Wi-Fi name and password to all boards over the CAN bus. Each board saves the credentials and connects automatically.
RevokeTells all boards on the CAN network to forget the stored Wi-Fi credentials. Useful if you change your Wi-Fi password.
EraseErases the Wi-Fi credentials on this board only. The board will restart its hotspot so you can set up a new network.
The credentials are sent as data packets over the CAN bus wiring. Only boards physically wired to the same CAN bus will receive them.

10. New in Release 25 — At a Glance

Release 25 of the Panel Controller firmware is the most feature-rich update yet. Here is a quick summary of everything that’s new or improved.

New Features

FeatureWhat it does
Live Charts Four real-time charts on the main page — Wi-Fi signal, Wi-Fi traffic, CAN bus activity, and MQTT activity — with 10 minutes of rolling history. Click to zoom.
Wi-Fi Roaming The board automatically finds and switches to the strongest access point on your network. Ideal for large layouts with multiple Wi-Fi access points.
Signed Firmware Updates Every firmware update is cryptographically signed with RSA-3072 and verified before installation. Rollback to any version from V25 onwards.
REST API A full JSON API for reading and controlling the board from scripts, home automation systems, or custom dashboards. 16 endpoints covering every setting.
Backup & Restore Export your entire board configuration as a JSON file. Restore it to the same board or use it as a template for setting up new boards.
CAN Bus Back-Pressure Intelligent TX buffer management prevents message loss during heavy traffic. The board gracefully drops non-critical frames rather than overflowing.
Boot Delay Optional staggered startup prevents Wi-Fi connection storms when many boards power on simultaneously. Probably not needed unless you have 30+ boards.
Refreshed UI Reorganised navigation, colour-coded port sections, tooltips on every element, and a dedicated Wi-Fi settings area. Mobile-friendly responsive layout.

Improvements

FeatureWhat’s improved
Network Monitor Now shows board names alongside CAN IDs, making it easy to see which device sent each message. Colour-coded display with improved performance and appearance.
Wi-Fi Credential Sharing Now supports maximum-length network names (32 characters) and passwords (64 characters) via the new Protocol v4 chunked transfer with checksum validation.
MQTT & JMRI Performance enhancements to both Native MQTT and JMRI protocol modes, including improved message throughput, more reliable reconnection, and reduced latency.
Wi-Fi Reliability Completely rewritten Wi-Fi connection engine with non-blocking state machine and automatic recovery from dropped connections.
CAN Bus Performance Doubled receive and transmit buffer depths, improved frame processing throughput, and added intelligent back-pressure management. Tested and proven at sustained loads well beyond typical layout traffic.

11. New in Release 26

Release 26 builds on the foundation of V25 with a focus on reliability, cloud backup, and a polished user experience. If you are upgrading from V25, here is everything that has changed.

New Features

FeatureWhat it does
Cloud Backup & Restore Your board settings are automatically backed up to the cloud whenever you save changes. You can also back up manually, browse your backup history, lock important backups, delete old ones, and restore any backup with one click. Your settings are safe even if the board is lost or damaged.
Firmware Validation & Rollback After installing an update, you have a 10-minute window to check everything works. If you do not accept the update, the board automatically rolls back to the previous version. You can also roll back manually at any time from the Update page.
Recovery Mode If something goes seriously wrong, hold the button at power-on for 10 seconds to enter recovery mode. The board downloads a known-good firmware from the cloud and restores itself.
Local Time Timestamps in the status log and CAN monitor now show your local time instead of board uptime. Time is set automatically from the internet -- no configuration needed.
Live Dashboard A dedicated dashboard page shows system health at a glance -- memory usage, Wi-Fi signal, CAN bus statistics, MQTT status, and a full channel I/O status table. All updating live.
Ownership Transfer Selling or giving away your board? The new "Change registered owner" option lets a new owner register the board in their name.
Update Progress Bars The Software Update page now shows real-time progress bars for both firmware and filesystem downloads, so you can see exactly how far along the update is.
Pre-release Channel Opt in to test new features before they are officially released. A toggle on the Update page lets you switch between the stable and pre-release channels.

Improvements

AreaWhat changed
Navigation Every page now has a consistent navigation footer with links to Settings, Dashboard, CAN Monitor, Update, and the User Guide. No more hunting for links to other pages. The main settings page is cleaner with less clutter.
Update Engine Completely rewritten for reliability. Downloads are faster, memory usage is lower, and updates work reliably even on boards with limited free memory.
Memory Efficiency Internal buffers have been optimised, freeing up 25KB of RAM. The settings page loads faster and more reliably, especially on busy boards.
Version Checking The board checks for updates in the background every 4 hours. If an update is available, you will see a notification in the status log with a link to the Update page. No need to check manually.
Settings Page CAN bus, Wi-Fi, and protocol settings are now combined into a single Network section. The page is easier to navigate with collapsible sections that remember their open/closed state.
If you are still on V25, all of these features are available as a free update. Visit the Software Update page on your board to install V26.

Coming to all System2 products

These features are not exclusive to the Panel Controller. All System2 boards -- including Mini Panel, Input-32, Output-32, and Servo-8 -- will receive the same updates as we roll V26 out across the product range. If you have multiple System2 boards on your layout, they will all benefit from cloud backup, firmware validation, the improved update engine, and the refreshed user interface.

12. New in V27

V27 builds on Release 26 with improved filtering, instant rollback, and better reliability under the hood.

New Features

FeatureWhat it does
CAN Monitor Filtering The Network Monitor now has a full filter bar at the top. You can filter live CAN traffic by CAN ID (single value or range), board name, V-Port (single or range), RFID tag text, and message type (Port, RFID, or Management). A Pause button freezes the display so you can examine packets without scrolling. The filter bar turns pink when any filter is active, and shows a running count of shown vs filtered packets. All filtering runs in the browser -- no extra load on the board.
Instant Rollback Button The firmware validation banner now shows an orange "Roll back now" button alongside the green "Keep this version" button. Instead of waiting for the 10-minute countdown to expire, you can immediately roll back to the previous firmware with one click. The button only appears when a previous firmware version is available.
User Guide Link A User Guide link now appears in the footer navigation on every page, giving you one-click access to this document directly from your board.

Improvements

AreaWhat changed
TLS Reliability A dedicated TLS buffer pool pre-allocates memory at boot, before the heap becomes fragmented. This means cloud backup and version checks now work reliably even when the board has been running for a long time. Previously, these features could fail if the heap was too fragmented to allocate the 33KB needed for a TLS handshake -- now only 17KB of contiguous memory is required.
Memory Efficiency CAN bus driver buffers returned to standard sizes, and the internal packet statistics system has been rewritten to use a compact ring buffer instead of a large timestamp array. These changes free approximately 10KB of RAM for other tasks.
Rollback Safety The countdown timer on the validation banner no longer flickers when the browser reconnects. Rollback and auto-rollback events are now logged to the cloud dashboard for diagnostics.

13. Networks & Protocols

System2 uses a concept called Virtual Ports (V-Ports). Every switch, sensor, LED, or servo on your layout is assigned a V-Port number (from 1 to 60,000). When a button is pressed on one board, it sends its V-Port number across the network. Any other board listening for that same V-Port reacts — it really is that simple.

Data travels across two networks using three protocols:

CAN

Wired (CAN Bus)

The default. Ultra-reliable, two-wire connection between boards. Works without Wi-Fi, internet, or any computer at all.

Native MQTT

Wi-Fi

System2's own wireless protocol using V-Port numbering over MQTT. Ideal for layouts where running CAN wires is impractical.

JMRI

Wi-Fi

Connects directly to JMRI layout software using standard MQTT turnout and sensor topics. Two-way communication.

You can change protocol at any time from the main page. Your board can use the CAN wired network and Wi-Fi simultaneously — CAN for board-to-board communication and Wi-Fi for the browser-based configuration pages.
Protocol selection button
The Protocol button on the main page — tap it to cycle between CAN, Native MQTT, and JMRI.

14. Choosing a Protocol

The Protocol button near the bottom of the main page lets you choose how your board communicates with other devices. Tap it to cycle through the three options:

ProtocolNetworkWhen to use it
CAN Wired Default. Best reliability. No internet or computer needed. Use when boards are connected by the two-wire CAN bus cable.
Native MQTT Wi-Fi Wireless communication using System2's own V-Port addressing over an MQTT broker. Use when you cannot run CAN wires.
JMRI Wi-Fi Connects to JMRI model railway software. Uses standard MQTT turnout/sensor topics so JMRI sees your inputs and outputs natively.

When using Native MQTT or JMRI, you also need to provide the address and port of an MQTT broker (a small piece of software that routes messages between devices — Mosquitto is a popular free choice).

Configuring the MQTT Broker

When you select Native or JMRI as the protocol, the header bar reveals two extra fields: Broker and Port.

  1. Tap the Protocol button until it shows Native (for System2 MQTT) or JMRI.
  2. In the Broker field, enter the hostname or IP address of your MQTT broker (e.g. broker1.local or 192.168.0.100).
  3. In the Port field, enter the broker’s listening port. The standard MQTT port is 1883 and is filled in by default.
  4. Click Save Changes, then Reboot to activate the new settings.

The status log will confirm the protocol change and remind you to save and reboot.

MQTT broker settings showing Protocol set to Native with Broker and Port fields
After selecting Native or JMRI, the Broker address and Port fields appear in the header bar. Enter your MQTT broker details here.

Native MQTT — How It Connects

In Native MQTT mode, boards communicate wirelessly through an MQTT broker instead of the CAN bus. Each board connects to your Wi-Fi network and publishes its V-Port states to the broker. Other boards subscribe to the same topics and react accordingly — the broker handles all the message routing.

Native MQTT Mode — Wireless via Broker MQTT Broker (e.g. Mosquitto) Panel Controller mimic panel Servo Driver under baseboard Servo Driver under baseboard Your Wi-Fi Network (2.4 GHz)
In Native MQTT mode, all boards connect to your Wi-Fi network and communicate through a central MQTT broker. No CAN wiring is needed.

JMRI Mode — Computer-Based Control

In JMRI mode, the boards communicate with JMRI (Java Model Railroad Interface) running on a computer. JMRI connects to the same MQTT broker and uses standard turnout and sensor topics. Your boards appear as native JMRI accessories — no extra hardware or adapters required.

JMRI Mode — Computer-Based Layout Control MQTT Broker (e.g. Mosquitto) JMRI on PC / Mac / Pi Panel Controller mimic panel Servo Driver under baseboard Servo Driver under baseboard Your Wi-Fi Network (2.4 GHz)
In JMRI mode, boards and JMRI software both connect to the same MQTT broker over Wi-Fi. JMRI sees your boards as native turnouts and sensors.
The MQTT broker can run on any computer on your network — the same PC running JMRI, a Raspberry Pi, or a dedicated server. Mosquitto is a popular free, open-source broker that works on Windows, macOS, Linux, and Raspberry Pi. See the Mosquitto website and our setup guides for installation instructions.
After changing the protocol, click Save Changes and then Reboot for the change to take effect.

15. Saving, Loading & Restoring

The navigation links give you full control over your settings:

ActionWhat it does
Save ChangesWrites your current settings to the board's permanent memory. Settings survive power cuts and reboots.
Reload ValuesDiscards any unsaved changes and reloads the last saved settings.
Reset to DefaultsRestores factory defaults for all channel and network settings.
Backup DataDownloads a JSON file containing all your settings to your computer. Keep this as insurance.
Restore DataUploads a previously saved backup file and applies it to the board.
Cloud Backup Opens the cloud backup dialog where you can back up to the cloud, browse your backup history, restore, lock, or delete backups. Requires free product registration.
RebootRestarts the board. Any unsaved changes are lost.
Restore settings confirmation dialog
Before restoring from a backup, the board shows you what's in the file and asks for confirmation.
Get into the habit of backing up your settings after completing a configuration session. The backup file is small and can save time if you ever need to replace a board.

16. Cloud Backup & Restore

Cloud backup takes the safety of your board settings to the next level. While the local Backup Data button saves a file to your computer, cloud backup stores your settings securely on the MegaPoints cloud servers. Your settings are safe even if your computer and your board are both lost or damaged.

Cloud backup requires a free product registration. Once registered, backups happen automatically every time you save changes. You can also back up manually at any time.

Opening Cloud Backup

On the main settings page, click Cloud Backup in the action bar (between Restore and Reboot). If you are registered, the link appears in purple. If not, it appears greyed out with a tooltip explaining that registration is needed.

Backing up your settings

  1. Click Cloud Backup to open the backup dialog.
  2. Click Backup Now. The status next to the button shows progress.
  3. If your settings have not changed since the last backup, it tells you -- no duplicate backup is created.
  4. If settings have changed, a new backup is created and appears in the list below.

Example: You have just finished configuring all 16 ports on your new Panel Controller. You click Save Changes, then open Cloud Backup and click Backup Now. The status shows "Backup saved successfully" in green. Your configuration is now safely stored in the cloud.

Restoring from a backup

  1. Open the Cloud Backup dialog.
  2. Find the backup you want in the list. Each backup shows the date, firmware version, and number of channels.
  3. Click Restore next to the backup you want.
  4. Confirm the restore. The board downloads the backup, applies all the settings, and reboots.

Example: You replaced a faulty Panel Controller with a new one. After connecting to Wi-Fi and registering, you open Cloud Backup. Your previous board's backups are there (they are stored by MAC address, but you can see them from the MegaPoints dashboard). You click Restore on the most recent one, and within seconds your new board has all the same port mappings, CAN ID, and network settings as the old one.

Locking and deleting backups

The system keeps up to 5 unlocked backups per board. When a 6th is created, the oldest unlocked backup is automatically removed. To protect an important backup from rotation:

Automatic backups

Every time you click Save Changes on the main settings page, the board automatically sends a backup to the cloud in the background. You do not need to do anything -- it just happens. If the board cannot reach the cloud (for example, your internet is down), it simply tries again next time you save.

Changing ownership

If you sell or give away your board, the new owner will need to register it in their name. A small "Change registered owner" link appears below the action bar on the main settings page. Clicking it clears the current registration so the new owner can register fresh.

Cloud backup is free and included with every registered Panel Controller. Registration takes 30 seconds and only needs to be done once per board.

17. Live Monitoring Charts

Click Show Charts at the top of the main page to reveal four real-time charts covering the last 5 minutes of activity. They update every 5 seconds. Click on any chart to expand it for a larger, more detailed view — click outside the expanded chart to close it.

Live monitoring charts
Four real-time charts: Wi-Fi signal, Wi-Fi traffic, CAN bus activity, and MQTT activity. Click any chart to expand it.
ChartWhat it shows
Wi-Fi RSSISignal strength in dBm. Green is good (above −60), yellow is fair, red is weak.
Wi-Fi TrafficApplication-level packets sent (Tx) and received (Rx) per 5-second interval.
CAN ActivityCAN bus packets per second, averaged over 5-second windows. Shows how busy your wired network is.
MQTT ActivityMQTT messages sent, received, errors, and reconnection attempts (only active when using an MQTT-based protocol).

18. Software Updates

Software updates are one of the most important features of the Panel Controller. Unlike traditional model railway electronics that are frozen at the version they ship with, your Panel Controller can update itself over the internet, gaining new features, improvements, and fixes long after you purchased it. This future-proofs your investment -- the board you buy today will keep getting better over time.

The board checks for updates automatically every 4 hours. If a new version is available, you will see a notification in the Status Log on the main page with a direct link to the Update page.

What you see on the Update page

The update page shows a complete release history with a summary of every version released since the one you are currently running. Click the arrow next to any release to read detailed notes about what changed.

How to install an update

  1. Navigate to the Software Update page by clicking Update in the footer menu on any page.
  2. The page checks for the latest version automatically and tells you if you are up to date.
  3. If an update is available, click Install Latest Update (or choose a specific version from the history list).
  4. The board downloads and installs two files -- the firmware and the filesystem. This takes 4--8 minutes depending on your internet speed. Do not power off the board during this process.
  5. Progress is shown with real-time bar graphs -- a green bar for firmware and a blue bar for the filesystem. You can see exactly how far along the download is.
  6. When complete, the board reboots automatically onto the new version.

Firmware Validation -- Your Safety Net

From V26 onwards, every update includes a 10-minute validation window. After the board reboots onto the new firmware, you will see a yellow banner at the top of the page with a countdown timer:

Firmware validation banner with Keep and Roll back buttons
The validation banner shows both a green "Keep this version" button and an orange "Roll back now" button.

This gives you time to check that everything is working properly before you commit to the new version. You have four choices:

ActionWhat happens
Click "Keep this version" The new firmware is accepted permanently. The validation banner disappears and the board continues running the new version. This is the normal case.
Click "Roll back now" Immediately rolls back to the previous firmware without waiting for the countdown. The board reboots onto the previous version within a few seconds. This button only appears when a previous firmware version is available on the board.
Let the timer expire If you do nothing for 10 minutes, the board automatically reboots back to the previous version. This protects you if the new firmware has a problem that prevents you from reaching the settings page.
Reboot the board If you reboot (via the Reboot button or by cycling power) before accepting, the board reverts to the previous version immediately.

Example: You update from V25 to V26. The board reboots and you see the validation banner. You check that your ports are working, the CAN monitor shows traffic, and the dashboard looks right. Everything is fine, so you click "Keep this version". Done -- you are now on V26 permanently.

Example: You update and the board reboots, but something does not look right -- perhaps a chart is missing or a setting looks wrong. You simply wait for the 10-minute timer to expire. The board reboots itself and you are back on the previous version, exactly as it was before the update. No harm done.

Manual Rollback

Even after accepting an update, you can roll back to the previous version at any time. On the Update page, you will see a Rollback button showing the version you can revert to. Click it and the board switches back immediately.

Example: You accepted V26 last week, but you have discovered an issue with your particular setup. Visit the Update page, click "Rollback to V25", and you are back to the version that was working. You can try V26 again later when an updated beta is available.

Recovery Mode

In the unlikely event that your board will not start properly after an update, there is a last-resort recovery option:

  1. Power off the board.
  2. Press and hold the button on the board.
  3. While holding the button, power the board on.
  4. Keep holding for 10 seconds until the board enters recovery mode.
  5. The board connects to Wi-Fi and downloads a known-good firmware from the cloud, then restarts on the recovered version.

You can also trigger recovery mode by connecting a USB cable and typing RECOVER followed by Enter in the serial monitor.

Pre-release Channel

If you would like to try new features before they are officially released, you can opt in to the pre-release channel. On the Update page, toggle the Pre-release channel switch. You will see beta versions appear alongside stable releases.

Pre-release firmware is tested but may contain bugs. It is not recommended for boards in permanent use on your layout. The firmware validation window applies to pre-release updates too, so you can always roll back if needed.

Example: You hear about an exciting new feature being tested. You toggle on pre-release, see "V27 beta 3" appear, and install it. After testing, you decide it is not ready for your layout, so you roll back to V26 stable. No problem.

Security

Every firmware update is digitally signed using RSA-PSS cryptography. The board verifies the signature before applying any update. Only authentic software from MegaPoints Controllers can be installed.

An active internet connection (via Wi-Fi) is required for software updates. The CAN wired network alone cannot download updates. Make sure your board is connected to Wi-Fi before starting.

19. Network Monitor

The Network Monitor (accessible from the navigation links) is a powerful diagnostic tool that shows you every CAN bus message in real time. It is invaluable for troubleshooting or simply understanding how your layout communicates.

Network Monitor full view
The Network Monitor page shows a live stream of CAN bus packets with decoded information.

Each row in the monitor shows:

Network Monitor column key
The key explains what each column means.

The monitor also resolves board names automatically — when it recognises a CAN ID from a board that has reported in, it shows the board's hostname for easy identification.

Network Monitor with board names
Board names appear alongside CAN IDs, making it easy to see which device sent each message.

Packet Filtering

From V27 beta 1, the Network Monitor includes a filter bar at the top of the packet display. This lets you focus on exactly the traffic you need to see, even on a busy layout with hundreds of messages per second.

CAN Monitor filter bar with active filters
The filter bar turns pink when filters are active, with a counter showing how many packets are shown vs filtered (V27b1).
FilterWhat it does
CAN ID Show only packets from a specific CAN address (e.g. 1234) or a range (e.g. 1000-2000). Leave blank to show all addresses.
Board Filter by board name (partial match, not case-sensitive). Only packets from boards whose name contains the text you type will be shown.
V-Port Show only packets for a specific virtual port number or range. Only applies to port-state messages (D0=1).
RFID Filter by RFID tag ID (partial match). Only packets with a decoded RFID tag matching the text will be shown.
Type checkboxes Toggle visibility of message types independently: Port (channel state changes), RFID (tag reads), and Mgmt (reports, announces, credential sharing). Use All to toggle all three at once.
Pause Freezes the display. New packets are discarded while paused, letting you examine the current output without it scrolling away.

When any filter is active, the filter bar turns pink and a counter shows how many packets have been shown versus filtered out. Click Clear to reset all filters and return to the unfiltered view.

All filtering runs entirely in the browser -- there is no additional load on the board and no network overhead.

20. Status Log & Diagnostics

The Status Log at the bottom of the main page shows live system messages as they happen. It is the first place to look if something is not behaving as expected.

Local timestamps: If your board has an internet connection, the status log and CAN monitor show your local time (e.g. "14:32:05") rather than board uptime. Time is set automatically from the internet using your location -- no configuration needed. If the internet is unavailable, the board falls back to showing uptime since last reboot.

Status log showing board reports
The Status Log shows network reports, protocol changes, and save confirmations in real time.

Typical messages include:

Connection Loss

If the browser loses its connection to the board (for instance if the board reboots or Wi-Fi drops briefly), a clear yellow banner appears at the top of the page and the board automatically attempts to reconnect.

Disconnected banner
The disconnected banner — the page automatically reconnects when the board comes back online.

21. For the Tinkerer — the Built-in API

We’re opening up the boards for anyone with the appropriate skill set to play with. The Panel Controller includes a full REST API that lets you read and control the board programmatically. If you enjoy scripting, building custom dashboards, or integrating with home automation systems, this is for you.

You can use the API from any tool that speaks HTTP — a web browser address bar, a command line with curl, Python scripts, Node-RED, or even a smartphone app. All responses are in JSON format.

This section is likely to grow based on user feedback. If there is something you would like to be able to do with the API, let us know.

Quick examples

Replace panel-64ee04.local with your board's name or IP address.

Check board status

GET http://panel-64ee04.local/api/status

Returns hostname, IP, software version, protocol, uptime, and more:

{
  "hostname": "panel-64ee04",
  "ip": "192.168.0.63",
  "swVersion": 25,
  "protocol": "CAN",
  "uptime": 86400,
  "location": "Baseboard 25"
}

Read all 16 channels

GET http://panel-64ee04.local/api/channels

Returns an array of all channel configurations and current states.

Toggle a channel

GET http://panel-64ee04.local/api/channel/3/toggle

Toggles channel 3 on or off and returns the new state. You can even do this from a browser address bar!

Change a setting from the browser address bar

GET http://panel-64ee04.local/api/set?location=Signal+Box+North&wifiRoaming=1

Updates one or more settings in a single request.

List all boards on the network

GET http://panel-64ee04.local/api/boards?probe&json

Sends a network probe, waits 3 seconds, then returns a JSON list of every board that responded.

Back up your settings

GET http://panel-64ee04.local/api/settings/export

Downloads a complete backup of all settings as a JSON file.

Full API endpoints

MethodEndpointDescription
GET/api/statusBoard status and identity
GET/api/channelsAll 16 channel configurations
GET/api/channel/{n}Single channel (1–16)
PUT/api/channel/{n}Update channel settings (JSON body)
GET/POST/api/channel/{n}/toggleToggle channel state
GET/api/wifiWi-Fi connection details
GET/api/canCAN bus diagnostics
GET/api/mqttMQTT broker status
GET/api/settingsAll writable settings
PUT/api/settingsUpdate settings (JSON body)
GET/api/set?key=valUpdate settings via URL parameters
GET/api/settings/exportDownload full backup
POST/api/settings/importRestore from backup file
GET/api/boardsList known boards (CSV or JSON)
POST/api/actions/saveSave settings to permanent memory
POST/api/actions/loadReload saved settings
POST/api/actions/defaultsReset to factory defaults
POST/api/actions/rebootRestart the board

For complete API documentation, refer to the dedicated API reference document available through the Documentation link on your board's main page.

22. Technical Reference & Reliability Enhancements

Built for reliability

The System2 platform has been engineered with robustness as a top priority. The Panel Controller is the same system trusted to run The Grand Challenge, Pete Waterman's Guinness World Record-holding portable layout with nearly 700 metres of track and dozens of System2 boards operating simultaneously.

What makes it robust

FeatureDetail
CAN bus The same automotive-grade serial bus used in cars, trucks, and aircraft. It features built-in error detection, automatic retransmission, and bus-off recovery. Immune to most electrical interference found on model railway layouts.
Auto CAN ID Detects CAN ID collisions in real time and resolves them automatically, with NVS-backed persistence. No manual coordination needed.
Wi-Fi auto-reconnect If the Wi-Fi connection drops, the board automatically reconnects. A maximum of 3 automatic reboots are attempted before stopping, to avoid reboot loops.
Wi-Fi roaming Boards scan for and switch to the strongest available access point every 5 minutes when signal quality drops below −70 dBm.
Thread-safe design NVS (settings storage) access is protected by FreeRTOS mutexes to prevent data corruption. MQTT receive uses a lock-free queue between the networking task and the main loop.
CAN TX back-pressure When the CAN transmit buffer is more than 75% full, non-critical frames are dropped to prevent buffer overflow and keep critical messages flowing.
WebSocket rate limiting Browser messages are capped at 50 per second and 200 bytes per message, protecting against runaway scripts or faulty connections.
Signed firmware updates RSA-3072 PSS signature verification with key pinning. Only firmware signed with the authentic MegaPoints OTA key is accepted.
Credential sharing security Wi-Fi credentials sent over CAN use source-locked assembly with timeout, preventing interleaved or spoofed packets from corrupting data.
NVS write optimisation Settings are only written to flash when values actually change (dirty-check against shadow copies), preventing unnecessary flash wear.
Switch debounce Configurable latch timers (default 600 ms) prevent double-triggers from noisy switches or bouncy buttons.

Testing and quality

Every release goes through extensive testing before publication. The firmware includes comprehensive CAN bus stress testing, Wi-Fi failover testing, NVS integrity verification, MQTT broker disconnect/reconnect cycles, and over-the-air update validation including signature verification. The Status Log, Network Monitor, and live charts provide full visibility into the system's operation, making it straightforward to verify that everything is working correctly.

Specifications

ProcessorESP32 dual-core
Inputs16 channels via shift register (active scanning)
Outputs16 LED channels via shift register
CAN bus125 kbit/s, standard frames, 64-deep RX buffer, 32-deep TX buffer
Wi-Fi802.11 b/g/n, 2.4 GHz, WPA2, mDNS hostname resolution
V-Port range1 – 60,000
MQTTAsync client, QoS 1, auto-reconnect with 30s back-off
Settings storageNon-volatile (NVS) — survives power loss and updates
OTA updatesHTTPS from AWS S3, RSA-3072 PSS signed, MD5 verified
Web interfaceAsync web server, WebSocket + SSE live updates

23. Connecting Multiple Boards — the CAN Bus and Wiring

The CAN bus is the wired backbone of a System2 layout. It runs at 125 kbit/s over a simple two-wire connection, and is extremely reliable — the same technology used in cars, aircraft, and industrial machinery.

CAN Bus settings
CAN Bus settings — Auto CAN ID is recommended for most users.

Each board on the CAN network needs a unique CAN ID. With Auto CAN ID turned on (the green toggle), the system manages this for you automatically. If two boards accidentally share an ID, they will detect the collision and pick new, unique IDs within seconds.

Connecting Multiple Boards — the CAN Wiring

The CAN bus is a simple two-wire network that connects all your System2 boards together. It carries switch states, LED commands, and management messages between boards at 125 kbit/s. The wiring is straightforward: run a twisted-pair cable from board to board, connecting H to H and L to L in a daisy-chain.

The simplest setup is two boards connected by a single cable:

Simplest Setup — Two Boards CAN H CAN L Panel Controller mimic panel TERM Servo Driver under baseboard TERM Jumper IN Jumper IN
The simplest CAN bus: two boards, both with termination jumpers fitted. A single twisted-pair cable connects CAN H to CAN H and CAN L to CAN L.

When you add more boards, they simply tap into the same pair of wires. The CAN bus is a linear bus — branch it out from board to board rather than running separate cables back to a central point.

CAN Bus Wiring — Multiple Boards CAN H CAN L Panel Controller mimic panel TERM Servo Driver under baseboard TERM Servo Driver under baseboard TERM DCC Gateway DCC interface TERM Jumper IN Jumper REMOVED Jumper REMOVED Jumper IN DCC Track Bus DCC Accessory address = V-Port address (e.g. Accessory 86 → V-Port 86)
Four boards connected to a CAN bus. Termination jumpers are fitted on the first and last boards only; the two Servo Drivers in between have their jumpers removed. The DCC Gateway connects to your DCC command station — DCC Accessory addresses map directly to V-Port addresses, so sending a command to Accessory 86 translates to V-Port 86. It’s that simple.

Termination Jumpers

Every System2 board has a built-in 120 Ω termination resistor that is activated by a small jumper on the board, labelled TERM. The CAN bus standard requires exactly two termination resistors — one at each physical end of the bus cable. The rule is simple:

If termination jumpers are missing from both ends, the bus may suffer from signal reflections causing intermittent communication errors. If too many jumpers are left in, the signal is over-damped and range is reduced. Always leave exactly two — one at each end.
With only two boards on the bus, both boards keep their termination jumpers fitted — each one is an end of the bus.
Unless you have a specific reason to set CAN IDs manually, leave Auto CAN ID switched on. It is the simplest and most reliable option.

Document Revisions

VersionDateChanges
V27 4 April 2026 New: CAN Monitor packet filtering with filter bar (19). New: Instant rollback button on firmware validation banner. New: User Guide link in footer navigation. Improved: TLS buffer pool for reliable cloud operations. Improved: Memory efficiency with compact ring buffers. Improved: Rollback timer stability. Promoted all V27 beta features to stable.
V26 27 March 2026 Added: Cloud Backup & Restore section (15). Added: What's New in V26 summary (11). Rewritten: Software Updates section with validation, rollback, recovery mode, progress bars, and pre-release channel. Added: Local time in status log. Added: Ownership transfer. Updated: Saving section with cloud backup reference. Updated: Navigation and UI descriptions to reflect standardised footer menus and reorganised settings page. Added: Revision history.
V25 23 March 2026 Initial release of this document. Covers all V25 features including live charts, Wi-Fi roaming, signed firmware updates, REST API, backup & restore, CAN bus back-pressure, boot delay, EasyConfig, and the refreshed user interface.