---
title: "TinyMQTT W5500 example"
url: "https://maker.wiznet.io/viktor/projects/tinymqtt-w5500-example/"
markdown_url: "https://maker.wiznet.io/viktor/projects/tinymqtt-w5500-example/md"
type: "UCC: User Created Content"
author: "hsaturn"
author_url: "https://github.com/hsaturn/TinyMqtt"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "hsaturn"
original_url: "https://github.com/hsaturn/TinyMqtt"
published: "2023-04-24"
language: "en"
hardware: ["WIZnet W5500"]
likes: 1
views: 309
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# TinyMQTT W5500 example

> TinyMqtt is a small, fast and capable Mqtt Broker and Client for Esp8266 / Esp32 / Esp WROOM

Original author: hsaturn (source: https://github.com/hsaturn/TinyMqtt)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Article

## TinyMqtt

[![Release](https://img.shields.io/github/v/release/hsaturn/TinyMqtt)](https://github.com/hsaturn/TinyMqtt/releases) [![AUnit Tests](https://github.com/hsaturn/TinyMqtt/actions/workflows/aunit.yml/badge.svg)](https://github.com/hsaturn/TinyMqtt/actions/workflows/aunit.yml) [![Issues](https://img.shields.io/github/issues/hsaturn/TinyMqtt)](https://github.com/hsaturn/TinyMqtt/issues) [![Esp8266](https://img.shields.io/badge/platform-ESP8266-green)](https://www.espressif.com/en/products/socs/esp8266) [![Esp32](https://img.shields.io/badge/platform-ESP32-green)](https://www.espressif.com/en/products/socs/esp32) [![Gpl 3.0](https://img.shields.io/github/license/hsaturn/TinyMqtt)](https://www.gnu.org/licenses/gpl-3.0.fr.html) [![Mqtt 3.1.1](https://img.shields.io/badge/Mqtt-%203.1.1-yellow)](https://docs.oasis-open.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.html#_Toc442180822)

TinyMqtt is a small, fast and capable Mqtt Broker and Client for Esp8266 / Esp32 / Esp WROOM

### Statuses of all unit tests of TinyMqtt and its dependencies

| Project | Unit tests result |
| --- | --- |
| TinyMqtt | [![](https://github.com/hsaturn/TinyMqtt/actions/workflows/aunit.yml/badge.svg)](https://github.com/hsaturn/TinyMqtt/actions/workflows/aunit.yml) |
| Dependencies |  |
| TinyConsole | [![](https://github.com/hsaturn/TinyConsole/actions/workflows/aunit.yml/badge.svg)](https://github.com/hsaturn/TinyConsole/actions/workflows/aunit.yml) |
| EpoxyDuino | [![AUnit Tests](https://github.com/hsaturn/EpoxyDuino/actions/workflows/aunit_tests.yml/badge.svg)](https://github.com/hsaturn/EpoxyDuino/actions/workflows/aunit_tests.yml) |
| EspMock | [![AUnit Tests](https://github.com/hsaturn/EspMock/actions/workflows/aunit.yml/badge.svg)](https://github.com/hsaturn/EspMock/actions/workflows/aunit.yml) |
| AUnit | [![AUnit Tests](https://github.com/hsaturn/AUnit/actions/workflows/aunit_tests.yml/badge.svg)](https://github.com/hsaturn/AUnit/actions/workflows/aunit_tests.yml) |
| AceRoutine | [![AUnit Tests](https://github.com/bxparks/AceRoutine/actions/workflows/aunit_tests.yml/badge.svg)](https://github.com/bxparks/AceRoutine/actions/workflows/aunit_tests.yml) |

## Features

- Supports retained messages (not activated by default)

- Async Wifi compatible (me-no-dev/ESPAsyncTCP@^1.2.2)

- Very fast broker I saw it re-sent 1000 topics per second for two clients that had subscribed (payload ~15 bytes ESP8266). No topic lost. The max I've seen was 2k msg/s (1 client 1 subscription)

- Act as as a mqtt broker and/or a mqtt client

- Mqtt 3.1.1 / Qos 0 supported

- Wildcards supported (+ # $ and * (even if not part of the spec...))

- Standalone (can work without WiFi) (degraded/local mode)

- Brokers can connect to another broker and becomes then a proxy for clients that are connected to it.

- zeroconf, this is a strange but very powerful mode where all brokers tries to connect together on the same local network.

- small memory footprint (very efficient topic storage)

- long messages are supported (>127 bytes)

- TinyMQTT is largely unit tested, so once a bug is fixed, it is fixed forever

---

Source: https://maker.wiznet.io/viktor/projects/tinymqtt-w5500-example/
