INOGENI TOGGLE ROOMS
User guide
Version 1.6
June 20, 2025
Version History
>Version | Date | Description |
---|---|---|
0.1 | January 17, 2024 | Preliminary user guide for device launch. |
0.2 | January 24, 2024 | Added new options to set built-in EDIDs Updated RESTAPI and serial commands for EDID and EDIDUSR. |
0.3 | March 15, 2024 | Updated the connectivity diagram. |
1.0 | March 20, 2024 | Updated serial and REST APIs. Updated certification page. |
1.1 | March 25, 2024 | Adding precisions to priority functions. |
1.2 | May 22, 2024 | Adding Maestro settings explanations. Adding precision to specific modes. Adding INO – BUTTON KIT information. |
1.3 | August 30, 2024 | Adding precisions on HOSTMEETING function. |
1.4 | November 18, 2024 | Adding API table which summarize all RS232 and RESTAPI commands. |
1.5 | January 9, 2025 | Adding precision to RESTAPI. Adding web interface section. |
1.6 | April 24, 2025 | Adding "TCP to RS232 tunneling" feature control. |
Typical Applications
Here is a typical connection diagram used for the TOGGLE ROOMS device in a videoconferencing setup.
ROOM PC MODE WITH BYOD CONTENT SHARING
In this mode, only the Room PC USB and HDMI connections are routed to the main USB and HDMI peripherals.
The Room PC is the system that is currently selected to the main USB and HDMI peripherals. However, if the user would like to send HDMI content from the laptop's USB-C or HDMI connection to the Room PC, it is possible to do so with the HDMI SHARE output connection.
The user can also initiate a BYOM session on their laptop but a user trigger (front button, INO – BUTTON KIT or API call) needs to be done.
BYOM (BRING YOUR OWN MEETING)
In this setup, the laptop is the system that is currently selected to the main USB and HDMI peripherals.
Block Diagram
Here is a simple block diagram to better understand the usage of the product.
LEGEND
- USB-C
- USB
- HDMI
The diagram illustrates the flow of signals between the Room PC, the TOGGLE ROOMS switcher, and various peripherals like laptops, displays, and USB devices. It shows USB-C, USB, and HDMI connections, including power delivery and data transfer.
Figure 1: Basic block diagram when RoomPC and content sharing mode is activated.
Connectivity Diagram
Here is a simple connectivity diagram showing the setup for videoconferencing.
The diagram depicts a typical meeting room setup with a display, a touch panel, a speakerphone, a laptop, and the TOGGLE ROOMS device. It illustrates the HDMI and USB connections between these components, including the flow of content sharing.
Device Interfaces
Here are the devices interfaces.
[Front panel of the INOGENI TOGGLE ROOMS device showing 'LAPTOP HOSTS THE MEETING' button, 'PWR' LED, and various ports like USB-C, USB, HDMI.]
[Back panel of the INOGENI TOGGLE ROOMS device showing ports for USB-C, USB, HDMI, LAN, RS232, GPI, and power input.]
Items
>Item | Description |
---|---|
1 | LAPTOP HOST THE MEETING button. |
2 | PWR and charging status leds. |
3 | 24VDC power input. |
4 | USB-C laptop connection. |
5 | USB-B laptop connection. |
6 | HDMI laptop connection. |
7 | USB-B Room PC connection. |
8 | HDMI Room PC connection. |
9 | USB devices. |
10 | HDMI display output. |
11 | HDMI share output from laptop. |
12 | LAN interface. |
13 | RS232 and remote interface. |
14 | GPI/button interface. |
LEDs Behavior
Here are the LEDs behavior:
LAPTOP HOSTS THE MEETING
>State | Description |
---|---|
OFF | Laptop not selected. |
SOLID | Laptop selected. When user presses the button and a laptop is connected, there will be pulses on the integrated led to indicate which laptop is selected: 1x pulse: the "Laptop USB-C" host is selected. 2x pulses: the "Laptop USB-B + HDMI” host is selected. |
BLINK | Error condition. 1. When the user tries to switch to laptop if this one is not present or if USB or HDMI connections are missing. 2. When the user tries to switch host if button is locked through our API. |
PWR
>State | Description |
---|---|
OFF | Device not powered. |
SOLID | Device powered. |
Charging
>State | Description |
---|---|
OFF | Laptop is not charging. |
SOLID | Laptop is charging. |
Operating Modes
Here are the operating modes supported by the device. They will be explained here.
ROOM PC MODE WITH BYOD CONTENT SHARING MODE
This is the default mode. In this mode, only the Room PC USB and HDMI connections are routed to the main USB and HDMI peripherals.
The Room PC is the system that is currently selected to the main USB and HDMI peripherals. However, if the user would like to send HDMI content from the laptop's USB-C or HDMI connection to the Room PC, it is possible to do so with the HDMI SHARE output connection.
The user can also initiate a BYOM session on their laptop but a user trigger (front button, INO – BUTTON KIT or API call) needs to be done.
BYOM MODE
In this mode, the laptop is the system that is automatically selected to the main USB and HDMI peripherals when detected. The Room PC is completely disconnected from the setup. When the laptop gets disconnected, the Room PC takes over until a new laptop is plugged in.
CUSTOM MODE
In this mode, the user can configure the USB and HDMI switching modes independently.
AUTOMATIC
This mode will switch automatically to the last source (USB or HDMI) connected if the operation mode is set to Custom. If the current source is disconnected, the device will switch back to the other source if it is detected. Push-button action and remote control are also supported.
MANUAL
The manual mode will enable you to force a specific source selection. Push-button action and remote control are also supported.
MANUAL WITH FALLBACK
The manual mode with fallback supports the same features as the manual mode. It will only add the possibility to switch to the other detected source connection automatically if the selected source is disconnected.
USB FOLLOWS HDMI
In this mode, the USB host selection depends on the HDMI source selected. If the HDMI display switching mode is set to "Automatic”, the selected USB host will be the one associated to the last detected HDMI display source.
Applicable only on the USB host switching mode.
HDMI FOLLOWS USB
In this mode, the HDMI source selection depends on the USB host selected. If the USB host switching mode is set to "Automatic”, the selected HDMI display source will be the one associated to the last detected USB host.
NOTE: You cannot set "USB follows HDMI” and “HDMI follows USB” modes simultaneously.
Specifications
Here is the complete specification.
Physical details
>Property | Value |
---|---|
Dimensions (W x L x H) | 25.11 cm x 10.97 cm x 3.26 cm 9.89" x 4.32" x 1.28" |
Weight | 770g |
Power supply | 160W (85-264VAC 50/60Hz to 24V/6.67A DC) |
Power supply dimensions (W x L x H) | 175 mm x 72 mm x 35 mm 6.89" x 2.83" x 1.38" |
Package contents
- 1 x TOGGLE ROOMS
- 1 x USB-C to USB-C cable – 6 ft.
- 1 x USB 3.0 cable (USB-A to USB-B) – 3 ft.
- 2 x terminal block 4-pos
- 2 x mounting brackets
- 4 x M2.5 mounting screws for brackets on product
- 4 x screws for Toggle Rooms table/wall mount
- 1 x power supply 85-264VAC 50/60Hz to 24V/6.67A DC / 160W
- International adapters included in the box (USA/CA or EU/UK/AU/BIS)
- 1 x PSU mounting bracket
- 4 x screws for PSU table/wall mount
- 4 x rubber feet
Environmental
>Property | Value |
---|---|
Operating temperature | 0° to 45° C (32° to 113° F) |
Storage temperature | -40° to 105° C (-40° to 221° F) |
Relative humidity | 0% to 90% non-condensing |
Mounting options
Ability to mount under the table or on a wall.
UPC code
051497418694
Origin
Canada
Warranty
5 years
HOST - LAPTOP
>Interface | Details |
---|---|
1x USB-C connector | Supports USB-C DisplayPort Alternate Mode DisplayPort up to 3840x2160p60 / 4096x2160p60 USB3.0 (USB 3.1 Gen 1 / 5 Gbps) USB2.0 (480 Mbps) Charging up to 100W USB-C cable locking option |
1x USB connector | USB 3.0 Type-B |
1x HDMI connector | HDMI 2.0 - Up to 3840x2160p60 / 4096x2160p60 - 18Gbps Cable locking option. |
HOST - ROOMPC
>Interface | Details |
---|---|
1x USB connector | USB 3.0 Type-B |
1x HDMI connector | HDMI 2.0 - Up to 3840x2160p60 / 4096x2160p60 - 18Gbps Cable locking option. |
HDMI DISPLAY output
>Property | Details |
---|---|
Resolution | HDMI 2.0 - Up to 3840x2160p60 / 4096x2160p60 - 18Gbps |
Connector | HDMI with cable locking option. |
HDMI SHARE output
>Property | Details |
---|---|
Resolution | Up to 3840x2160p60 / 4096x2160p60 - 18Gbps |
Connector | HDMI with cable locking option. |
USB devices
>Connectors | Details |
---|---|
3 x USB 3.0 Type-A ports. | 1.8A shared between downstream ports. |
Power
1.8A shared between downstream ports.
Control
Control options
- Front button - for laptop selection
- RS232
- GPI
- LAN
- USB
IP interface
- 10/100Mbps
- Supports DHCP or static addressing.
- IP control available through RESTAPI and telnet connections.
RS232 interface
- 4-pos terminal block connector
- Baud rates: 9600 [default], 19200, 38400 and 115200
- Data bits: 8
- Stop bits: 1
- Parity: None
- Flow control: None
GPI interface
- 4-pos terminal block connector
- 2x Contact-closure control.
- GPI: Controlled by open-drain IO (short to ground) or driven IO. Supported voltage range: 0 to 12V max. Voltage threshold is 2.3V.
- VOUT: Able to power up the led on the button of our INO-Button accessory. Logic-low level: 0 @ 0.5V. Logic-high level: 4.5 @ 5V.
HDMI video
HDCP compliance
Compliant with HDCP2.3, HDCP2.2 and HDCP1.4
HDMI compliance
Compliant with HDMI2.0b, HDMI1.4 and DVI1.0
Sampling frequency
600MHz
Video scaling
Crosspoint switch supports video downscaling from 4K to 1080p.
Chroma subsampling
YUV/RGB
4:4:4, 4:2:2
CEC
Ability to send CEC commands to connected HDMI display sink.
HDMI audio
Audio
Audio passthrough from input to output
Formats
LPCM, Dolby Digital, DTS up to 192kHz
Certifications
>Device | Power supply | TAA-compliance |
---|---|---|
FCC, CE, UKCA, RoHS, IEC62368, RCM, SOV | FCC, CE, UKCA, RoHS, IEC62368, RCM, CCC, CB, EAC, VI, UL | Yes |
Compatibility
Operating system
- NO driver installation necessary
- Windows 7 and above (32/64-bit)
- macOS 10.10 and above
- Linux (kernel v2.6.38 and above)
Serial Communication Protocol
Here is the complete list of commands provided through the serial connection. As written on the back of the device, here is the pinout of the terminal block.
[Diagram showing pinout: R=T, SW=5V, T=Transmit, GND=Ground]
NOTE: The user needs to put a space character between the command name and argument.
You need to add a carriage return <CR> character and a line feed <LF> character at the end of the command string.
Typically, commands will return "ACK<CR><LF>" in case of success and "NACK<CR><LF>" in case of failure.
Baud rate: 9600 [default] // Data bits: 8 // Stop bits: 1 // Parity: None // Flow control: None
See the "API Commands" section for all the commands available.
TCP TO RS232 TUNNELING
The device can act as a TCP to RS232 bridge over the TCP port 5000. Any data sent/receive on this TCP socket will entirely be presented to the RS232 connection. Enabling this option through the device configuration or API will disable the "Serial communication protocol" of the device.
You can use the PuTTY or Hercules clients to test your device with your equipment.
[Screenshots of PuTTY and Hercules configuration utilities for TCP to RS232 tunneling.]
REST API
You can enable a bearer authentication in the HTTP header (Authorization: Bearer <token>) through our configuration page to increase security on the API.
There will be a return code to each call with the following commands:
- 200 => success
- 400 => error
- 401 => authorization error
The return body will usually be JSON formatted with a "message" field containing a JSON string explaining the cause of the error or “success” in case of success. Note that we are using self-signed certificates.
It is also possible to embed arguments to an API call inside the URL to ease configuration with some control systems with the following topology:
GET https://<IP>/api/v1/<COMMAND>?<ARG1>=value&<ARG2>=value
where <COMMAND>, <ARG1> and <ARG2> are command and associated arguments.
For example, using the usbHost command, you can issue the following request:
GET https://<IP>/api/v1/usbHost?host=1
This request will set the USB host to laptop USB-C port.
The following commands allow to perform password management and bearer token management. By default, no authentication is required to perform action using the REST API. Authentication can be enabled through the embedded webpage or the REST API itself.
>Command URL / Description | Body arguments | Return body |
---|---|---|
HTTP POST https://<IP>/api/v1/ changePassword Change the password to <newPassword>. |
{ "oldPassword": "<oldPassword>", "newPassword": "<newPassword>" } | { "message": <String> } |
HTTP GET https://<IP>/api/v1/ accessToken Return the bearer token. |
{ "token": <String>, "message": <String> } | |
HTTP POST https://<IP>/api/v1/ accessToken Generate random access token and activate bearer token authentication for REST API. |
{ "token": <String>, "message": <String> } | |
HTTP DELETE https://<IP>/api/v1/ accessToken Delete and deactivate bearer token. |
{ "message": <String> } | |
HTTP GET https://<IP>/api/v1/ accessTokenEn? enable=<number> Activate (1) or Deactivate (0) access token for REST APIss |
{ "message": <String> } |
The bearer token is generated using a random process. The format of the bearer token only supports the following:
- Alphanumeric (A to Z) upper and lowercase characters.
- Numbers 0-9.
See the "API Commands" section for all the commands available.
TELNET
You can use any telnet application to communicate with the device using TCP. Make sure to use the right IP address and port 23.
Use the serial communication protocol to configure the device.
The quit command can be used to ask server for disconnection.
See the "API Commands" section for all the commands available.
API COMMANDS
Here is the list of the RS232 and RESTAPI commands available for the device. The two interfaces share the same API.
TX When command have all body arguments, it will apply the configuration to the device.
RX When command does not have any body arguments or only first argument is provided, it will return information from the device.
>API command (RS232 - RESTAPI) |
Description | RS232 payload | RS232 return | RESTAPI payload | RESTAPI return |
---|---|---|---|---|---|
AUTOHDMICECPWR autoHdmiCecPwr |
Get/Set the automatic CEC power control of the connected display. When enabled, the device will turn on/off the display depending on the actual state of the HDMI source routed to the display. | TX <enable> <enable> options: 0 => OFF 1 => ON |
ACK<CR><LF> ENABLE=<enable><CR><LF> ACK<CR><LF> |
enable=<enable> | { "enable": <enable>, "message": <String> } |
BAUDRATE baudrate |
Set RS232 baud rate. <baudrate> options: 0 => 9600 1 => 19200 2 => 38400 3 => 115200 |
TX <baudrate> | ACK<CR><LF> BAUDRATE=<baudrate><CR><LF> ACK<CR><LF> |
baudrate=<baudrate> | { "baudrate": <baudrate>, "message": <String> } |
BTNLOCK btnLock |
Get/Set the button lock status. <lockState> options: 0 => Not locked 1 => Locked |
TX <lockState> | ACK<CR><LF> BTNLOCK=<lockState><CR><LF> ACK<CR><LF> |
btnLock=<lockState> | { "btnLock": <lockState>, "message": <String> } |
CECPASSTHROUGHEN cecPassthroughEn |
Get/Set CEC passthrough setting from source to display. This setting allows CEC commands to be sent or not from the video source to the connected display. Manual CEC commands will continue to work regardless of this setting. |
TX <enable> <enable> options: 0 => OFF 1 => ON [default] |
ACK<CR><LF> ENABLE=<src><CR><LF> ACK<CR><LF> |
enable=<enable> | { "enable": <enable>, "message": <String> } |
CECTOGGLEMUTE cecToggleMute |
Toggle mute control. | TX ACK<CR><LF> |
{ "message": <String> } | ||
CECVOLDOWN cecVolDown |
Decrease display volume. | TX ACK<CR><LF> |
{ "message": <String> } | ||
CECVOLUP cecVolUp |
Increase display volume. | TX ACK<CR><LF> |
{ "message": <String> } | ||
DISPLAYSRC displaySrc |
Get/Set which HDMI source to be routed to display output. <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI 3 => OFF |
TX <src> | ACK<CR><LF> DISPLAYSRC=<src><CR><LF> ACK<CR><LF> |
displaySrc=<src> | { "displaySrc": <src>, "message": <String> } |
DISPLAYSWMODE displaySwMode |
Get/Set HDMI display source switching mode. The operation mode must be set to "Custom" to use this. <swMode> options: 0 => Automatic mode [default] 1 => Manual mode 2 => Manual mode with fallback 3 => HDMI follows USB mode |
TX <swMode> RX <swMode> |
ACK<CR><LF> DISPLAYSWMODE=<host><CR><LF> ACK<CR><LF> |
displaySwMode=<swMode> | { "displaySwMode": <swMode>, "message": <String> } |
EDID edid |
Set specific EDID modes to be reported to video source. <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI <edid> options: 0 => Passthrough 1 => User EDID 2 => 3840x2160p60 3 => 3840x2160p50 4 => 3840x2160p30 5 => 3840x2160p25 6 => 1920x1080p60 7 => 1920x1080p50 8 => 1280x720p60 9 => 1280x720p50 10 => 5120x2160p30 11 => 5120x2160p25 |
TX <src> <edid> | ACK<CR><LF> EDID=<edid><CR><LF> ACK<CR><LF> |
src=<src> edid=<edid> |
{ "edid": <edid>, "message": <String> } |
EDIDHDMIOUT edidHdmiOut |
Get/Set the EDID from the sink and report it to the associated source. This will put the EDID mode of the associated source to "User EDID". <sink> options: 0 => Display 1 => SHARE OUT <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI <edidHdmiOut> => formatted 256 bytes array |
TX <sink> <src> | ACK<CR><LF> src=<sink> EDIDHDMIOUT=<edidHdmiOut><CR><LF> ACK<CR><LF> |
sink=<sink> src=<src> |
{ "edidHdmiOut": <edidHdmiOut>, "message": <String> } |
EDIDUSR edidUsr |
Set specific EDID modes to be reported to video source. <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI <edidUsr> => formatted 256 bytes array |
TX <src> <256 bytes array> | ACK<CR><LF> EDIDUSR=<edidUsr><CR><LF> ACK<CR><LF> |
src=<src> edidUsr=<edidUsr> |
{ "edidUsr": <edidUsr>, "message": <String> } |
GPICFG gpiCfg |
Get/Set the GPI configuration. NOTE: In pulse mode, a short to GND on this pin will trigger the function. The function will be executed on GPI falling edge. GPI rising edge has no effect. In level mode, the function will be executed on short to GND and open states. <gpi> options: 1 => GPI1 2 => GPI2 <mode> options: 0 => Pulse mode [default] 1 => Level mode <function> options: 0 => Disabled. 1 => BYOM mode control [default GPI1] 2 => USB host control [default GPI2] 3 => Display video source control 4 => Share output video source control |
TX <gpi> <mode> <function> | ACK<CR><LF> gpi=<gpi> MODE=<mode><CR><LF> FUNCTION=<function><CR><LF> ACK<CR><LF> |
gpi=<gpi> mode=<mode> function=<function> |
{ "mode": <mode>, "function": <function>, "message": <String> } |
HDCPCTL hdcpCtl |
Get/Set the HDCP setting. <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI <hdcp> options: 0 => Disabled 1 => HDCP v1.4 2 => HDCP v2.2 3 => Auto |
TX <src> <hdcp> | ACK<CR><LF> src=<src> HDCP=<hdcp><CR><LF> ACK<CR><LF> |
src=<src> hdcp=<hdcp> |
{ "hdcp": <hdcp>, "message": <String> } |
HELP help |
Return commands list with description. | RX | List of all the supported commands. | List of all the supported commands. | |
HOSTBUTTON hostButton |
This function gives the same functionality as the front button or the INO - BUTTON KIT action. | TX ACK<CR><LF> |
hostButton | { "message": <String> } | |
HOSTMEETING hostMeeting |
This function allows the device to switch USB and HDMI connections to the provided host connection. This is a momentary control. As soon as there are events over USB and HDMI signals, the preconfigured modes will take over. This control is similar to the actual front button and also when user is using the INO - BUTTON KIT. <host> options: 0 => RoomPC 1 => Laptop USB-C |
TX <host> | ACK<CR><LF> host=<host><CR><LF> ACK<CR><LF> |
host=<host> | { "host": <host>, "message": <String> } |
HOSTNAME hostname |
Get/Set the hostname of the device. This command will change the device name when probed over the network and the name of the USB HID interface. This string must not have space characters. |
TX <hostname> | ACK<CR><LF> HOSTNAME=<src><CR><LF> ACK<CR><LF> |
hostname=<hostname> | { hostname=<hostname>, "message": <String> } |
HTTPEN httpEn |
Get/Set HTTP control setting. <enable> options: 0 => OFF 1 => ON |
TX <enable> | ACK<CR><LF> ENABLE=<enable><CR><LF> ACK<CR><LF> |
enable=<enable> | { "enable": <enable>, "message": <String> } |
NETWORK network |
Get/Set network settings. <mode> options: static => addressing is static dhcp => use DHCP addressing If mode is static, IP and netmask are required while gateway is optional. <ip> option: String defined IP address. Example: 192.168.0.20 <netmask> option: String defined netmask address. Example: 255.255.0.0 <gateway> option: String defined gateway address. Example: 192.168.0.1 |
TX <mode> <ip> <netmask> <gateway> | ACK<CR><LF> mode=<mode><CR><LF> ip=<ip><CR><LF> netmask=<netmask><CR><LF> gateway=<gateway><CR><LF> ACK<CR><LF> |
mode=<mode> ip=<ip> netmask=<netmask> gateway=<gateway> |
{ "mode": <static, dhcp>, "ip": <ip>, "netmask": <netmask>, "gateway": <gateway>, "message": <String> } |
OPMODE opMode |
Get/Set operation mode. By default, the device will operate in RoomPC / BYOD mode - RoomPC USB and HDMI peripherals selected, and laptop sends video content only to SHARE output. The user will need to trigger our API or use the GPI interface to connect USB and HDMI to the laptop. When BYOM mode is set, the device will automatically switch all HDMI and USB |
TX <opMode> | ACK<CR><LF> opMode=<opMode><CR><LF> ACK<CR><LF> |
opMode=<opMode> | { "opMode": <opMode>, "message": <String> } |
PRIORDISPLAYSRC priorDisplaySrc |
Get/Set display source priority. Only applicable when operation mode is set to "Custom" and display source switching mode is set to "automatic" or "manual with fallback". <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI 3 => Last detected source [default] |
TX <src> RX <src> |
ACK<CR><LF> PRIORDISPLAYSRC=<src><CR><LF> ACK<CR><LF> |
priorDisplaySrc=<src> | { "priorDisplaySrc": <src>, "message": <String> } |
PRIORHOSTMEETING priorHostMeeting |
Get/Set host system priority. The function will select which computer to use as the prioritized source, including USB and video associated to the same computer. Only applicable when operation mode is set to "RoomPC / BYOD content sharing" and "BYOM". <host> options: 1 => Laptop USB-C 2 => Laptop USB-B/HDMI 3 => Last detected laptop [default] |
TX <host> RX <host> |
ACK<CR><LF> PRIORHOSTMEETING=<host><CR><LF> ACK<CR><LF> |
host=<host> | { "priorHostMeeting": <host>, "message": <String> } |
PRIORSHARESRC priorShareSrc |
Get/Set share source priority. Only applicable when operation mode is set to "Custom" and share source switching mode is set to "automatic" or "manual with fallback". <src> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI 3 => Last detected source [default] |
TX <src> RX <src> |
ACK<CR><LF> PRIORSHARESRC=<src><CR><LF> ACK<CR><LF> |
priorShareSrc=<src> | { "priorShareSrc": <src>, "message": <String> } |
PRIORUSBHOST priorUsbHost |
Get/Set USB priority. Only applicable when operation mode is set to "Custom" and USB host switching mode is set to "automatic" or "manual with fallback". <host> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop USB-B 3 => Last detected host [default] |
TX <host> RX <host> |
ACK<CR><LF> PRIORUSBHOST=<host><CR><LF> ACK<CR><LF> |
priorUsbHost=<host> | { "priorUsbHost": <host>, "message": <String> } |
REBOOT reboot |
Reboot the device. | TX reboot | ACK<CR><LF> | { "message": <String> } | |
RSTR rstr |
Restore default settings (including password and REST API token). | RX | ACK<CR><LF> | { "message": <String> } | |
SCALER scaler |
Get/Set the scaler options over the HDMI video outputs. <output> options: 0 => Display output 1 => Share output <enable> options: 0 => OFF 1 => ON |
TX <output> <enable> RX <output> |
ACK<CR><LF> output=<output> ENABLE=<enable><CR><LF> ACK<CR><LF> |
output=<output> enable=<enable> |
{ "output": <output>, "enable": <enable>, "message": <String> } |
SHARESRC shareSrc |
Get/Set which HDMI source to be routed to share output. <src> options: 0 => RoomPC [Not supported in automatic mode] 1 => Laptop USB-C 2 => Laptop HDMI 3 => OFF |
TX <src> RX <src> |
ACK<CR><LF> SHARESRC=<src><CR><LF> ACK<CR><LF> |
shareSrc=<src> | { "shareSrc": <src>, "message": <String> } |
SHARESWMODE shareSwMode |
Get/Set HDMI share source switching mode. The operation mode must be set to "Custom" to use this. <swMode> options: 0 => Automatic mode [default] 1 => Manual mode 2 => Manual mode with fallback 3 => HDMI follows USB mode |
TX <swMode> RX <swMode> |
ACK<CR><LF> SHARESWMODE=<host><CR><LF> ACK<CR><LF> |
shareSwMode=<swMode> | { "shareSwMode": <swMode>, "message": <String> } |
STATUS status |
Return laptop and RoomPC information, display and share output timings. | RX | List of all the status of the device. | List of all the status of the device. | |
TELNETEN telnetEn |
Get/Set telnet control setting. <enable> options: 0 => OFF (default) 1 => ON |
RX | ENABLE=<enable><CR><LF> ACK<CR><LF> |
{ "enable": <enable>, "message": <String> } | |
TUNNELINGEN tunnelingEn |
Get/Set the TCP to RS232 tunneling setting option available on port 5000. <enable> options: 0 => OFF (default) 1 => ON Optionally, the user can select baud rate, data bits, stop bits and parity settings. If those are not provided, the device will use default RS232 configuration. |
TX <enable> <enable> <baudrate> <dataBits> <stopBits> <parity> |
ACK<CR><LF> ENABLE=<enable><CR><LF> BAUDRATE=<baudrate><CR><LF> DATABITS=<dataBits><CR><LF> STOPBITS=<stopBits><CR><LF> PARITY=<parity><CR><LF> ACK<CR><LF> |
enable=<enable> baudrate=<baudrate> dataBits=<dataBits> stopBits=<stopBits> parity=<parity> |
{ "enable": <enable>, "baudrate"=<baudrate>, "dataBits"=<dataBits>, "stopBits"=<stopBits>, "parity"=<parity>, "message": <String> } |
USBC4K60EN usbc4K60En |
Get/Set the USB-C working mode. NOTE: Enabling DisplayPort signal to support 4K60 will disable USB3.0 connectivity on USB-C port. USB2.0 will remain active. Disabling this option will allow user to support USB3.0 and 4K30 video. |
TX <mode> RX <mode> |
ACK<CR><LF> USBC4K60EN=<mode><CR><LF> ACK<CR><LF> |
usbc4K60En=<mode> | { usbc4K60En=<mode>, "message": <String> } |
USBDEVEN usbDevEn |
Get/Set the power on USB devices ports according to specific hosts. <host> options: 0 => RoomPC 1 => Laptop USB-C 2 => Laptop HDMI 3 => When no host detected <devices> options: Bitmask to enabled ports. |
TX <host> <devices> | ACK<CR><LF> DEVICES=<devices><CR><LF> ACK<CR><LF> |
host=<host> devices=<devices> |
{ "devices": <devices>, "message": <String> } |
USBHOST usbHost |
Get/Set USB host to use. | TX <host> | ACK<CR><LF> USBHOST=<host><CR><LF> ACK<CR><LF> |
usbHost=<host> | { "usbHost": <host>, "message": <String> } |
USBHOSTSWMODE usbHostSwMode |
Get/Set USB host switching mode. The operation mode must be set to "Custom" to use this. | TX <swMode> RX <swMode> |
ACK<CR><LF> USBHOSTSWMODE=<host><CR><LF> ACK<CR><LF> |
usbHostSwMode=<swMode> | { "usbHostSwMode": <swMode>, "message": <String> } |
VERSION version |
Return firmware version. | RX | MAJOR=<Integer><CR><LF> MINOR=<Integer><CR><LF> ACK<CR><LF> |
{ "major": <Integer>, "minor": <Integer> } | |
VOUT vout |
Get/Set the VOUT level. NOTE: By default, the firmware will drive this output to power up a led when enabling the BYOM mode. If the user wants to override this behavior, it is possible by changing the <vout> option. |
TX <vout> | ACK<CR><LF> VOUT=<vout><CR><LF> ACK<CR><LF> |
vout=<vout> | { vout=<vout>, "message": <String> } |
INOGENI MAESTRO APPLICATION
You can use our INOGENI Maestro application to monitor firmware information and upgrade your unit.
NOTE: You need to use the USB-B to USB-A cable provided with the box for the Maestro application to detect the unit.
STATUS TAB
This section contains all the firmware information, video sources detections/resolutions along with the actual configuration of the unit.
[Screenshot of the INOGENI Maestro application Status tab, showing device information, inputs, outputs, and system settings.]
SETTINGS TAB
This section allows for the configuration of the device, including operation mode, switching modes, and USB device power control.
[Screenshot of the INOGENI Maestro application Settings tab, showing device configuration options.]
OPERATION MODE
- RoomPC + BYOD Content sharing: In this mode, as soon as a laptop is connected, video is routed to HDMI SHARE OUT. USB devices are not switched to the laptop to avoid disrupting video calls on RoomPC. A user trigger (front button, INO – BUTTON KIT, or API call) is needed to initiate a BYOM session.
- BYOM: In this mode, switching between RoomPC and BYOM is automatic upon host detection.
- Custom mode: In this mode, USB, HDMI display, and HDMI share switching modes can be independently controlled.
USB
USB configuration
- User can select the USB host.
- USB-C 4K60 support: You can turn ON/OFF 4K60 support over USB-C. Enabling 4K60 support disables USB3.0 over USB-C, leaving only USB2.0 active.
USB devices power control
- This control allows you to turn ON/OFF USB power on each port depending on the host selected.
- This can be useful when the unit is connected to a Room PC system that supports BYOM.
VIDEO
Video inputs
- HDCP: Can be turned ON/OFF and the appropriate HDCP version can be set.
- EDID mode: Can report EDID information based on the actual display, using preset EDIDs, or a user EDID that can be uploaded to the device.
Video outputs
- User can select the video source to be shown on the specified output.
CEC DISPLAY CONTROL
- Power: Can turn ON/OFF the connected display.
- Volume: Can send volume UP/DOWN commands.
- Can send toggle mute command.
- Automatic CEC power: Device can automatically send power ON/OFF commands to the display when selected video sources are detected or not.
SYSTEM TAB
This tab provides access to security, network, RS232, GPI, and update settings.
SECURITY
- Telnet connection: Allows the device to be connected to a telnet client.
- HTTP server: Allows the device to be controlled through HTTP.
NETWORK
- IP mode: Device can be configured using DHCP or static IP address. If static IP addressing is selected, you can set the IP address, subnet mask, and gateway.
RS232
- Baud rate: The baud rate of the RS232 port can be set here.
RESOURCES TAB
In this section, you will have access to the latest documentation, including the user guide, datasheet, brochure, device certifications, and power supply certifications.
INOGENI INO – BUTTON KIT
You can use our INOGENI INO – BUTTON KIT to trigger the BYOM mode of the TOGGLE ROOMS.
[Images of the INOGENI INO – BUTTON KIT.]
Here is the connectivity diagram of the INO – BUTTON KIT to the TOGGLE ROOMS.
[Diagram showing the connectivity between the INO – BUTTON KIT and the TOGGLE ROOMS device.]
Here is also the timing diagram of the GPI and VOUT interfaces. When the GPI1 interface is shorted to GND, the VOUT signal will act like this depending on the laptop selected. Each cycle is 250ms.
[Timing diagram showing GPI and VOUT interfaces.]
MECHANICAL SPECIFICATION
You can find the mechanical specification of the device. All dimensions are in mm [in].
[Diagrams showing the mechanical dimensions of the INOGENI TOGGLE ROOMS device, including top, bottom, and side views with measurements.]
Figure 4: Top plate dimensions
Figure 5: Bottom plate dimensions and holes positions
Figure 6: Bracket dimensions
Figure 7: Power supply bracket dimensions
DIP SWITCHES
Here you can find the behavior of the DIP switches located at the back of the unit.
>Switch | Position | Description |
---|---|---|
SW1 | OFF ON |
For future use. |
SW2 | OFF ON |
For future use. |
SW3 | OFF ON |
For future use. |
SW4 | OFF ON |
For future use. |
SW5 | OFF ON |
Reserved. |
SW6 | OFF ON |
Disable 5V on terminal block Enable 5V on terminal block. This switch must be set to power up the connected remote. |
TROUBLESHOOTING SECTION
Here is the troubleshooting section for the device.
>Problem | Resolution |
---|---|
My laptop is not charging using my USB-C cable. | Check if the cable is rated to support USB-C power delivery. Also check if the cable used is among the ones that we already support. Visit https://inogeni.com/product/toggle-rooms/ for the complete list. Make also sure that tour BIOS and your system chipset drivers are up to date. |
The device does not automatically switch USB host and HDMI source. | By default, the device is operating in “RoomPC with BYOD / content sharing" mode to avoid disruption of a current video meeting. See “Operation mode” API to properly set the operation you need. |
My device is switching HDMI video slowly. | If your EDID mode is set to “passthrough”, the device is handshaking the EDID from the connected display to the source. This will take some time. To minimize video switching time, it is recommended to configure the EDID mode of the video sources to a preset EDID (e.g. 1080p60). |
The Maestro software is not able to detect my device. | You are connected to Toggle Rooms through the laptop connections (USB-C or USB-B/HDMI), please make sure the laptop is selected by using the front “LAPTOP HOSTS THE MEETING” button. When laptop is selected, this button will light up. The Maestro software will connect to the device through USB, this is why the device is not detected if the host is not properly selected. |
SUPPORT
Engineered by video professionals, for video professionals, it is your most compatible USB 3.0 device. INOGENI expertise at your fingertips:
- Expert Technical Support team at support@inogeni.com for immediate help or if you have any technical question about our products.
- Extensive Knowledge Base to learn from other customers' experiences.
© Copyright 2025 by INOGENI INC. All Rights Reserved.
INOGENI name and logo are trademarks or registered trademarks of INOGENI. Use of this product is subject to the terms and conditions of the license and limited warranty in effect at the time of purchase. Product specifications can change without notice.
INOGENI, Inc.
1045 Avenue Wilfrid-Pelletier
Suite 101
Québec, QC, Canada, G1W0C6
(418) 651-3383
CERTIFICATIONS
[Logos for FCC, IC, CE, UKCA, WEEE, RCM, NOM certifications.]
FCC Radio Frequency Interference Statement Warning
This device complies with Part 15 of the FCC rules. Operation is subject to the following two conditions:
(1) this device may not cause harmful interference, and
(2) this device must accept any interference received including interference that may cause undesired operation.
IC Statement
This Class A digital apparatus complies with Canadian CAN ICES-3(A)/NMB-3(A).
CE Statement
We, INOGENI Inc., declare under our sole responsibility that Toggle Rooms, to which this declaration relates, is in conformity with European Standards EN 55032, EN 55035, and RoHS Directive 2011/65/EU + 2015/863/EU.
UKCA Statement
This device is compliant with the Electromagnetic Compatibility Regulations 2016 No. 1091 as part of the requirements leading to the UKCA marking.
WEEE Statement
The European Union has established regulations for the collection and recycling of all waste electrical and electronic equipment (WEEE). Implementation of WEEE regulations may vary slightly by individual EU member states. Please check with your local and state government guidelines for safe disposal and recycling or contact your national WEEE recycling agency for more information.
RCM Statement
This device is compliant with Regulator Compliance Mark (RCM) certification.
NOM Statement
This device is compliant with the NOM-019 standard.