EM1001, EM1001W, and EM1001N Platforms

Hardware devices covered by this platform

  • EM1001 programmable IoT board (optionally, with GA1000 or WA2000 add-on device).
  • Other devices incorporating the EM1001 board.

This section covers three separate platforms:

  • EM1001 — does not support any wireless modules.
  • EM1001W — supports the GA1000 Wi-Fi add-on.
  • EM1001N — provides limited support for the WA2000 add-on (Wi-Fi only; BLE not supported).

Memory space and key info

RAM

22,271 bytes for application variables and data

Flash

983,040 bytes for application and data storage (shared flash memory)*

EEPROM

2040 bytes for application data

*Some earlier devices had only 458,752 bytes of flash memory available

TiOS firmware version

[V3.7x]

Platform type

16-bit platform

Clock frequency (CLOCK) and clock control

PLL on: 88.4736Mhz, PLL off: 11.0592Mhz(1)

Available network interfaces

EM1001: Ethernet (net.), PPP (ppp.), PPPoE (pppoe.)(2)

EM1001W: Ethernet (net.), Wi-Fi (wln.) , PPP (ppp.), PPPoE (pppoe.)(2)

GPIO type

Unidirectional(3)

UART limitations

Max practical baudrate ~921600

Serial port FIFOs

16 byte for TX, 16 bytes for RX

Serial port line configuration

Depends on the serial port mode

Serial port interrupts and io.intenabled

Independent

RTS/CTS remapping

Supported(4)

ADC

NO

Pulse-width Modulation (PWM)

NO

GA1000 support

YES

WA2000 support

Supports Wi-Fi, BLE is not supported

GA1000 and WA2000 lines remapping

Supported(5)

Beep.divider calculation

beep.divider=CLOCK / (2 * desired_frq)

Recommended buzzer frequency divider

Depends on the attached buzzer

Display type selection and line remapping

Type selection and line remapping 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(6)

Flash memory configuration

Shared

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

Supported through fd.copyfirmware, fd.copyfirmwarelzo, and fd.copyfirmwarefromfile 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

Debug communications

Ethernet / UDP Broadcast transport

Ethernet /WinPCap transport

Comments:

  1. Default PLL state after the external reset depends on the PM pin of the EM1001(W).
  2. 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.
  3. Surrounding hardware may dictate which GPIO lines must be used as inputs and which — as outputs.
  4. Default CTS/RTS mapping is different for each serial port:

 

RTS

CTS

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 EM1001W. However, if the GA1000 or WA2000 module is installed on top of the EM1001, then the following mapping must be applied:

CS

49- PL_IO_NUM_49

CLK

53- PL_IO_NUM_53

DI

52- PL_IO_NUM_52

DO

50- PL_IO_NUM_50

RST

51- PL_IO_NUM_51

  1. Older EM1001 and EM1001W devices did not contain the serial number. To find out if your EM1001(W) has the serial number onboard, try to read this serial number with the sys.serialnum R/O property. If this property returns an empty string, then the serial number is not present. Sys.serialnum returns all 128 bytes of the serial number. First 64 bytes are one-time-programmable (OTP) with the sys.setserialnum method.

Supported Objects, variable types, and functions

  • Sock — socket communications (up to 16 UDP, TCP, and HTTP sessions);
  • Net — controls the Ethernet interface;
  • Wln — handles the Wi-Fi interface (only available on EM1000W and EM1000N platforms, requires GA1000 or WA2000 add-on devices respectively);
  • Ser — in charge of serial ports (UART, Wiegand, and clock/data modes);
  • Ssi  — implements up to four serial synchronous interface (SSI) channels, supports SPI, I2C, clock/data, etc.;
  • Io — handles I/O lines, ports, and interrupts;
  • Lcd — controls graphical display panels (several types supported);
  • Kp — scans keypads of matrix and "binary" types;
  • Rtc — keeps track of date and time;
  • Fd — manages flash memory file system and direct sector access;
  • Stor — provides access to the EEPROM;
  • Romfile — facilitates access to resource files (fixed data);
  • Pppoe — provides access to the Internet over an ADSL modem;
  • Ppp — provides access to the Internet over a serial modem (GPRS, POTS, etc.);
  • Pat — "plays" patterns on up to five LED pairs;
  • Beep — generates buzzer patterns;
  • Button — monitors the MD line (setup button);
  • Sys — in charge of general device functionality.

These platforms support the standard set of variable types and functions (a.k.a. "syscalls").

Platform-specific constants

You can find them here.