Creating IoT Devices...
Since Before the Internet of Things
The year is 2016 and the "Internet of Things" is one of the most abused and overused phrases ever coined.
At Tibbo, we are proud of the fact that we have been supplying the building blocks for miniature, network-enabled embedded devices
(a.k.a. "IoT devices") since 2008.
Right from its inception in 2001, Tibbo has single-mindedly pursued a singular objective:
To simplify and speed up the development 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. Our AggreGate personal cloud solution is one of the most sophisticated cloud products on the market.
Tibbo programmable hardware offerings include our modular Tibbo Project System (TPS), as well as controllers, boards, and IoT modules.
*That's a new edit. Our mission statement used to refer to "embedded systems" instead. Tibbo was in the IoT business long before the term became popular.
"Hello, World" in Tibbo BASIC, Tibbo C,
or a Combination of the Two
Code in time-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 IoT 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 throughly documented. We spent enormous time making sure our Programming Manual is brief yet comprehensible.
So buy a programmable Tibbo device, install TIDE, read the Manual and you will be productive in no time at all!
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 the 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 facilities of Tibbo hardware are expressed through objects.
For example the print  method of the lcd  object (lcd.print ) outputs text onto the LCD screen.
This lcd  object is only available on platforms  representing Tibbo devices that have (or may be connected to) a screen.
Event-driven, asynchronous operation
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 to in the event handler  code.
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 go on processing other tasks.
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 very useful. Try and see for yourself!
To have this level of control over the features of Tibbo BASIC and C we had to create our own compilers and other tools, 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!
Four Classes of Programmable Devices to Choose From
Tibbo offers the entire spectrum of hardware devices – from standalone external controllers to embedded IoT modules. Our products are perfect for industrial Internet of things projects, home control (home automation), and a myriad of other applications.
Tibbo Project System (TPS) is a family of configurable controllers suitable for various automation application. 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 and you've built yourself a tailored automation controller.
DS110X are programmable serial controllers targeting applications involving RS232, 422, and 485 communications.
The EM1001 is a self-contained IoT board. This embedded controller is perfect for low-volume production and hobbyist projects alike.
EM1000, 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? Very often, the weight of the OS negates the CPU's agility, leading to sluggish performance. Ironically, target applications running atop these bloated systems are often very simple!
At Tibbo, we have created our own OS that is lightweight and streamlined. The Tibbo OS (TiOS) runs fast enough on a mid-range microprocessor, and in a tiny memory space. With TioS, the complexity and board space needed by electronics is minimized, costs go down, reliability goes up, and you still get an excellent automation platform that is extremely comfortable to program for.
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.
Socket communications – up to sixteen simultaneous UDP, TCP, or HTTP sessions.
Handles Wi-Fi communications.
Ser (Serial Ports)
Controls up to four serial ports. Each port can work in UART, Wiegand, or clock/data modes.
Net (Ethernet Port)
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.
Supports up to four serial synchronous interface channels (for SPI, I2C, etc.).
Handles general-purpose I/O lines, ports, and interrupts of the device.
Rtc (Real-time Clock)
Keeps track of 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.
Facilitates access to resource files (fixed data). Use these files to store tables, lists, etc.
In charge of core system functions, such as the system timer, reboots, PLL control, etc.
Controls graphical display panels (several display types supported).
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. Output frequency is programmable too.
Button (System Button)
Monitors a special system (MD) button.
Tibbo and the Industrial Internet of Things
The Industrial Internet of Things (IIoT) is the use of Internet of Things (IoT) technologies in manufacturing. Also known as the Industrial Internet, IIoT incorporates machine learning and big data technology, harnessing the sensor data, machine-to-machine (M2M) communication and automation technologies that have existed in industrial settings for years. The driving philosophy behind the IIoT is that smart machines are better than humans at accurately, consistently capturing and communicating data. This data can enable companies to pick up on inefficiencies and problems sooner, saving time and money and supporting business intelligence efforts.
- Definition of the Industrial Internet of Things from techtarget.com
Tibbo hardware and software are perfect choices for your next IIoT system. Our IoT modules can be used in the design of low-cost data collection and sensing nodes. Tibbo Project System (TPS) devices can act as controllers and data concentrators. Finally, the AggreGate platform can control and monitor your distributed data collection and control system, collect and aggregate the data, make sense of it all through built-in analysis and reporting tools, and feed corrective control actions back to the nodes.
Tibbo in Home Control (Home Automation)
Smart house technology is finally moving from the realm of trade show presentations and into your living room.
Tibbo products, such as our versatile Tibbo Project System (TPS) platform, are perfectly suited for use as intelligent smart home controllers.
Tibbo is looking for distributors, resellers, and technology partners that will take us into the home automation, building automation, and hotel automation domains.