Practical exercises and use cases are simulated by the IoT hardware and software provided by the teacher. All use cases are hardware independent by nature. However, when students must start implementing the exercise a particular hardware platform must use. Depending on the level of students, teacher can prepare the node and server hardware and software or leave this task to students. In any case, both node and server solution, as well as network infrastructure, must be available and accessible. In IoT, different platforms can be mixed up and connected through the broker services, but in the beginner level, it is better to stick in one hardware platform. In following IoT HomeLab kit platform is proposed and described.

The minimum requirements for IoT system are that there is at least two nodes, broker server, and the network. See the figure below.

Broker server is selected as Mosquitto MQTT broker server and nodes are based on ESP8266 microcontroller blocks, enabling to attach sensor or actuator shield on the top of it.

Node specifications

  • 11 digital input/output pins
  • Micro USB connector
  • Compatible with ArduinoIDE
  • Compatible with Nodemc
  • 4 MB flash-memory


User Interface Modules

  • Screen size 64×48 pixels
  • Driver IC: SSD1306
  • I2C interface
  • Ports GPIO4 and GPIO5
  • 8×8 dot matrix LED
  • 8 step adjustable intensity
  • Port GPIO14 and GPIO3
  • LED size 5050
  • 16 mil colors
  • Port GPIO4
  • Frequency 1kHz-3kHz
  • 4 optional control ports
  • Port GPIO14

Port GPIO0

Sensor / Actuator Modules

  • 1-wire digital interface
  • Humidity 0-100±2% RH
  • temperature -40-80±0,5 °C 
  • Port GPIO2
  • Sentry angle 110 degree
  • Sentry distance max 7 m
  • Port GPIO14 and GPIO2
  • 5V NO/NC 1-channel relay 
  • AC 250V 10A
  • DC 30V 10A 
  • Port GPIO5

Combined Module

AC current sensor for power consumption

RC servo motor for regulation and small movements

Encoder and switch for odometry or speed measure

Broker Server

Broker server can be implemented in the cloud server, local server or even limited local lightweight server like Raspberry Pi.


MQTTBox enables to create MQTT clients to publish or subscript topics, create MQTT virtual device networks, load test MQTT devices or brokers and much more. MQTTBox is a cross platform application available on Linux, MAC and Windows.

For this course the MQTT clients is handy tool to monitor the traffic and send messages to the broker. MQTT clients allows:

  • Connect to multiple MQTT brokers with TCP or Web Sockets
  • Connect with wide range of MQTT client connection settings
  • Publish/Subscribe to multiple topics
  • Supports Single Level(+) and Multilevel(#) subscription to topics
  • Copy/Republish payload
  • History of published/subscribed messages for each topic

Getting Started

Where to buy?

IoT kits are produced and sold by Estonian company ITT Group.

IoT Basic kit:

IoT Add on kit: