* These are Tibbo BASIC/C-programmable devices and their function depends on the loaded app.
We offer many ready-to-use apps, among them a serial-over-IP (SoI) app and Modbus Gateway app.
Programmable IoT OverviewTibbo Project System (TPS)ControllersBoardsModulesOTA ManagementCode & Apps

Creating IoT Devices...
Since Before the Internet of Things

Internet of Things

At Tibbo, we pride ourselves on the fact that we have been supplying the building blocks for miniature network-enabled embedded devices (a.k.a. "Internet of Things devices") right from our inception in 2001.

From the very beginning, Tibbo has set out to fulfill this mission statement:

To provide the hardware and software that simplify and speed up the creation of
IoT devices*.

To this end, we have developed a line of easy-to-use hardware, Tibbo OS (TiOS), high-level Tibbo BASIC and Tibbo C programming languages, as well as Tibbo IDE (TIDE) software for Windows. Tibbo programmable hardware offering includes our modular Tibbo Project System (TPS), as well as controllers, boards, and IoT modules. Finally, our AggreGate server is one of the most sophisticated IoT integration solutions on the market.

Unlike hobby-level platforms like Arduino, Tibbo IoT products deliver professional-grade IoT enablement and are ideally suited for IIoT (Industrial Internet of Things), data collection, remote control, and industrial automation applications.

* This is a new edit. Our mission statement originally referred to "embedded systems." Tibbo was in the IoT business long before the term "IoT" became popular.

Page TopTibbo Basic and CTibbo IDECodyThe HardwareWi-Fi and BLETibbo OSThe Objects

"Hello, World" in Tibbo BASIC, Tibbo C,
or a Combination of the Two

Code in battle-tested BASIC and C languages reincarnated as Tibbo BASIC and Tibbo C. Familiar to millions and easy to learn, BASIC and C are perfect for developing cool IIoT and automation applications.

In our world, Tibbo BASIC and C are equals. BASIC is not simpler. C isn't faster. Choosing one over another is largely a matter of personal preference and habit. In fact, you can even mix BASIC and C code within a single project!

Tibbo BASIC and C are thoroughly documented. We spent an enormous time making sure our Programming Manual is brief yet comprehensible. So, buy our programmable device, install TIDE, take a look at the Manual, and start creating amazing IIOT products!

Embedded Systems

Purity of languages

Many programming languages mix the language itself with input/output facilities of specific hardware.

For example, a printf statement in C prints a line of text onto the "default output", which is often a screen.

Tibbo BASIC and Tibbo C are pure in a sense that they are completely free of any and all I/O.

Objects and platforms

Separated from the core of Tibbo BASIC and C, all input and output capabilities of Tibbo hardware are accessible through objects.

For example, the print method of the lcd object (lcd.print ) outputs text onto a display screen.

The lcd object is only available on platforms representing Tibbo devices that have (or may be connected to) a screen.

Event-driven, asynchronous programming

Tibbo BASIC/C applications are event-driven and asynchronous.

Whenever something interesting happens, the system generates an event, which your Tibbo BASIC/C program can respond in the corresponding event handler.

Most I/O operations are asynchronous. For example, if you use tcp.send your code won't have to wait until the sending is complete. The sock object will handle the sending in the background while your application is free to keep on crunching code.

Familiar, yet enhanced

We haven't just copied what was available, but reimagined and improved upon the standard features of BASIC and C.

For example, the Tibbo C language, while having its roots in the ANSI C standard, supports BASIC-style strings and functions like left(), instr(), chr(), and asc(). This is highly unusual but is also extremely useful. Try this and see for yourself!

To have this level of control over the features of Tibbo BASIC and C we needed to create our own compilers and tools, and so we did!

Meet Tibbo IDE 5

Other editors may keep gaining weight and visual clutter with every release, but our Tibbo IDE (TIDE) software for Windows stays light, agile, and pleasing to the eye — all while packing a ton of features. Good things don't need a gig of drive space, folks. Enjoy the right kind of lean!

Advanced Project Browser

Slice, dice and analyze your project structure and memory utilization.

Streamlined Toolbar

No excess. Only important stuff. Logically presented from left to right.

Smart Editor

Remembers where you have been. Helps with where are you going.

Universal Search Toolbar

Instant project-wide search. Neatly classified results. Try this — it is phenomenal!

Advanced Output Pane

Colorized and organized output of search and compile results.

F-key bar

Function key reminders for ease of use and that nice retro feel.

Sophisticated Watch

Differentiates between BASIC and C. Calculates expressions.

And more...

Other notable TIDE improvements.

Don't study TIDE. Explore it.

Tibbo IDE was designed for "learning by exploring". Its features are in plain sight. No need to memorize obscure CTRL+SHIFT+ALT sequences. Just look around and try stuff.

Here is a cool example. Many TIDE panes have related configuration options. And how do you know there are options to play with? By noticing a gear icon in the top right window corner!

F5 to compile, upload, and run.

It literally takes one keystroke — F5 — to compile your Tibbo BASIC/C project, upload it onto a target device, and run it with full debugging capabilities.

Creating easy-to-use, no-hassle products is in our DNA.

ICE-less cross-debugging.

Set breakpoints, watch variables, inspect the stack, step through your code... Tibbo IDE provides all the tools for convenient debugging...

...And yet, our debugger does not rely on any special hardware such as an ICE machine or a JTAG board.

Simply connect your programmable Tibbo device to your Ethernet LAN, select this device in TIDE as your debug target, and you are all set!

Tibbo Integrated Development Environment

EM510 is Supported by Cody, Our Template Project Generator

Cody is a template project generator that produces working Tibbo BASIC code from the information you provide via a few simple-to-understand configuration screens.

This web-based app allows you to quickly create a working project that contains proper peripheral, port, and socket initialization. With Cody, you can also swiftly pour in huge chunks of your future product's functionality: persistent storage of parameters (setting), data tables, multi-level onscreen setup menus, and much much more.

No less important is that Cody generates a template project with the right structure. Software developers know that all programming platforms have (a few) right and (many) wrong ways to structure the code and get things done. Choosing the wrong path usually makes the code slow, inefficient, and unreliable. Cody prevents you from getting lost by giving you the right scaffolding for your project. Try Cody now...

Four Classes of Programmable Devices to Choose From

Tibbo offers the entire spectrum of embedded hardware devices — from standalone external controllers to embedded IoT modules. Our products are perfect for Industrial Internet of Things (IIoT) systems, industrial automation, and a myriad of other applications.

Tibbo Project System (TPS) is a family of configurable controllers suitable for various automation applications. The TPS is based on Tibbit blocks. Each Tibbit implements a dedicated I/O function. Take a Tibbo Project PCB (TPP), plug in the Tibbits of your choosing, encase the assembly in a Tibbo Project Box (TPB) and you've built yourself a tailored automation controller.

DS110X are programmable serial controllers targeting the Internet of Things applications involving RS232, 422, and 485 communications.

The EM2001 is a self-contained IoT board. The board is perfect for low-volume production runs.

EM2000, EM1206, and EM500 are embedded IoT modules. Use one as the heart of your next smart connected device.

WA2000 Wi-Fi/BLE Add-on. Over-the-Air Management.

All Tibbo products presented above incorporate an Ethernet port as the primary way of communicating with them. If your project requires wireless connectivity, you can easily add Wi-Fi and BLE interfaces by adding an optional WA2000 Wi-Fi/BLE add-on module.

In addition to enabling Wi-FI and BLE communications, the WA2000 also facilitates an important management feature — over-the-air (OTA) firmware updates of compatible Tibbo devices and even of the WA2000 itself.

Our Very Own Tibbo Operating System (TiOS)

What's the point in taking a superfast CPU, combining it with gigabytes of memory, and then burdening this powerful hardware with layers upon layers of OS complexity? Often, the weight of the OS negates the CPU's agility, leading to sluggish performance and poor reliability. Ironically, target applications running atop these bloated systems are often very simple!

At Tibbo, we have created our own embedded operating system that is lightweight and streamlined. The Tibbo OS (TiOS) is slim enough to run on a mid-range microcontroller. With TiOS, the complexity and board size are minimized, costs go down, reliability goes up, and you still get an excellent automation platform that is extremely comfortable to program for.

Two processes

TiOS is a dual-process system. Yes, not multi-process, but dual-process. The first process is in charge of real-time stuff like TCP communications, while the second process — a virtual machine — executes your compiled Tibbo BASIC/C application.

Virtual machine (VM)

This is the sandbox in which your application runs. Tibbo IDE (TIDE) software compiles your Tibbo BASIC/C program into a bytecode (a.k.a. p-code), which is then executed by the VM. Your applications can play freely but cannot crash or stall the OS.

Full Debugging Control at All Times

In the debug mode TiOS retains full debugging control over your application, no matter what the app attempts to do. No special debugging hardware is needed — TIDE controls TiOS and your application with commands that are sent over your Ethernet LAN.


Available objects and their features are so sophisticated that many of your applications will end up containing nothing but the glue code binding objects together.

Sock (Sockets)


Socket communications — up to 32 simultaneous UDP, TCP, or HTTP sessions.

Wln (Wi-Fi)


Handles Wi-Fi communications.

Ser (Serial Ports)


Controls up to four serial ports. Each port can work in UART, Wiegand, or clock/data modes.

In charge of Bluetooth Low Energy communications.

Net (Ethernet Port)


Controls the Ethernet port. Defines the device's IP address, gateway, netmask, etc.

Accesses the Internet over a serial modem (4G/LTE, etc.).

Accesses the Internet over an ADSL modem.

Ssi (SPI and I2C)


Supports up to four synchronous serial channels (for SPI, I2C, etc.).

Io (Input/Output)


Handles general-purpose I/O lines, ports, and interrupts of the device.

Provides access to the onboard analog-to-digital converter (ADC).

Rtc (Real-time Clock)


Keeps track of the date and time.

Fd (Flash Disk)


Manages our hardened flash memory file system, as well as direct access to sectors of the flash IC.



Provides access to the EEPROM. This memory type is ideal for storing operational parameters.

Romfile (Fixed Resources)


Facilitates access to resource files (fixed data). Use these files to store constants, lists, etc.

Sys (System)


In charge of core system functions, such as the system timer, reboots, PLL control, etc.

Lcd (Display)


Controls graphical display panels (several display types supported).

Kp (Keypad)


Works with matrix and binary output keypads. Up to 64 keys can be connected.

Pat (LED Patterns)


"Plays" patterns on up to five independent pairs of green and red LEDs.

Beep (Buzzer Control)


Generates buzzer (beeper) patterns. The output frequency is programmable too.

Button (System Button)


Monitors a special system (MD) button.

Open-source Tibbo BASIC/C Applications

Tibbo has developed and published many Tibbo BASIC/C applications. All these apps are open-source.

Feel free to modify or borrow from any published app in any way you please. Chop the code up, slice it and dice it, put it back together, or turn the app into something else entirely. Have no time or desire to write your own code? Contract Tibbo to do this for you!

To see our published apps, visit the Code and Applications section of our website.

Programmable IoT OverviewTibbo Project System (TPS)ControllersBoardsModulesOTA ManagementCode & Apps