Motocomm firmware and reset
Update your W12 over a USB data cable or reset ownership with confirmation on the device.
User guide
Before you start
For everyday use, choose the stable channel. Check the version offered on this page and its release notes. The test channel contains releases for testing. After flashing, wait for verification to succeed and check the version that starts.
Use Chrome or Edge on a computer. On Android, the page uses the browser USB interface and requires a data cable and USB host support. If access is unavailable, use the Motoristi app or a computer.
Use a USB-C data cable, not a charging-only cable. Charge the battery and provide stable power. Keep the cable connected while writing.
Stop voice activity and let the device become idle. Close other applications and tabs using its USB port.
Install step by step
- Connect the USB cable. Click Connect device and select its port once in the browser dialog.
- The page checks the device and flash size and prepares the published release. This may restart the device but does not write firmware. Stop if compatibility checks fail.
- Review the offered release. To switch channels, release the prepared connection, choose the channel and reconnect. The page reuses the granted port.
- Confirm installation and start writing. Wait for verification to finish. Keep the page open and the cable connected.
- After successful verification, connect the console and press RESET once without holding the main button. Check the running version. Installation preserves pairing; pair a new or reset device through the motoristi app.
Reset and pair again
With firmware 0.4.28 or newer, hold the main button for 15 seconds until the reset confirmation appears. Release it and press briefly within the displayed 5-second countdown. Without confirmation, the request is cancelled.
From this page, connect the console, observe the boot version and read the state before reset. Give consent and request reset. Confirm with a brief physical press on the device within 5 seconds. Firmware 0.4.28 or newer is required.
Reset removes the owner, group, home network, device name, texts, images and radio profile. The device receives a new identifier and network name. After reboot, read the state again, remove the old profile record in the app and pair the device as new.
The firmware rollback protection and bench-device radio autostart are preserved.
On 0.4.26, reset is available only through Remove in the app and preserves the identifier and network name. To reset as a new device, update to a release that supports reset with the main button.
Reinstalling the app does not remove pairing from the device. Reset the device before pairing with a fresh app installation. If it runs 0.4.26 and the old app is already gone, first install a release that supports reset with the main button over USB, then reset and pair with the new app. Updating alone does not erase pairing.
Buttons and display
W12 has two separate buttons. The table shows the differences between older firmware and versions that support reset with the main button. Check the device version and its release notes.
- Device button — The main button performs the actions in the table and acts as BOOT at startup.
- RESET — Restarts the device. Does not erase data or remove pairing.
| Action | 0.4.26 | 0.4.28 or newer |
|---|---|---|
| Short press, under 1 second | Unpaired: opens a 60-second window and shows QR in the left half of the screen. Another short press creates a new code/window. Paired: wakes the display and advances the page. On the six-digit pairing confirmation screen: confirms the code. | Unpaired: opens a 60-second window and shows Data Matrix in the blue rows; the yellow band shows the app-scanning instruction and countdown. Another short press creates a new code/window. Paired: wakes the display and advances the page. On the six-digit pairing confirmation screen: confirms the code. |
| Hold from 1 to under 10 seconds | Paired: performs the configured long-press action, mute/unmute by default. Unpaired: no action. | Paired: performs the configured long-press action, mute/unmute by default. Unpaired: no action. |
| Hold from 10 to under 15 seconds, then release | After at least 3 seconds with the button released: safe mode starts at 10 seconds while still held. The display/settings return to the known-good checkpoint; pairing is preserved. Holding longer does not reset ownership. Press RESET to exit. | The button must have been released for at least 3 seconds beforehand. On release, enters safe mode and restores the display/settings to the known-good checkpoint; pairing is preserved. Press RESET to exit. |
| Hold for at least 15 seconds | No button reset. Safe mode has already started at 10 seconds. To reset as a new device, update to a release that supports reset with the main button. | On a paired device, shows the reset confirmation and 5-second countdown. Release and press briefly once within 5 seconds: resets and restarts as a new device with a new identifier and network. No press, or a press lasting at least 1 second, cancels. Pair again through the app. |
The display is the status indicator; firmware does not drive a user status LED. Reset may be refused without a confirmation screen during an update, startup health check, self-test, recent voice activity or own SOS. The reset hold has no effect on an unpaired device.
Troubleshooting
Windows, macOS and ChromeOS need no additional USB setup. For Linux, follow the instructions below.
Linux: if port access is denied, choose one of the following ways to configure USB access.
Option 1: add your user to the dialout group. Log out and back in after running the command.
sudo usermod -aG dialout $USER Option 2: install the W12 rule. It grants access to the active user and prevents ModemManager from probing these devices. Unplug and reconnect USB after running the command. Download the rule
curl -fsSL https://motoristi.eu/files/70-motocomm-esp32.rules | sudo tee /etc/udev/rules.d/70-motocomm-esp32.rules && sudo udevadm control --reload-rules && sudo udevadm trigger If you use Chromium as a Snap package on Ubuntu, also grant USB access to the package:
sudo snap connect chromium:raw-usb Port not found: check the data cable, USB port and browser support. Close other applications connected to the device and reconnect it.
Permission denied: allow the serial port in the browser, close other programs using it and check USB setup for your operating system. Then connect again from this page.
Writing stopped: do not assume installation completed. Restore power and the connection, enter USB download mode if needed, and start with device inspection again. Reinstallation runs all checks again; this page never retries a write automatically.
Normally the page enters USB download mode automatically. If the port disappears or writing stops, hold the main button, press and release RESET, then release the main button. When the port reappears, repeat inspection and installation. Press RESET when finished. Alternatively, unplug USB, hold the main button, reconnect USB and release it. Never hold the main button during a normal restart.
On older firmware, the kit may pair but the phone may not connect afterwards. If there is no connection within about 30 seconds, press RESET once. This does not remove the pairing. Check the stable channel for an update and read the offered release notes.
For USB use Chrome or Edge on a computer with Web Serial and HTTPS. Android USB support depends on the device.
On Android, the page uses the browser USB interface. A data cable and phone USB host support are required; use an OTG adapter if needed. If the device is unavailable, use the Motoristi app or a computer.
Install firmware
Choose a channel and device to check its flash layout and download the latest published release. This restarts the device into download mode.
Connecting checks the device and prepares the published release without writing firmware. It may restart the device and load a temporary program into RAM. Installation begins only after your consent.
For manual entry, hold the main button, press and release RESET, then release the main button. The display stays dark or frozen. Check this option before selecting the port for inspection or installation. Press RESET after writing.
Linux: if port access is denied, choose one of the following ways to configure USB access.
Option 1: add your user to the dialout group. Log out and back in after running the command.
sudo usermod -aG dialout $USER Option 2: install the W12 rule. It grants access to the active user and prevents ModemManager from probing these devices. Unplug and reconnect USB after running the command. Download the rule
curl -fsSL https://motoristi.eu/files/70-motocomm-esp32.rules | sudo tee /etc/udev/rules.d/70-motocomm-esp32.rules && sudo udevadm control --reload-rules && sudo udevadm trigger If you use Chromium as a Snap package on Ubuntu, also grant USB access to the package:
sudo snap connect chromium:raw-usb Disconnected.
Detected device: —
Version observed on the console: —
Version to install: —
If download-mode connection fails
- Hold the main device button (BOOT).
- Press and release RESET while holding the main button.
- Release the main button, check that the device is already in USB download mode, and repeat inspection and installation. After successful writing, press RESET without holding the main button.
Console and factory reset
Read the state before requesting reset to record the current identifier. After restart, reconnect if needed and read it again to verify the new identifier and network name.
Disconnected.
The console reads data. After a confirmed reset, the page checks state once when the device is ready. You can also request state manually. No reset commands or restart signals are sent automatically.
Console (only in this tab)
Only recognized boot and status lines are displayed. Pairing data is not displayed or sent to the server.
Reset removes the owner, group, home network and personal settings. The device gets a new identity and network name. After requesting reset, briefly press the device button when its confirmation appears (within 5 seconds).
Reset requires firmware 0.4.28 or newer. Connect the console and press RESET to read its boot version.