MQTT Client

Photo of mqtt client

Details

This project showcases a lightweight MQTT client implementation on the TM4C123GH6PM microcontroller and an ESP8266 Wi-Fi module. Designed to enable simple IoT communication, the system connects to a public MQTT broker over Wi-Fi and demonstrates the ability to publish and subscribe to topics using the MQTT protocol. The primary goal was to enable embedded systems to participate in publish-subscribe messaging without relying on a full TCP/IP stack or OS-level support. The project involves directly handling commands via UART to configure and manage the ESP8266’s network connection, followed by the implementation of a bare-metal MQTT client to communicate with the broker.
Key features include:

  • Direct UART communication with the ESP8266 for network configuration
  • Implementation of MQTT protocol for publish/subscribe messaging
  • Minimal resource usage, suitable for low-power embedded systems
  • Demonstration of IoT capabilities without a full TCP/IP stack
  • Receive and parse incoming subscribed messages
This project helped me better understand low-level UART communication, network protocol layering (TCP/MQTT), and how to architect embedded systems for cloudless, low-bandwidth messaging—useful for telemetry, device control, and lightweight sensor communication in IoT environments.

Project information

  • Project date May 2023
  • Project URL github