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

Code and Applications

Serial-over-IP Application

Many Tibbo customers first came to know us by our fixed-function device servers and modules.
This project is a serial-over-IP (SOI) application written in Tibbo BASIC. The application is nearly 100% compatible with our fixed SOI firmware.

Modbus Gateway

Tibbo Modbus Gateways seamlessly route Modbus requests and replies between Modbus TCP, Modbus ASCII, and Modbus RTU masters and slaves.

Remote IO (RIO)

This application allows you to control the I/O lines of Tibbo Project System (TPS) devices through the Modbus protocol.

BP-Tester-UI

This Tibbo BASIC app allows you to set up and test Tibbo Bus Probes, also known as "RS485 Modbus Sensors."
Users interact with the app through the LCD and keypad of the TPS2L(G2) device (there is also a BP-Tester-Web app that implements a web interface).

Also supported by AppBlocks, our no-code application development platform.

BP-Tester-Web

This Tibbo BASIC app allows you to set up and test Tibbo Bus Probes, also known as "RS485 Modbus Sensors."
Users interact with the app through a web interface (there is also a BP-Tester-UI app that implements the user interface on the TPS2L(G2)'s LCD and keypad).

Also supported by AppBlocks, our no-code application development platform.

Tibbo Self-Updater App

This Tibbo BASIC/C app self-updates the firmware on your EM2000, EM2001, TPP2(G2), or TPP3(G2) device.
We call this a self-update because the app is capable of replacing itself with another app, as well as updating TiOS firmware it is running on top of.

The app is meant to be a source of inspiration for application developers working on cloud-connected devices that must be able to self-update using a file received programmatically (for example, from a cloud server).

Also supported by AppBlocks, our no-code application development platform.

MQTT Library Demo

This is the demo project for Tibbo's MQTT library.
The project demonstrates how easy it is to create sophisticated network-enabled applications in Tibbo BASIC and Tibbo C.
The code is extremely simple and easy to understand. Take this app and modify it for your IoT projects MQTT needs.

Also supported by AppBlocks, our no-code application development platform.

TPS Official Demo

This is the official demo project for the Tibbo Project System, will work with TPS2, TPS2L and TPS3.

Also supported by AppBlocks, our no-code application development platform.

Test Application for One-Wire Sensors

This demo project shows how to use modified PIC firmware to decode one-wire sensor readouts.

Also supported by AppBlocks, our no-code application development platform.

Simple Device Server

This project implements the simplest "serial device server" possible.
There is a single TCP connection. Once this connection is established, whatever is received through TCP is sent out via the serial port and vice versa.

TCP Server

A simple TCP server implementation. This demo utilizes all 16 sockets and sends a welcome message when a connection is made.

HTML Form

This project implements a simple HTML login form. Enter a username and password in /index.html, then click login.
The result is displayed on the next HTML page (/login.html).

Also supported by AppBlocks, our no-code application development platform.

LED and Webserver

This program sets up a simple web page on the device, with a form which is used to control the LEDs of the device.
The form can be used for turning on either of the two LEDs, and also for entering a complex sequence of LED flashes.
After entering a complex sequence and submitting the form, the sequence can be played by pressing the button on the device itself.

Also supported by AppBlocks, our no-code application development platform.

Sensor-Tester-UI

This Tibbo BASIC app is for testing sensor Tibbits and Cable Probes.
The app detects a sensor Tibbit or a Cable Probe type and displays the readings from this Tibbit (Probe) on the LCD.

Also supported by AppBlocks, our no-code application development platform.

Sensor-Tester-Web

This Tibbo BASIC app is for testing sensor Tibbits and Cable Probes.
The app detects a sensor Tibbit or a Cable Probe type and displays the readings on a web page.

Also supported by AppBlocks, our no-code application development platform.

Screen Capture Demo

This project allows you to test the SCAP library, which adds screen-grabbing functionality to your Tibbo BASIC/C app.
The library produces high-quality screen captures that are far superior to anything you could produce by taking photos of the LCD screen with a camera.

TPS-based Office Aircon Controller Application

The app allows you to manage traditional air conditioners that are controlled through infrared remotes. Designed for the office environment, the app relies on the ambient brightness (measured by Tibbit #28) to determine whether the aircon should be running or not. In the office setting, no lights = no people = no need for the aircon to work. The second function performed by the app is measuring the ambient temperature. Many aircon systems, especially older ones, are terrible at monitoring the actual temperature in the room. This app turns the aircon on and off basing on the data from our new temperature probe. Real temperature feedback means more comfortable working environment and reduced electricity bills. The app allows you to "teach" it the IR commands of your aircon's remote (this is accomplished through the use of Tibbits #26 and 27) so you can use it with a wide variety of existing aircon systems.

Test Application for the ADC (#13) and DAC (#14) Tibbits

Both Tibbits are tested in the same project. The DAC outputs preset voltages and ADC measures them.

Test Application for the ADC (#13) and DAC (#14) Tibbits

Both Tibbits are tested in the same project. The DAC outputs preset voltages and ADC measures them.

Also supported by AppBlocks, our no-code application development platform.

Test Application for PWM (#16, #17) and PIC Coprocessor (#31) Tibbits

Tibbits #16, #17, and #31 are based on the PIC16F1824 micro, and this project is designed to help you test all three devices.

Tibbits #16, #17, and #31 can all work as 3-channel PWM devices.

On top of this, Tibbit #31 offers additional functionality — all of its four IO lines can function as 0-5V ADC inputs, and two of its lines can function as UART RX and TX lines. Finally, all four lines of #31 can be used as general-purpose I/O lines.

The project provides several execution modes allowing you to test out all of the above functionality.

Also supported by AppBlocks, our no-code application development platform.

Test Application for RTD Temperature Meter (#22) Tibbit

This demo project shows how to use modified PIC firmware to interface with platinum RTD sensors in 100 to 1000 Ohm range.

Tibbits #16, #17, and #31 can all work as 3-channel PWM devices.

On top of this, Tibbit #31 offers additional functionality — all of its four IO lines can function as 0-5V ADC inputs, and two of its lines can function as UART RX and TX lines. Finally, all four lines of #31 can be used as general-purpose I/O lines.

The project provides several execution modes allowing you to test out all of the above functionality.

Also supported by AppBlocks, our no-code application development platform.

Test Application for the IR Command Processor Tibbit (#26)

Tibbit #26 records and plays back infrared commands of conventional IR remote controls.
This project demonstrates the recording and playback of an infrared command.

Tibbits #16, #17, and #31 can all work as 3-channel PWM devices.

On top of this, Tibbit #31 offers additional functionality — all of its four IO lines can function as 0-5V ADC inputs, and two of its lines can function as UART RX and TX lines. Finally, all four lines of #31 can be used as general-purpose I/O lines.

The project provides several execution modes allowing you to test out all of the above functionality.

Also supported by AppBlocks, our no-code application development platform.

Test Applications for Sensor Tibbits (#28, #29, #30, #35, #36)

This is a collection of projects for testing sensor Tibbits: ambient light sensor (#28), ambient temperature meter (#29), ambient humidity and temperature meter (#30), barometric pressure sensor (#35), and 3-axis accelerometer (#36).

Also supported by AppBlocks, our no-code application development platform.

Test Application for Digital Potentiometer Tibbits (#40-1...4)

Digital potentiometer Tibbits are based on the MCP4561 digital POT IC from Microchip.
Tibbo supplies four Tibbit versions in 5KOhm, 10KOhm, 50KOhm, and 100KOhm nominals.
This project provides a simple way to test these Tibbts, as well as calibrate their measurements.

Also supported by AppBlocks, our no-code application development platform.

Test Application for the 8-bit Port Extender Tibbit (#41)

Tibbit #41 is based on the MCP23008 8-bit port extender IC from Microchip.
The Tibbit adds 8 I/O lines to your TPS. This application demonstrates various techniques of working with Tibbit #41.

Also supported by AppBlocks, our no-code application development platform.

Test Application for the RTC and NVRAM Tibbit (#42)

This Tibbit is based on the DS3234 IC from Maxim Integrated. DS3234 is a temperature-compensated, high accuracy RTC with non-volatile memory.
This application demonstrates the use of Tibbit #42 for accurate timekeeping and alarms (interrupts generated at preset times).
The application also shows how to store data in the IC's non-volatile memory.

Also supported by AppBlocks, our no-code application development platform.

Test Application for the 16bit ADC Tibbit (#52)

High precision ADC with included power section and low noise floor.

Also supported by AppBlocks, our no-code application development platform.

Test Application for the 4-20mA ADC Tibbit (#53)

This ADC Tibbit uses an RCV420 current loop receiver front-end and an ADC1100 16-bit analog-to-digital converter IC with 15-bit of flicker-free precision.

Also supported by AppBlocks, our no-code application development platform.

Test Application for the FPGA Tibbit (#57) in the Smart LED Controller Configuration

Tibbit #57 is based on the ICE5LP2K-SWG36ITR50 FPGA from Lattice Semiconductor. This FPGA is suitable for a large number of projects. One such project is the smart LED controller. In the smart LED configuration, Tibbit #57 can control a string of daisy-chained SK6812RGBW LEDs. SK6812RGBW devices carry a small IC driving four onboard light emitters with red, green, blue, and white colors. Each of the color sources can be set to one of the 256 levels of brightness. This application demonstrates the control of a string of up to 2048 smart LEDs.

Also supported by AppBlocks, our no-code application development platform.

TPS2L LCD and Keypad Demo

This is a simple demo on how to work with the LCD and keypad on the TPS2L.

Wln Library Example

Wln (Wireless LAN) Library Demo

Also supported by AppBlocks, our no-code application development platform.

DHCP Library Example

This download contains four separate demo projects, corresponding to those described in the DHCP library documentation.

Also supported by AppBlocks, our no-code application development platform.

STG (Settings) Library Demo

This download contains four separate demo projects, corresponding to those described in the WLN (Wi-Fi Association) library documentation.

Also supported by AppBlocks, our no-code application development platform.

Dehumidifier Control

This application is described in our Instructables post titled "Controlling 3M dehumidifier with Tibbo Project System".

PPPoE Demo

This demo application contains the minimum amount of code needed to demonstrate the PPPoE object.
With it, your programmable Tibbo device should be able to dial an ADSL modem and get a connection to the Internet.

Also supported by AppBlocks, our no-code application development platform.

LED Blinker

This is one of the simplest demos of Tibbo BASIC. The red LED blinks 3 times when you push the button.
At all other times the LED is green. Also, at power-up both Green and Red LEDs blink together 3 times.

Also supported by AppBlocks, our no-code application development platform.

Controlling LED (Inband Command)

This demo shows how simple it is to implement inband commands.
Using the $ and % characters as delimiters, you can control the LEDs of your device with a telnet connection, and also transfer data.

Device Memory Wipe

Some Tibbo BASIC projects save data to device memory; then, when you upload another project, the data is still there. Or perhaps you want to upload the same project again, but test your setting initialization code. In other words, you want the device to be wiped clean before you upload your project, so you can see what your code does on a brand-new device.

Host Check (ping)

This function is useful for checking whether or not a host is available on the network. This is not necessarily the same device with which your application eventually tries to communicate; for example, perhaps you just want to verify that a certain router along the way is alive. Or perhaps you want your application to scan several IP addresses and issue an alert if any of them drops off the network.

IP-Based Access Control

This Access Control demo uses an IP Look-up table to determine if a connection should be allowed.
Connections that are not allowed are dropped, an easy but effective way to make your DS selectively inaccessible.

Screen Capture Demo

This project produces screen captures of what is currently on the LCD and display it on the web page.
This is useful when creating the user manual for a new product. It obviates the need to take (and post-process) photos of the display.

EEPROM & Resource File

This demo shows how romfiles and EEPROM memory work. These are the two places used for persistent data storage.

Also supported by AppBlocks, our no-code application development platform.

Self Upgrades With Compressed Files

This demo shows how to use the built-in fd.copyfirmwarelzo method for unzipping a compressed ROM image and flashing your device.

Asynchronous Serial Data Splitter

This application demonstrates asynchronous data transfer between serial ports using the ser.notifysent syscall. The idea is to emulate the data flow in a system with one master serial port and multiple slave ports.

Virtually Unlimited Math and Conversion

This demo's mission in life is to help you convert very large numbers between different bases, as well as perform simple calculations on very large numbers.
This can be very handy for hashing algorithms, encryption, and all sorts of other tasks that require number conversion.

DNS Demo

This is a pretty complex reusable code. It allows the device to lease a dynamic IP from a DHCP server, and also register a device name with the server.

Also supported by AppBlocks, our no-code application development platform.

Modbus Converter

This is a bridge demo between Modbus/ASCII/RTU and MODBUS/TCPIP.
The serial port is connected to a Modbus/ASCII or MODBUS/RTU device, while the Ethernet port is connected to the server.
Commands are sent from the server via Ethernet, and the slave device gets these after they've been converted.

Also supported by AppBlocks, our no-code application development platform.

NetBIOS Naming Service

This project shows the basics of interfacing with NBNS.
When a network device searches using a certain NetBIOS name, the demo will reply with the proper answer.

Also supported by AppBlocks, our no-code application development platform.

NetBIOS Naming Service

This project shows how to get the current time from an SNTP (Simple Network Time Protocol) server.
It also incorporates the DNS demo, because the IP address of SNTP servers may change from time to time.

Also supported by AppBlocks, our no-code application development platform.
Programmable IoT OverviewTibbo Project System (TPS)ControllersBoardsModulesOTA ManagementCode & Apps