Open Source

Why using ctb?

CTB was developed to simplify and standardize the communication with other devices through different interfaces (RS232, GPIB). And this platform independent!

Supported OS

At this time CTB supports RS232 and GPIB (IEEE488) for Linux and Windows95/98, NT, Win2k and XP in a transparent way. That means that the program code for read and write via RS232 and GPIB is exactly identical for Linux and Windows.

Virtual devices

After open a RS232 or GPIB connection you can accessing the device without consider the kind of unit.

What does this mean?

In your code you select the device just once. Read/Write and all device independent stuff will be done with one unique device handle.

Non-blocking access

Never again:
Task does not react!

ALL interface accesses (read, write, status query) are NON BLOCKING!

That means that you can read or write data without being afraid that the function call and with it your program blocks. If no data is available or no data can be stored the function returns with null, otherwise with the number of received or sent data bytes.

Small is beautiful

ctb doesn't depend on any additional libs (neither graphical nor any other lib like STL or Boost) and therefor are qualified for small embedded enviroments and also for any consol applications, background processes and so on.


Multiple threads can communicate with different ports at the same time.


RS232 (Windows/Linux)

An integrated RS232 interface is required. Alternatively USB-to-Serial adapter cables or special plug in boards can be used.

GPIB Windows

Installed PCI-GPIB board from Nation Instruments or compatible one.

GPIB Linux

Installed Linux-GPIB-3.1.101  . All by Linux-GPIB-3.1.101 library supported boards. Tested with PCI-GPIB board from NI.


ctb comes as setup.exe like installer and contains prebuild libs for Windows and Linux. Of course also the sources and makefiles for GCC, Visual C++, Borland, Watcom and MingW.


Python support

Since version 0.9 ctb also includes a python module

Currently you have to build the python module by yourself, a prebuild version is planned. See build notes in README  


The detailed description as PDF   File.

Jürgen Schuhmacher added a very detailed description   for the usage of CTB with wxWindows and Multiport Devices. Thank's again Jürgen!


CTB is available as source code and freely usable, even in commercial applications.