- WORKSWELL SOFTWARE

WEOM SDK & Developer Platform

Advanced software for WEOM thermal systems

WEOM thermal cameras offer a modular solution for infrared imaging, suitable for end-users, developers, and OEM integrators alike. Each camera consists of two main components – a thermal core and a pluggable interface – allowing flexible deployment across various applications and environments. With a unified control interface and a wide range of C++ and Python libraries, advanced features can be easily integrated into custom systems, whether on embedded devices or desktop platforms. This document provides an overview of the camera architecture, supported interfaces, and available software tools.

parallax background

All WEOM thermal cameras consist of two main components: the thermal core and a plugin interface. While all thermal cores share identical hardware, they require different firmware implementations depending on the plugin interface used. Each plugin interface provides two communication channels—one for controlling the thermal core and another for video stream data.

The control channel always uses the TCSI protocol, which communicates directly with the thermal core via serial line communication. The video stream data channel is plugin-specific. We offer various plugins that support HDMI, CVBS, GigE, UVC, and RTSP video interfaces.

End-users, developers, and OEMs can choose from several software solutions when integrating WEOM thermal cameras into their products. The WEOM GUI application is a great starting point for exploring the capabilities of the thermal cores, offering a user-friendly desktop experience. For OEMs and software developers, we provide both C++ and Python libraries that expose the full functionality of the thermal core through a well-documented API. Additionally, our latest Smart Ethernet Plugin (SEP) offers an extensive REST API, eliminating the need for libraries or external dependencies.

 

Architecture

To support the most common video interface standards, all WEOM thermal camera systems consist of two main components: the thermal core and the video interface plugin. The core includes an FPGA that processes the vast amount of signals from the bolometer and converts them into a raw data stream. The various plugins then convert this stream into the appropriate video format supported by the plugin.

Displaying video using one of the available plugins is simple—connect the camera to a display device or computer, and you're ready to go. However, a great deal of functionality related to infrared imaging—such as changing the color palette—is built into the thermal core and requires a unified control interface. This is where the Thermal Core Serial Interface (TCSI) comes in.

TCSI is a serial line protocol specifically designed for communication with the FPGA core using Modbus-like registers. For example, to change the palette, you send a value to the corresponding register, and the core updates the color scheme of the video output. To simplify custom software development for WEOM cameras, we offer a number of libraries that wrap these registers as Property classes. These allow developers to access core features through a high-level API, avoiding direct interaction with low-level registers and byte arrays.

 

Libraries

We provide well-documented libraries, each tailored to different use cases, and released under the open-source MIT license. These libraries are actively maintained and tested, as they are used in our own products, including the WEOM GUI.

Supported Platforms

Excluding WEOMpy, both WEOMcpp and WEOMlink can be compiled on any system with a modern C++ compiler. Both libraries are actively used in production on Windows and Linux (x86 and embedded). WEOMlink has been tested on ESP32 development kits, with working examples provided. Designed for low-resource devices, WEOMlink has minimal dependencies.

Although WEOMpy has more limited device support, it still offers broad compatibility. We provide pre-built Python packages supporting interpreter versions 3.8 through 3.12. It has been tested on Raspberry Pi 4, Raspberry Pi 5, and NVIDIA Jetson, and is likely to run on most Arm64 platforms. For available package versions, consult the PyPI file index.

WEOMcpp is fully supported and tested on Raspberry Pi 4, Raspberry Pi 5, and NVIDIA Jetson platforms.
WEOM® HD thermal camera module
WEOM® CMOS thermal module
WEOM® USB thermal module
WEOM® HDMI thermal module
WEOM® CVBS thermal module
 WEOM® Smart Ethernet module
 WEOM® GigE thermal module
 WEOM® Zoom Block thermal module
TADAS CVBS Driver Assistance
 TADAS Ethernet Driver Assistance
For clients

My.Workswell

My.Workswell is a clients platform providing access to detailed product information, software updates, and support for Workswell's thermal imaging solutions and associated products.

Contact us

Do you have any questions, or want to ask for some technical information?
We are here and ready to help!