INOGENI CAM230 User Guide
Version 1.7
July 7, 2025
Version History
Version | Date | Description |
---|---|---|
1.0 | April 12, 2023 | First release. |
1.1 | June 2, 2023 | Added new REMOTE connectivity, power consumption limit for USB cameras, RCM statement, minor modifications to RESTAPI, firmware update procedure, information for future mounting options, specified M2.5 mounting holes on enclosure, and information for RS232 command delimiters. |
1.2 | August 15, 2023 | Added more precision regarding the “disableSerialInterface" command over RESTAPI, UKCA statement, and simplified RESTAPI presentation. |
1.3 | September 25, 2023 | Added the "Auto (disable remote)" video switching mode and the "Audio follows video" audio switching mode. |
1.4 | August 14, 2024 | Added description on REST API token format and missing commands over RESTAPI and RS232. |
1.5 | May 16, 2025 | Added precisions to PTZ commands. |
1.6 | June 19, 2025 | Added autoframe, speaker focus and Presets commands over RESTAPI and RS232. Updated image to reflect firmware version 2.17. |
1.7 | July 03, 2025 | Added USB friendly name and standby mode commands over RESTAPI and RS232. Updated image to reflect firmware version 2.18. |
Typical Application
This section describes a typical connection diagram for the CAM230 device in a videoconferencing setup.
Diagram Description: The diagram shows a TV monitor connected to the INOGENI CAM230. The CAM230 is connected to CODECS and Matrixes. It has inputs for cameras (USB 3.0/2.0 and HDMI) and outputs for HDMI and USB 2.0. It also supports IP control & PoE and RS-232. The device has input selection buttons (Camera 1-2-3) and status LEDs for Power, PoE, and Camera inputs.
The device supports videobars, USB cameras, and bidirectional audio.
Block Diagram
This section provides a simple block diagram to illustrate the product's usage.
Diagram Description: The block diagram shows the following components: Status LEDs, Buttons, USB3.0/2.0 camera inputs, USB3.0/2.0 camera input, HDMI input, Power management, Power, IP (Control + PoE), RS232, USB2.0 camera output, and HDMI output. The power management unit is connected to Power, IP, and RS232. The inputs (USB and HDMI) are connected to the power management unit, which then outputs to USB2.0 camera output and HDMI output.
The device functions as a video switch connecting to USB3.0/2.0 and HDMI cameras, outputting selected video content simultaneously over HDMI and USB2.0. This facilitates easy camera switching in videoconferencing equipment without altering UC settings.
Audio Routing
The device can connect to USB microphones/speakerphones and a HDMI feed with audio. These sources can be sent over the HDMI output and to the USB2.0 output.
The USB2.0 interface includes a digital audio interface for microphone and speaker devices. This allows UC software connected to the USB2.0 camera interface to receive and transmit audio from/to the connected USB videobar.
Device Interfaces
The device features the following interfaces:
- 1. Input selection buttons: Used to select the video input source.
- 2. Input status LEDs: Indicate the status of the inputs.
- 3. HDMI output: Provides HDMI video output.
- 4. USB2.0 camera output: Offers USB 2.0 video output.
- 5. USB3.0 camera inputs: Connectors for USB 3.0/2.0 cameras.
- 6. HDMI camera input: Connector for HDMI cameras.
- 7. RS232 and remote interface: For serial communication and remote control.
- 8. LAN/PoE interface: For network connectivity and Power over Ethernet.
- 9. +12VDC power input: For alternative power supply.
LEDs Behavior
Indicator | State | Description |
---|---|---|
Power input | OFF | No power. |
SOLID | Device is powered up. | |
PoE | OFF | Not powered from PoE. |
SOLID | Powered from PoE. | |
Input led | OFF | Input not detected and not selected. |
LOW | Input detected and not selected. | |
HIGH | Input selected. |
Specifications
Physical details
- Dimensions (W x L x H): 17.33 cm x 11.57 cm x 3.26 cm (6.82" x 4.55" x 1.28")
- Power supply: 12V (100-240 VAC 50/60Hz to 12V/1.2A DC) or PoE source compliant with IEEE 802.3af (802.3at Type 1)
- Weight: 600 g
- Package content: 1 x USB 2.0 Type-B to Type-A cable (3ft), 1 x terminal block connection, 1 x 12V power supply.
- 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: 51497302825
- Origin: Canada
- Warranty: 5 years
USB inputs
- 2x USB 3.0 inputs: 1x USB 3.0/2.0 camera. Uncompressed, YUYV/NV12/1420 – 1080p30 MJPEG - 1080p30.
- USB Power: Up to 1.2A shared between the USB ports.
HDMI input
- Resolution: 1080p50/60 fps, 720p50/60 fps
- Connector: HDMI
HDMI output
- Resolution: 3840x2160p23.98/24/25/29.97/30 fps, 1080p50/60 fps, 720p50/60 fps
- Connector: HDMI
USB output
- USB connector: 1x USB 2.0 Type-B. UVC interface up to 1080p30 MJPEG. UAC interface with audio I/O. PTZ control supported.
Audio
- Digital audio I/O: Embedded in HDMI or USB
Control
- Control options: Front buttons, RS-232, LAN, USB
- IP interface: 100 Mbps half-duplex (autonegotiation not supported). Supports DHCP or static IP addressing.
- RS232 interface: Baud rate: 9600, Data bits: 8, Stop bits: 1, Parity: None, Flow control: None.
Certifications
- HDCP compliant: The device does not decrypt BD/DVD movies, satellite/cable receivers or other encrypted sources.
- Certifications: FCC, CE, UKCA, RoHS, IEC62368, SoV, RCM
- TAA-compliant: 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).
- Cameras Supported: Cameras (or video Source) with a HDMI or USB outputs.
- Software Compatibility: UVC-compliant. Runs with all software compatible to DirectShow/Media Foundation, V4L2, QuickTime and AVFoundation.
Serial Communication Protocol
This section details the commands available through the serial connection. The device's terminal block pinout is as follows:
Pinout:
- Pin 1: Receive
- Pin 2: GND
- Pin 3: Transmit
- Pin 4: 5V supply (for INOGENI Remote)
Note: A space character is required between the command name and its argument. Carriage return (<CR>) and line feed (<LF>) characters must be appended to the command string.
Successful commands return "ACK<CR><LF>", while failures return "NACK<CR><LF>".
Default serial interface settings: Baud rate: 9600, Data bits: 8, Stop bits: 1, Parity: None, Flow control: None.
Command | Argument(s) | Description |
---|---|---|
HELP | None | Return command list with description. |
RSTR | None | Restore default settings (including password and REST API token). |
RESET | None | Reset/reboot the device. |
IP | None | Returns IP address. |
VERSION | None | Returns firmware version. |
STATUS | None | Return devices, video/audio inputs and HDMI output status. |
PAN | 1 argument (integer) | Relative pan of the selected camera. The sign specifies the direction. Values between -10 and 10 are recommended. Send 0 to stop camera motion. |
TILT | 1 argument (integer) | Relative tilt of the selected camera. The sign specifies the direction. Values between -10 and 10 are recommended. Send 0 to stop camera motion. |
ZOOM | 1 argument (integer) | Relative zoom of the selected camera. Values between -10 and 10 are recommended. Send 0 to stop camera motion. |
SETAUTOFRAME | 1 argument (integer) | Enable or disable autoframe on the current source camera (0=OFF, 1=ON). |
SETSPEAKERFOCUS | 1 argument (integer) | Enable or disable speaker focus on the current source camera (0=OFF, 1=ON). |
SETPRESET | 1 argument (integer) | Save the current camera position to a preset. |
GOTOPRESET | 1 argument (integer) | Move camera to a preset position. |
SETHDMI | 1 argument (integer) | Set HDMI output mode. Options: 0=1080P60, 1=1080P50, 2=720P60, 3=720P50, 4=4K24, 5=4K25, 6=4K30. |
SETVIDEOFORMAT | 2 arguments (integer) | Set video input format. 1st arg: <inputPort> (1=USB input #1, 2=USB input #2, 4=Test pattern). 2nd arg: <formatIndex>. |
GETVIDEOFORMATS | 1 argument (integer) | Get video input format. Argument specifies the port of the video input (1=USB input #1, 2=USB input #2, 3=HDMI input, 4=Test pattern). |
SETAUDIOINPUT | 1 argument (integer) | Set audio input. Argument specifies the index of the audio input. Use STATUS command for available inputs. |
SETAUDIOINPUTMODE | 1 argument (integer) | Set audio input switching mode. Options: 0=First connected audio device with fallback, 1=Audio follows video selection. |
SETVIDEOINPUT | 1 argument (integer) | Set video input. Argument specifies the port of the video input (1=USB input #1, 2=USB input #2, 3=HDMI input, 4=Test pattern). |
SETVIDEOINPUTMODE | 1 argument (integer) | Set video input switching mode. Options: 0=automatic switching, 1=manual switching, 2=automatic switching (disable remote). |
ENUSBCDCNCM | 1 argument (integer) | Enable/Disable the USB CDC-NCM interface over USB2.0 output (0=OFF, 1=ON). |
ENUSBOUTSPEAKER | 1 argument (integer) | Enable/Disable the USB speaker interface over the USB 2.0 output (0=OFF, 1=ON). |
ENUSBOUTMIC | 1 argument (integer) | Enable/Disable the USB mic interface over the USB 2.0 output (0=OFF, 1=ON). |
SETUSBFNAME | 1 argument (text) | Set friendly name for the USB device. Text must be between " ". |
ALLOWSTANDBYMODE | 1 argument (integer) | Enable/Disable standby mode (0=OFF, 1=ON). When enabled, cameras go into standby mode when there is no USB streaming and HDMI output. |
INOGENI Remote
The INOGENI Remote connects to the terminal block port for operation. Ensure correct wiring and set DIP SW6 to ON to power the remote. Refer to the "DIP SWITCHES" section and the INOGENI REMOTE user manual for details.
Warning: Do not plug an RJ45 cable between the INOGENI device and the REMOTE.
Terminal block pinout:
- Pin 1: Receive
- Pin 2: GND
- Pin 3: Transmit
- Pin 4: 5V supply
RJ45 pinout:
- Pin 1: 5V supply
- Pin 2,3,4,5: NC
- Pin 6: GND
- Pin 7: RX
- Pin 8: TX
LAN Communication Protocol
Device settings can be accessed via the LAN interface, which supports DHCP (default) and static IP addressing. Obtain the IP address through the INOGENI Control App or the serial port IP command. The LAN interface operates at 100Mbps half-duplex.
CDC-NCM Communication Protocol
Control of the device is also possible through the CDC-NCM interface on the USB2.0 device port. This interface offers the same functionality as the LAN interface but uses USB for configuration.
CDC-NCM IP address: 169.254.10.10
PoE
The device can be powered by a 12V power supply or a PoE compliant source. The 12V power supply takes priority if connected.
Webpage
The webpage allows device configuration and upgrades. Access it via IP or the CDC-NCM interface over USB2.0. The default username is "admin" and the default password is "admin".
Webpage Screenshot Description: A browser window showing a login page with fields for Username (pre-filled with 'admin') and Password, and buttons for 'Sign in' and 'Cancel'. The URL is displayed as https://169.254.10.10.
Status Page
The STATUS page provides information about the installed firmware and monitored video and audio devices.
Status Page Preview Description: The page displays General information (Software Version, Board Revision, Serial Number, Temperature, MAC Address, IP Address, Subnet mask, Gateway), Video Inputs (USB port 1 & 2 with camera details, format, USB speed, capabilities), HDMI port status, Outputs (HDMI and USB resolutions), and Audio (Active Source).
Configuration Page
The CONFIGURATION tab allows users to:
- Set HDMI resolution.
- Set the selected camera source.
- Set the video input switching mode (MANUAL, AUTO, AUTO (DISABLE REMOTE)).
- Support switching between inputs.
- Handle button presses to disable remote switching.
- Re-enable remote switching after button presses or call endings.
- Set the audio input from USB sources or HDMI input.
Configuration Page Preview Description: The page shows settings for HDMI output resolution, video input selection (with options for different cameras and test patterns), video input switching mode, and audio input settings.
System Page
The SYSTEM tab enables users to:
- Change the device password.
- Get/Set REST API access token.
- Configure network settings (Static/DHCP).
- Restore default settings and reboot the system.
- Update the system firmware.
System Page Preview Description: The page includes sections for Security (Password, REST API access token), LAN network (Static/DHCP options), USB2.0 Output (CDC-NCM network interface, Microphone, Speaker, USB friendly name), Miscellaneous (Restore default settings, Reboot system), and Update (Firmware Update options).
Firmware Update Process
To update the system:
- Click the "Choose File" button and browse to the downloaded WIC file.
- Click the "Update CAM230" button to initiate the update. The process may take up to 1 minute, followed by a device reboot and browser refresh.
Update Process Screenshot Description: An 'Open' file dialog box is shown, allowing selection of a .wic file. Another window indicates "Device update started, do not power cycle the device. You will be redirected after 60 seconds."
Documentation Tab
The DOCUMENTATION tab provides access to:
- The latest user guide.
- The product webpage.
Documentation Preview Description: A browser window showing the INOGENI CAM230 interface with tabs for Status, Configuration, System, and Documentation. Under Documentation, there are links for 'User Guide' and 'Product Details'.
Note on Security: The browser may flag the connection as insecure due to self-signed HTTPS certificates. This is normal as these certificates are not globally accessible.
The webpage allows configuration of HDMI resolution, USB video input format, webpage password, and REST API access token. It can also be used for device firmware upgrades.
REST API
The REST API responses are typically JSON formatted with a "message" field indicating success or error. Bearer authentication can be enabled via the configuration page.
Return Codes: 200 = success, 400 = error, 401 = authorization error.
The following table lists supported REST API commands:
Command URL / Description | Body arguments | Return body |
---|---|---|
HTTP GET/POST https://<IP>/api/v1/rstr | "message": <String> | |
HTTP GET/POST https://<IP>/api/v1/reset | "message": <String> | |
HTTP GET https://<IP>/api/v1/version | "major": <Integer>, "minor": <Integer> | |
HTTP GET https://<IP>/api/v1/status | JSON object with multiple fields | |
HTTP GET/POST https://<IP>/api/v1/pan | pan=<pan> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/tilt | tilt=<tilt> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/zoom | zoom=<zoom> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setAutoframe | autoframe=<autoframe> (0=OFF, 1=ON) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setSpeakerfocus | speakerfocus=<speakerfocus> (0=OFF, 1=ON) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setPreset | preset=<preset> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/gotoPreset | preset=<preset> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setHdmi | mode=<mode> (0-6 for different resolutions) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setVideoFormat | input=<inputPort>&format=<formatIndex> | "message": <String> |
HTTP GET https://<IP>/api/v1/getVideoFormats | input=<input> | JSON array containing all formats for requested input. |
HTTP GET/POST https://<IP>/api/v1/setAudioInput | input=<inputIndex> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setAudioInputMode | mode=<mode> (0=First connected audio device with fallback, 1=Audio follows video selection) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setVideoInput | input=<input> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setVideoInputMode | mode=<mode> (0=automatic switching, 1=manual switching, 2=automatic switching (disable remote)) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/disableSerialInterface | disable=<disable> (1=disable, 0=enable) | "message": <String> |
HTTP GET https://<IP>/api/v1/serialRead | Message field contains characters read from RS232 | |
HTTP GET/POST https://<IP>/api/v1/serialWrite | <Content to write> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/setNetwork | mode=<mode> (static/dhcp), ip=<ip>, netmask=<netmask>, gateway=<gateway> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/enUsbCdcNcm | enable=<enable> (0=OFF, 1=ON) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/enUsbOutSpeaker | enable=<enable> (0=OFF, 1=ON) | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/enUsboutMic | enable=<enable> (0=OFF, 1=ON) | "message": <String> |
HTTP POST https://<IP>/api/v1/setUsbFriendlyName | friendlyName=<friendlyName> | "message": <String> |
HTTP GET/POST https://<IP>/api/v1/allowStandbyMode | enable=<enable> (0=OFF, 1=ON) | "message": <String> |
Arguments can be embedded in the URL using the format: GET https://<IP>/api/v1/<COMMAND>?<ARG1>=<value>&<ARG2>=<value>.
The following commands manage password, bearer token, and firmware updates:
Command URL / Description | Body arguments | Return body |
---|---|---|
HTTP POST https://<IP>/api/v1/changePassword?password=<newPassword> | "message": <String> | |
HTTP GET https://<IP>/api/v1/getAccessToken | {"token": <String>} | |
HTTP POST https://<IP>/api/v1/generateAccessToken | "message": <String> | |
HTTP POST https://<IP>/api/v1/update | Must use formdata body with 'myFile' as key. | "message": <String> |
INOGENI Control App
The INOGENI Control App can be used to monitor firmware information and upgrade the unit. A USB-B to USB-A cable is required for the Control App to detect the unit.
INOGENI Control App Preview Description: The application window shows device information, video and audio settings, firmware information, and video information. It allows for device connection, refresh, and reboot.
Mechanical Specifications
This section provides mechanical specifications, including dimensions in mm [in].
Diagram Description: Top and side views of the INOGENI CAM230 are shown with dimensions indicated. M2.5 screw holes for future brackets are also highlighted.
DIP Switches
The behavior of the DIP switches located at the back of the unit is as follows:
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 | Disable 5V on terminal block. |
SW6 | ON | Enable 5V on terminal block. This switch must be set to power up the connected remote. |
Troubleshooting Section
Problem | Resolution |
---|---|
The device keeps rebooting when we connect USB powered cameras. The device is connected to a PoE switch. | If connecting high-consuming USB cameras powered by the USB bus, use the provided power supply to accommodate the power demand. |
We cannot detect the USB output on the PC when using it with a USB extender. | Ensure the USB extender supports USB2.0. INOGENI offers compatible USB extenders: https://inogeni.com/support/compatible-usb-extenders/ |
We cannot get the HDMI feed to go through the device. |
|
My camera software is not detecting the camera while the CAM230 is connected in line. | This is expected behavior as the PC is agnostic of the USB camera. The device supports UVC controls (pan, tilt, zoom) and can route them to the selected camera. |
LAN interface is not working properly. Firmware updates from LAN interface take a long time or hang/timeout. | Ensure the connected LAN port uses 100Mbps half-duplex. Duplex mismatch can cause slow updates. The LAN interface does not support autonegotiation. |
Support
For expert technical support, contact support@inogeni.com. Visit the Extensive Knowledge Base for customer experiences.
© Copyright 2025 by INOGENI INC. All Rights Reserved.
INOGENI, Inc.
1045 Avenue Wilfrid-Pelletier
Suite 101
Québec, QC, Canada, G1W0C6
(418) 651-3383
Certifications
- FCC: Complies with Part 15 of FCC rules.
- IC: Class A digital apparatus complies with Canadian CAN ICES-3(A)/NMB-3(A).
- CE: Declares conformity with European Standards EN 55032, EN 55035, and RoHS Directive 2011/65/EU + 2015/863/EU.
- UKCA: Compliant with Electromagnetic Compatibility Regulations 2016 No. 1091.
- WEEE: European Union regulations for collection and recycling of electrical and electronic equipment.
- RCM: Compliant with Regulator Compliance Mark (RCM) certification.