User Tools

Site Tools


French VersionDeutsche VersionEnglish Version

WIO - Setup

WIO Overview

Rocview → Menu → Programming → WIO


  • No setup is possible if there are multiple devices with the same ID; Power on just one with that ID and change it.
  • This documentation is based on WIO 1.x firmware.



With the Set button the ID, name and Type can be changed.

Type Functions
Control Throttle using short IDs
LED 32 I2C I/O and FastLED
SERVO 32 I2C I/O and Servos
RFID 32 I2C I/O and RFID
DCC 32 I2C I/O and DCC CS or Booster
Mobile 32 I2C I/O and PWM to control a H-Bridge or RC ESC
CAN WiFi-TCP interface between 250kb CAN and Rocrail on port 5550
S88 Märklin sensor bus
IO16 All-rounder


Reboots the selected WIO module.


Shutdown the selected WIO module.
All WIO modules will shutdown in case the All option is selected.


wio-report.jpg A usage report is generated for all WIO modules in the query.
The default program wil be started to view the CSV file.

WEB Browser

This will open the default WEB Browser with the IP of the selected WIO to be able to maintain SPIFFS files.

CAM Stream

In case of type CAM the streaming link can be used:



The selected WIO will flash its LED faster until the Show command is send again by pushing this button.

WIO Type


The extra service on port 5550 can be used to communicate with a CAN bus like MBUS.
A power off command is send to CAN if the WiFi or Rocrail connection is lost.



Count of 100ms for setting the output pulse length.
Also used for dual coil switch motors.


The RX/TX pins on the ESP8266 are the same as used by the serial monitor.
The serial monitor will get read only, and swapped to another baudrate, when using the RX for other devices.


Default serial Monitor at 57600bps.


RailCom reader, GCA214, at 250.000bps.


RFID ID-12LA reader at 9600bps.

For RailCom and RFID: If the serial monitor is still needed for tracing, the baudrate must be adjusted in the Arduino IDE.


:!: In combination with a H-Bridge, WIO-Drive and WIO-Boost, the power monitor must be enabled to be able to power on. A WIO reboot is required!

Power monitor

Monitor the power consumption and shutoff at 1A. (Must be set for WIO-Drive and WIO-Boost.)


Use an external DCC 3V3 signal. (1.63+)
See the IBB connector on the WIO-Boost and WIO-Drive.
It will power off automatically in case no DCC signal is detected.


Enable RailCom cutout in the preamble and idle packet.
Disable this option in case none RailCom decoders are used.

Fast PT

Only one packet stream instead of 4 x reset plus 6 x program are send to the PT.
Note: Not all decoders will accept this none NMRA conform sequence.

Mobile servo PWM


In case of WIO Mobile, this option will set servo compatible PWM on the D5 pin, which can be used to connect a RC ESC. (Electronic Speed Control)


Rotate 180°

Rotate the display content 180°.


Select the connected displays geometry.



Number of rotary ticks for 100% speed.

Deep sleep

Put WIO Control into deep sleep after a time out of x minutes.


Synchronize speed and function field events. Disable in case of a slow network to avoid slider jumping.
:!: This option will only work well in case the used Command Station reports speed changed at once. In all other cases the WIO-Control cannot set the loco speed.


3 Wire Fast uses a timer interrupt for a higher stepper frequency.
Check the USERCNF.h for settings.




Interfacing between USB and CAN.

  • RCAN bps=250000
  • MCAN bps=500000

Pico CAN

Option for the WIO-Pico-CAN PCB to get the right pin mapping and 20MHz MCP2515 crystal.



See: KeyPad

I/O1 Servos

The PicoW with type IO16 supports extra 8 servos on the I/O1 connector.
The needed power supply should be also extra because the WIO-PicoW-01 does not provide enough power for 12 servos.

PWM 100Hz

H-Bridge support with hardware PWM at 100Hz.
Default is software PWM at 25Hz.(More suited for Track Driver.)
25Hz is not recommended for dimming lights/LEDs because it will flicker.

Sync Slave

In case of software H-Bridge PWM the Sync Master will generate on the HALL pin a sync signal for 'slave' WIO's.
The slave WIO's will activate an interrupt on the HALL pin so the PWM will be in sync with the master.
This option makes only sense in case of a Track Driver system with more then 8 blocks. (Multiple WIO's)
Note: If this option is set without a master sync on the HALL pin the generated PWM is useless,


With the Set button the pulse length, options and the selected I2C field can be changed.


Setup the basic connections can be done on this tab:

  1. Plug in the ESP/PicoW cable into an USB port on the computer
  2. Query devices
  3. Select the ESP/PicoW USB device from the list
  4. Connect
  5. Type in the connection parameters and push Set

The WIO is ready for use.

Note 1: Automatic Server needs an active R2RNet.
Note 2: The Identify Number must be set unique among all WIO's.

Query Devices

Query serial USB devices, and try to preselect one.
Click on Connect after selecting the right device to be able to communicate with the ESP/Pico.
Note: Under Windows serial devices are scanned up to COM20. Higher COM ports can be typed in manually in this field.


Try to make a 115200 baud connection with the selected serial device.

  • Make sure the user is in the dialout group to be able to connect ot the serial device.
  • If some other process(Arduino IDE Monitor) has already a connection with the selected device, it is not possible todo the Maintenance.


Activates the "Data Terminal Ready" to signal the connected microcontroller that it can send data.
This option is temporare and should be left checked.


Disconnect from the serial device. This will be done automatically on closing the WIO Setup dialog.



SSID name, without blanks, to use for the WiFi connection.
Max. length is 32 characters incl. the zero termination.
:!: Only 7 bit ASCII is supported.


Let the connected WIO module search for available networks. This will fill up the Name combobox.


The password for the selected SSID name without blanks. Activating the checkbox will makes the password readable.
Max. length is 32 characters incl. the zero termination.
:!: Only 7 bit ASCII is supported.


Sends the SSID name and password to the connected WIO module.



The DNS name or IP address of the Rocrail server.


Use UDP Multicast, R2RNet, to find a Rocrail server.
:!: Multicast must be enabled in the network router to be able to find the Rocrail server automatically.


User besides TCP also UDP Multicast for RASCII communication. (WIP)


Sends the server name to the connected ESP.

Identity & Type


Unique node ID.


Optional node name.


WIO main function.


Sends the ID and type to the connected ESP.


Export settings in a CSV file.


Import settings from a CSV file.


Refresh the terminal with the ?<enter> command.


Port usage.


Sends the port usage to the connected ESP.


Switch between Info and Debug trace level.


Sends a start of day command to the connected ESP.


Reset the part of the Flash memory on which the WIO configuration is located.
Tip: Use this if the ESP/Pico was loaded before with another sketch to get the default WIO configuration.


WIO binaries for ESP8266 and ESP32 can be uploaded by OTA.

  1. Select the WIO on the Query tab.
  2. Goto the Update tab.
  3. Select the target binary; Can be downloaded here.
  4. Adjust the OTA password if needed. (Default is "12345678")
  5. Push the OTA button.

Start OTA

if the file name is left empty the selected WIO module will be set in OTA mode for updating the firmware over the air by other tools like the Arduino IDE.
The number, at the right of the "Start OTA" button, is the pause in seconds between activating OTA and uploading the binary. Some microcontrollers need some more time to prepare. (ESP8266)

OTA from Scratch

To avoid bothering with the needed libraries for the WIO Sketch this WPS-OTA-Sketch can be used for binary OTA:
( The Sketch can also be downloaded from )

  1. Install the Arduino IDE.
  2. Add the ESP boards: ESP Boards.
  3. Flash this Sketch on the target ESP.
  4. Open the Arduino serial monitor with 115200 baud.
  5. Put the WiFi router/repeater in WPS mode. Alternatively, the SSID and password can be entered in Sketch, then set #define WIFI_WPS to "false".
  6. Wait for the IP Address in the serial monitor.
  7. Select on the Update tab in the WIO Dialog the WIO binary.
  8. Set the IP address and port on the Update tab.
  9. Start OTA.
  10. Ready to setup the rest of the WIO on the Maintenance tab.

Alternatively a mDNS browser can be used for point 4 and 6.

mdns-browser-rrota.jpg ASCII���Screenshot
Discovery Arduino IDE → Tools → Ports → Network Ports

Trouble Shooting

WiFi Connection (DE)

Im FritzBox WEB Oberfläche gibt es ein Möglichkeit um WiFi Verbindungen zu protokollieren:
FritzBox → System → Ereignisse → WLAN
Option "Auch An- und Abmeldungen und erweiterte WLAN-Informationen protokollieren" dazu schalten und übernehmen.
Danach der WIO versuchen lassen eine Verbindung auf zu bauen. Dann auf "Aktualisieren" klicken um nach zu schauen wie es um dem Verbindungsversuch gelaufen ist.

arduino/wio-setup-en.txt · Last modified: 2024/05/18 11:27 by rjversluis