Ports editor

The ports editor lets you configure the serial communication channels that MotioForge Studio uses to send commands to the hardware. It opens from the start window via the Edit button in the Ports tab.

List structure

The upper section shows the list of already configured ports. Each row represents a port with name, type, protocol, and physical address. Select a row to edit it in the panel below; click New to add a port.

Configuration fields

FieldDescription
Logical nameInternal identifier for the port (e.g. "Main port", "Head"). Must be unique within the domain.
TypeAlways Serial in the current version of MotioForge Studio.
ProtocolCommunication protocol used by the connected hardware. See protocol table below.
BoardThe board running DEIMOS on this port (e.g. Arduino Mega 2560). It decides which pins exist and which are reserved: see Boards and reserved pins. Ports created with earlier versions use Arduino Mega 2560.
Serial device (COM/tty)The port to which the device is physically connected, e.g. COM3 on Windows or /dev/ttyUSB0 on Linux.
Baud rateSerial communication speed. With the D4C protocol it is fixed at 115200 and cannot be changed.
DescriptionFree notes about the port. Optional.

Available protocols

ProtocolTypical use
D4CDEIMOS boards (Arduino Mega running DEIMOS firmware). Handles BUS servos (ST3215 and similar), PWM servos on direct pins or on a PCA9685 (I2C) expander, and Switch outputs on the same port. It is the only protocol enabled in the current version.

Finding the correct COM port

On Windows: open Device Manager → Ports (COM & LPT). The controller name will appear after connecting the USB cable. Note the COM number (e.g. COM5) and enter it in the Serial device field.

Save and remove

Before starting playback, MotioForge Studio automatically opens all ports configured in the domain. If a COM port is unavailable, a warning appears in the console.

Boards and reserved pins

When you assign a pin to a switch, a PWM servo, a trigger button, a button in Export for DEIMOS SD or the sensor of a parametrized animation, ARES checks the pin against the profile of the port's board:

Arduino Mega 2560 (DEIMOS 2.0)

PinUseResult
0, 1USB to the PC (Serial0)blocked
16, 17serial servo bus (Serial2)blocked
20, 21I2C bus (PCA9685)blocked
50, 51, 52, 53SD card readerblocked
13status LED (on during playback)to be confirmed
A0–A15 (54–69)analog inputs for the sensorfree

ESP32 WROOM-32 (provisional profile)

DEIMOS firmware for ESP32 does not exist yet: peripherals are assigned to the module's standard pins and will be confirmed when the firmware is available. The analog input reads 0–4095: the firmware will scale the value to 0–1023.

GPIOUseResult
1, 3USB to the PCblocked
6–11internal flash memoryblocked
16, 17serial servo busblocked
21, 22I2C busblocked
5, 18, 19, 23SD card readerblocked
2status LEDto be confirmed
0, 12, 15boot strapping pins: a connected circuit can prevent start-upto be confirmed
34–39input only, no internal pull-upblocked as outputs; buttons need an external resistor
36, 39, 32, 33, 34, 35analog inputs usable with Wi-Fi onfor the sensor

With DEIMOS 2.0 or later the board identifies itself at start-up (board=mega2560): if it does not match the port's Board field, ARES tells you when you run an animation.

See also: Key concepts — Elements editor — Port console — Load DEIMOS firmware