EM2001 BASIC/C-programmable IoT Board

Top  Previous  Next




The EM2001 is Tibbo's most powerful and versatile BASIC-programmable Ethernet board. The EM2001 is a close relative of the EM2000 Ethernet module. Two devices have the same feature set, including the 10/100BaseT Ethernet port, four serial ports, onboard flash disk, EEPROM, and the RTC with optional backup supercapacitor. Like the EM2000, the EM2001 board can control a GA1000 Wi-Fi add-on, as well as an external LCD, keypad, buzzer, and many other peripheral components.

Unlike the EM2000, the EM2001 us a self-sufficient board: it has a 12V-to-3.3V switching power regulator, RJ45 connector with magnetics, three LEDs, and the MD button. Thus, the EM2001 does not require a host board to plug into. The EM2001 is the host board. As such, the EM2001 is equally suited to low-volume production devices and hobbyist projects alike.

The EM2001 is fully supported by TIDE software. The board shares the same programming platform with the EM2000 module (see "TIDE and Tibbo BASIC Manual").


EM2001 advantages over the EM1001 board

The EM2001 is a high-performance upgrade to our EM1001 board. Here is small list of important improvements:

32-bit architecture (vs. 16-bit architecture of the EM1001).

5 to 80 times better performance, depending on the calculations and variable types.

7 times faster GPIO manipulation.

3 times larger available user SRAM (66KB vs. 22KB).

1.5-3.0 times faster graphics.

2.2 times lower power consumption (100mA vs. 220mA).

2 times larger flash memory (1MB for TiOS/code + 1MB for the file system vs. 1MB total for TiOS, code, and file system).

56 I/O lines (vs. 54 lines on the EM1001).

4-channel ADC.


Hardware features

32-bit architecture.

10/100BaseT auto-MDIX Ethernet port with RJ45/magnetics (MDIX feature means automatic detection of "straight" and "cross" cables).

Optional Wi-Fi interface (requires the GA1000 add-on module to be connected).

Optional GPRS connectivity with the use of an external GPRS module (such as the SIM900).

Four high-speed serial ports (CMOS-level):

 - Baudrates of up to 460,800bps;

 - None/even/odd/mark/space parity modes;

 - 7/8 bits/character modes*;

 - Full-duplex mode with RTS/CTS and XON/XOFF flow control;

 - Half-duplex mode with direction control;

 - Encoding and decoding of Wiegand and clock/data streams.

Up to 56 general-purpose I/O lines. Among them:

 - 8 interrupt lines;

 - Serial port lines;

 - 40 lines that are combined into five 8-bit ports;

 - Square wave output, which can be used to control an external buzzer.

4-channel ADC.

Supports external 320x240 TFT LCD display.

Supports matrix and binary output keypads.

RTC with onboard backup battery.

66KB SRAM for Tibbo BASIC/C variables and data.

1MB flash for TiOS and application code (768KB for the application code alone).

Additional 1MB flash for hardened fault-tolerant file system.

2048-byte EEPROM for data storage.

Three LEDs onboard:

 - Green and red status LEDs;

 - Yellow Ethernet status LED.

Control lines for external green and red status LEDs.

MD button onboard.

RST and MD control lines.

Software-controlled PLL allows to select full, medium, or low speed.

Reliable power-on/ brown-out reset circuit; no additional external reset circuitry required.

Power options:

 - Through the switching power regulator: 8-20V, supplied via the power jack or VIN line;

 - Direct 3.3V power: regulated 3.3V, supplied via the 3.3V line.

Available current: when powered through the switching regulator, the EM1001 can supply up to 1A of power through its 3.3V pin (1.3A without the GA1000).

Dimensions: 75x36x17.5mm (not including protruding RJ45 and power jack; GA1000, when installed, adds 1.5mm to the combined device height).

Firmware and Tibbo BASIC/C application are upgradeable through the serial port or network.

Tibbo BASIC/C application can be debugged through the network and no additional debugging hardware (such as a JTAG board) is required.


* The EM2001 does not support the combination of 7 bits/character mode and the "none" parity mode.


Programming features

Variable Types: Byte, char, integer (word), short, dword, long, real, string, plus user-defined arrays and structures.

Function Groups: string functions (27 in total!), date/time conversion functions (8), encryption/hash calculation functions (AES128, RC4, MD5, SHA-1), and more.

Platform objects:

beep — generates buzzer patterns.

button — monitors the MD (setup) line.

fd — manages flash memory file system and direct sector access.

io — handles I/O lines, ports, and interrupts.

kp — works with matrix and binary keypads.

lcd — controls graphical display panels.

net — controls the Ethernet port.

pat — "plays" patterns on up to five LED pairs.

ppp — accesses the Internet over a serial modem (GPRS, etc.).

pppoe — accesses the Internet over an ADSL modem.

romfile — facilitates access to resource files (fixed data).

rtc — keeps track of date and time.

ser — controls serial ports (UART, Wiegand, clock/data modes).

sock — socket comms (up to 16 UDP, TCP, and HTTP sessions).

ssi — controls serial synchronous interface channels (SPI, I2C...).

stor — provides access to the EEPROM.

sys — in charge of general device functionality.

wln — handles the Wi-Fi interface.

adc — provides access to four ADC channels.