* This is a Tibbo BASIC/C-programmable device and its function depends on the loaded app.
We offer many ready-to-use apps, among them a serial-over-IP (SoI) app, Modbus Gateway app, and Sensor Hub app.
Programmable IoT OverviewTibbo Project System (TPS)ControllersBoardsModulesCode & 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 wired-first** 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.


** "Wired-first" means that Tibbo products use Ethernet as the primary communications interface, and wireless technologies, such as Wi-Fi, as the secondary way of communicating.

Page TopTibbo Basic and CTibbo IDEThe HardwareTibbo 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!

DownloadDownload TIDE 5

Now with TiOS Simulator

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

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.

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.

TiOS for Linux (LTiOS)

We've also created a TiOS runtime for Linux. Stated to be released in 2018Q2, the runtime will allow you to execute Tibbo BASIC and Tibbo C applications on our LTPP3 board, which is a part of our Tibbo Project System (TPS).

Objects

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)

Documentation

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

Wln (Wi-Fi)

Documentation

Handles Wi-Fi communications.

Ser (Serial Ports)

Documentation

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

Net (Ethernet Port)

Documentation

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

Accesses the Internet over a serial modem (GPRS, etc.).

Accesses the Internet over an ADSL modem.

Ssi (SPI and I2C)

Documentation

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

Io (Input/Output)

Documentation

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)

Documentation

Keeps track of the date and time.

Fd (Flash Disk)

Documentation

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

Stor (EEPROM)

Documentation

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

Romfile (Fixed Resources)

Documentation

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

Sys (System)

Documentation

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

Lcd (Display)

Documentation

Controls graphical display panels (several display types supported).

Kp (Keypad)

Documentation

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

Pat (LED Patterns)

Documentation

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

Beep (Buzzer Control)

Documentation

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

Button (System Button)

Documentation

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)ControllersBoardsModulesCode & Apps