EM1001 BASIC/C-programmable IoT Board



The EM1001 is a BASIC-programmable Ethernet board. The EM1001 is a close relative of the EM1000 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 EM1000, the EM1001 board can control a WA2000 Wi-Fi add-on, as well as an external LCD, keypad, buzzer, and many other peripheral components.

Unlike the EM1000, the EM1001 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 EM1001 does not require a host board to plug into. The EM1001 is the host board. As such, the EM1001 is equally suited to low-volume production devices and hobbyist projects alike.

The EM1001 is fully supported by TIDE software. The board shares the same platform with the EM1000 module (see TIDE, TiOS, Tibbo BASIC, and Tibbo C Manual).

Hardware features

  • Powered by Tibbo OS (TiOS).
  • 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 WA2000 add-on module to be connected).
  • Can control a GPRS modem* (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;
    • 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.
  • 54 general-purpose I/O lines; 8 lines can work as interrupts.
  • Square wave output (can be used for buzzer* control).
  • 4 synchronous serial ports with SPI and I2C modes.

  • Supports LCD and OLED panels*.

  • Supports matrix and binary output keypads*.

  • RTC with backup power input (optional onboard supercapacitor).

  • 22KB SRAM for Tibbo BASIC/C variables and data.

  • 1MB flash memory for TiOS, application code, and file system.

  • 2048-byte EEPROM for data storage.

  • Three status LEDs onboard:

    • Green and red main status LEDs;
    • Yellow Ethernet link LED.
  • Two control lines for external green and red main status LEDs;

  • Software- and hardware-controlled PLL for selecting high or low speed.
  • Reliable power-on/ brown-out reset circuit.

  • Powering options:

    • Through the switching regulator, 12VDC nominal (8 ~ 20V);
    • Using regulated 3.3V power (the regulator is bypassed).
  • The regulator can provide up to 1.3A @ 3.3V to external devices.

  • Power: 100mA @ 3.3V (100BaseT mode, full speed).

  • Dimensions (LxWxH): 75 x 36 x 17.5mm**.

  • Operating temperature range: -40 ~ +70 C.

  • Firmware is upgradeable through the serial port or network.

  • Tibbo BASIC/C application can be uploaded and debugged through the Ethernet LAN (no additional debugging hardware is required).
  • CE- and FCC-certified.

* Must be connected externally.

**Not including RJ45, power jack, WA2000.

Programming features

  • Platform objects:

    • beep — generates buzzer patterns.
    • button — monitors the MD (setup) line.
    • fd — manages the 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.
  • Variable Types: Byte, char, integer (word), short, dword, long, real, string, plus user-defined arrays and structures.

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