Hardware devices covered by this platform

  • EM2000 programmable IoT module

    • Optionally, with the WA2000 Wi-Fi/BLE add-on module
    • Optionally, with the GA1000 Wi-Fi add-on module (no longer supported from TiOS V4)
  • EM2001 programmable IoT board

    • Optionally, with the WA2000 Wi-Fi/BLE add-on module
    • Optionally, with the GA1000 Wi-Fi add-on module (no longer supported from TiOS V4)

Memory space and key info


66,816 bytes for application variables and data


786,432 bytes for application storage, and separately

1,048,576 bytes for data storage (dedicated flash disk memory)


2040 bytes for application data

TiOS Firmware Version



V4.00.01 (download)


  • Fixed HTTP headers bug causing issue with web server

V4.00.00 (download)


  • Added support for Transport Layer Security (TLS) 1.2 with the ECDSA cryptosystem (secp384r1 elliptic curve profile)
  • Removed support for the GA1000 wireless add-on module
  • Removed support for the pppoe. object

V3.80.18 (download)


  • Bug fixes

Platform type

32-bit platform

Clock frequency (CLOCK) and clock control

Frequency is fixed at 120MHz

Available network interfaces

Ethernet (net.), PPP (ppp.), PPPoE (pppoe.)(1)

GPIO type


UART limitations

Max practical baudrate ~460800

7 bits/NO PARITY mode should not be used

Serial port FIFOs

1 byte for TX, 1 bytes for RX

Serial port line configuration

Depends on the serial port mode

Serial port interrupts and io.intenabled


RTS/CTS remapping



4 channels, 12 bits (7 bits effective)

Pulse-width Modulation (PWM)


GA1000 support


WA2000 support


GA1000 and WA2000 lines remapping


Beep.divider calculation

beep.divider=CLOCK / (4 * desired_frq),

beep.divider must be in the 2-65535 range

Recommended buzzer frequency divider

Depends on the attached buzzer

Display type selection and line remapping

At this time, only the SSD1964 LCD controller is supported. Line remapping is not supported.

Special configuration section of the EEPROM

28 bytes for MAC and device password storage

Device serial number

128 bytes: 64 OTP bytes + 64 fixed bytes

Flash memory configuration


Self-upgrades for the Tibbo-BASIC/C app.

Supported through fd.copyfirmware, fd.copyfirmwarelzo, fd.copyfirmwarefromfile, and fd.copyfirmwarefromfilelzo methods

Status LEDs (LED Control Lines)

Green status (SG) LED and control line

Red status (SR) LED and control line

Yellow Ethernet status (EY) LED and control line

Green Ethernet status (EG) control line (no LED)

Debug communications

Ethernet / UDP Broadcast transport

Ethernet /WinPCap transport

  1. The sock.allowedinterfaces property refers to the Ethernet interface as "NET", Wi-Fi — as "WLN", PPP — as "PPP", and PPPoE — as "PPPOE". Sock.targetinterface and sock.currentinterface properties rely on the pl_sock_interfaces enum, whose members differ depending on the platform.
  1. Surrounding hardware may dictate which GPIO lines must be used as inputs and which — as outputs.
  1. Default CTS/RTS mapping is different for each serial port:




Port 1

0- PL_IO_NUM_0

0- PL_INT_NUM_0 (16- PL_IO_NUM_16_INT0)

Port 2

1- PL_IO_NUM_1

1- PL_INT_NUM_1 (17- PL_IO_NUM_17_INT1)

Port 3

2- PL_IO_NUM_2

2- PL_INT_NUM_2 (18- PL_IO_NUM_18_INT2)

Port 4

3- PL_IO_NUM_3

3- PL_INT_NUM_3 (19- PL_IO_NUM_19_INT3)

  1. Mapping of GA1000 and WA2000 control lines is fully flexible on the EM2000W. However, if the GA1000 or WA2000 module is installed on top of the EM2000 (so called EM2000G module combination), then the following mapping must be applied:


49- PL_IO_NUM_49


53- PL_IO_NUM_53


52- PL_IO_NUM_52


50- PL_IO_NUM_50


51- PL_IO_NUM_51

Supported objects, variable types, and functions

  • adc — provides access to four ADC channels
  • beep — generates buzzer patterns
  • bt — responsible for Bluetooth Low Energy (BLE) communications
  • button — monitors the MD line (setup button)
  • fd — manages flash memory file system and direct sector access
  • io — handles I/O lines, ports, and interrupts
  • kp — scans keypads of matrix and "binary" types
  • lcd — controls graphical display panels (several types supported)
  • net — controls the Ethernet interface
  • pat — "plays" patterns on up to five LED pairs
  • ppp — provides access to the Internet over a serial modem (4G/LTE, POTS, etc.)
  • romfile — facilitates access to resource files (fixed data)
  • rtc — keeps track of date and time
  • ser — in charge of serial ports (UART, Wiegand, and clock/data modes)
  • sock — socket communications (up to 16 UDP, TCP, and HTTP sessions)
  • ssi  — implements up to four serial synchronous interface (SSI) channels, supports SPI, I2C, clock/data, etc.
  • stor — provides access to the EEPROM
  • sys — in charge of general device functionality
  • wln — handles the Wi-Fi interface (requires the GA1000 or WA2000 add-on module to be connected to the EM2000)

This platform supports the standard set of variable types and functions (a.k.a. "syscalls").

Platform-specific constants

You can find them here.