Skip to content
This repository was archived by the owner on Jun 8, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ Official documentation and product showcase for Abstract Machines IoT gateway ha

## Products

### S0 IoT Gateway
### A0 IoT Gateway

Swiss knife for wireless IoT. Multi-protocol gateway with ESP32-C6 RISC-V, supporting Wireless M-Bus, NB-IoT, LTE-M, WiFi, and BLE. Runs Zephyr RTOS.

### S0 Base Board
### A0 Base Board

Modular expansion board with W5500 Ethernet, TSS721A M-Bus transceiver, SD card logging, and robust power management.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: S0 Board Architecture and Schematics
description: Hardware architecture and circuit schematics for the S0 board
title: A0 Board Architecture and Schematics
description: Hardware architecture and circuit schematics for the A0 board
---

# S0 Board Architecture and Schematics
# A0 Board Architecture and Schematics

## Hardware Architecture

Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
title: Getting Started with S0
description: Quick start guide for S0 IoT Gateway
title: Getting Started with A0
description: Quick start guide for A0 IoT Gateway
---

# Getting Started with S0
# Getting Started with A0

This guide will help you get up and running with the S0 IoT Gateway.
This guide will help you get up and running with the A0 IoT Gateway.

## What You'll Need

### Hardware

- S0 IoT Gateway module
- A0 IoT Gateway module
- USB-C cable for power and programming
- Optional: S0 Base Board for expanded functionality
- Optional: A0 Base Board for expanded functionality

### Software

Expand All @@ -30,7 +30,7 @@ This guide will help you get up and running with the S0 IoT Gateway.

### Install Zephyr OS

To program and build firmware for the S0 board, install **Zephyr OS** from the official website:
To program and build firmware for the A0 board, install **Zephyr OS** from the official website:

[https://docs.zephyrproject.org/latest/develop/getting_started/index.html](https://docs.zephyrproject.org/latest/develop/getting_started/index.html)

Expand All @@ -41,7 +41,7 @@ Zephyr provides:
- Networking and protocol stacks
- Secure communication and TLS support

Once Zephyr is installed, you can build and flash applications directly to the S0 board using `west`.
Once Zephyr is installed, you can build and flash applications directly to the A0 board using `west`.

### Clone the Embedded Repository

Expand Down Expand Up @@ -101,7 +101,7 @@ west build -p always -b esp32c6_devkitc

The board parameter can be changed to whichever board you are using as long as it is recognized by Zephyr. See [Zephyr supported boards](https://docs.zephyrproject.org/latest/boards/index.html#) for more information.

To upload code to the S0 and monitor the serial output:
To upload code to the A0 and monitor the serial output:

```bash
west flash
Expand All @@ -110,7 +110,7 @@ west espressif monitor

## Next Steps

- [S0 Pinouts](/docs/s0-gateway/pinouts) — Pin assignments and header descriptions
- [S0 Architecture](/docs/s0-gateway/architecture) — Board schematics and circuit diagrams
- [Software Overview](/docs/s0-gateway/software) — Communication protocols and examples
- [Base Board](/docs/base-board) — Expand S0 with Ethernet, M-Bus, and power management
- [A0 Pinouts](/docs/A0-gateway/pinouts) — Pin assignments and header descriptions
- [A0 Architecture](/docs/A0-gateway/architecture) — Board schematics and circuit diagrams
- [Software Overview](/docs/A0-gateway/software) — Communication protocols and examples
- [Base Board](/docs/base-board) — Expand A0 with Ethernet, M-Bus, and power management
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
title: S0 IoT Gateway
title: A0 IoT Gateway
description: Swiss knife for wireless IoT - Modular multi-protocol IoT gateway
---

# S0 IoT Gateway
# A0 IoT Gateway

![S0 IoT Gateway](../images/s0.png)
![A0 IoT Gateway](../images/a0.png)

The **S0 IoT Gateway** is a robust and modular IoT Gateway for smart metering applications. Built around the **ESP32-C6** microcontroller with a RISC-V core, it runs **Zephyr RTOS** and supports both **Wireless M-Bus (wMBus)** and **wired M-Bus** utility meters, transmitting collected data securely to [Magistrala](https://github.com/absmach/magistrala).
The **A0 IoT Gateway** is a robust and modular IoT Gateway for smart metering applications. Built around the **ESP32-C6** microcontroller with a RISC-V core, it runs **Zephyr RTOS** and supports both **Wireless M-Bus (wMBus)** and **wired M-Bus** utility meters, transmitting collected data securely to [Magistrala](https://github.com/absmach/magistrala).

> **S0 = S0 Board + Baseboard — Zephyr RTOS**
> **A0 = A0 Board + Baseboard — Zephyr RTOS**
>
> Looking for a Linux-based gateway? See the [S1 Gateway](/docs/s1-gateway), which combines the S0 Board with BeagleV-Fire.
> Looking for a Linux-based gateway? See the [A1 Gateway](/docs/a1-gateway), which combines the A0 Board with BeagleV-Fire.

## Overview

S0 collects data from multiple wireless protocols and transmits it securely to the cloud. It integrates with [Magistrala](https://github.com/absmach/magistrala), a modern, scalable, open-source IoT platform.
A0 collects data from multiple wireless protocols and transmits it securely to the cloud. It integrates with [Magistrala](https://github.com/absmach/magistrala), a modern, scalable, open-source IoT platform.

## Hardware Architecture

Expand All @@ -26,7 +26,7 @@ S0 collects data from multiple wireless protocols and transmits it securely to t
| ESP32-C6 | Main microcontroller (RISC-V, WiFi, BLE) |
| RC-S2LP | Wireless M-Bus 868 MHz transceiver |
| SIM7080G | NB-IoT/LTE-M module |
| Ethernet | (Optional) local network through S0 Baseboard |
| Ethernet | (Optional) local network through A0 Baseboard |
| USB-C & Terminals | For power and debug |
| GNSS Support | Optional via SIM7080G for asset tracking |

Expand All @@ -39,11 +39,11 @@ The board is compact and optimized for IP-rated DIN-rail enclosures for industri

### Power Management

The S0 board can be powered in 3 ways:
The A0 board can be powered in 3 ways:

- **USB-C**: For development and testing
- **Power JST**: Battery of maximum 7.4V connected via the battery JST connector
- **Baseboard**: The Baseboard supplies both 5V and 3.3V to the S0 board
- **Baseboard**: The Baseboard supplies both 5V and 3.3V to the A0 board

## Wireless Communication

Expand All @@ -55,15 +55,15 @@ The S0 board can be powered in 3 ways:

## Firmware and Flashing

The S0 board uses the ESP32-C6 as its main microcontroller and can be programmed using any framework of your choice. Firmware is flashed through the USB-C connector.
The A0 board uses the ESP32-C6 as its main microcontroller and can be programmed using any framework of your choice. Firmware is flashed through the USB-C connector.

Debug is possible via the USB-C connector or the JTAG pins labelled on the board, enabling both on-site and off-site debugging.

## Software Stack

### Zephyr RTOS

S0 runs on Zephyr RTOS, providing:
A0 runs on Zephyr RTOS, providing:

- Secure and modular firmware stack
- Built-in protocol support (MQTT, CoAP, WebSockets, HTTP)
Expand Down Expand Up @@ -104,7 +104,7 @@ Supported communication protocols:

### Base Board

The S0 Base Board adds:
The A0 Base Board adds:

- W5500 Ethernet controller
- TSS721A M-Bus transceiver
Expand All @@ -119,7 +119,7 @@ The S0 Base Board adds:

### Smart Metering

Deploy S0 for residential and industrial utility monitoring:
Deploy A0 for residential and industrial utility monitoring:

- Read wireless and wired M-Bus meters
- Backhaul via NB-IoT or LTE-M
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: S0 Pinouts
description: S0 board pin assignments and header descriptions
title: A0 Pinouts
description: A0 board pin assignments and header descriptions
---

# S0 Pinouts
# A0 Pinouts

![S0 Pinout](../images/s0_pinout.svg)
![A0 Pinout](../images/a0_pinout.svg)

## BA Header Pinout (`J1`)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: CoAP
description: Connecting S0 to Magistrala via CoAP
description: Connecting A0 to Magistrala via CoAP
---

# Connecting S0 to Magistrala via CoAP
# Connecting A0 to Magistrala via CoAP

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/coap` directory when executi

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: CoAP-DTLS (Secure CoAP)
description: Connecting S0 to Magistrala via CoAP with DTLS security
description: Connecting A0 to Magistrala via CoAP with DTLS security
---

# Connecting S0 to Magistrala via CoAP Secure
# Connecting A0 to Magistrala via CoAP Secure

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/coaps` directory when execut

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: HTTP
description: Connecting S0 to Magistrala via HTTP
description: Connecting A0 to Magistrala via HTTP
---

# Connecting S0 to Magistrala via HTTP
# Connecting A0 to Magistrala via HTTP

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/http` directory when executi

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: HTTPS
description: Connecting S0 to Magistrala via HTTPS with TLS
description: Connecting A0 to Magistrala via HTTPS with TLS
---

# Connecting S0 to Magistrala via HTTPS
# Connecting A0 to Magistrala via HTTPS

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/https` directory when execut

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
title: Software Overview
description: S0 firmware, communication protocols, and integration with Magistrala
description: A0 firmware, communication protocols, and integration with Magistrala
---

# Software Overview

## Introduction

The **S0** is an IoT gateway board built around the **ESP32-C6** microcontroller, based on the **RISC-V** architecture. It is designed for versatile connectivity, efficiency, and secure communication with cloud-based IoT platforms.
The **A0** is an IoT gateway board built around the **ESP32-C6** microcontroller, based on the **RISC-V** architecture. It is designed for versatile connectivity, efficiency, and secure communication with cloud-based IoT platforms.

The board runs on the **Zephyr Real-Time Operating System (RTOS)**, offering stability, modularity, and scalability for embedded applications. Zephyr provides extensive hardware abstraction and a unified development framework for ESP32-C6 and other architectures.

## Communication Protocols

The S0 board supports a variety of IoT communication protocols. These enable secure and efficient data transfer between the device and cloud services.
The A0 board supports a variety of IoT communication protocols. These enable secure and efficient data transfer between the device and cloud services.

| Protocol | Security | Description | Reference |
| -------------- | -------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
Expand All @@ -29,15 +29,15 @@ Each communication example repository contains setup guides, sample code, and in

## Summary

The S0 board combines Zephyr's robust RTOS capabilities with modern communication stacks and secure connectivity features. Its compatibility with **Magistrala**/**SuperMQ** enables seamless data flow between hardware and cloud, empowering developers to build scalable, secure, and efficient IoT systems.
The A0 board combines Zephyr's robust RTOS capabilities with modern communication stacks and secure connectivity features. Its compatibility with **Magistrala**/**SuperMQ** enables seamless data flow between hardware and cloud, empowering developers to build scalable, secure, and efficient IoT systems.

## Examples

- [WiFi Configuration](/docs/s0-gateway/software/wifi)
- [MQTT](/docs/s0-gateway/software/mqtt)
- [MQTTS (Secure MQTT)](/docs/s0-gateway/software/mqtts)
- [HTTP](/docs/s0-gateway/software/http)
- [HTTPS](/docs/s0-gateway/software/https)
- [CoAP](/docs/s0-gateway/software/coap)
- [CoAP-DTLS (Secure CoAP)](/docs/s0-gateway/software/coaps)
- [WebSockets](/docs/s0-gateway/software/websockets)
- [WiFi Configuration](/docs/a0-gateway/software/wifi)
- [MQTT](/docs/a0-gateway/software/mqtt)
- [MQTTS (Secure MQTT)](/docs/a0-gateway/software/mqtts)
- [HTTP](/docs/a0-gateway/software/http)
- [HTTPS](/docs/a0-gateway/software/https)
- [CoAP](/docs/a0-gateway/software/coap)
- [CoAP-DTLS (Secure CoAP)](/docs/a0-gateway/software/coaps)
- [WebSockets](/docs/a0-gateway/software/websockets)
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: MQTT
description: Connecting S0 to Magistrala via MQTT
description: Connecting A0 to Magistrala via MQTT
---

# Connecting S0 to Magistrala via MQTT
# Connecting A0 to Magistrala via MQTT

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/mqtt` directory when executi

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: MQTTS (Secure MQTT)
description: Connecting S0 to Magistrala via MQTTS with TLS
description: Connecting A0 to Magistrala via MQTTS with TLS
---

# Connecting S0 to Magistrala via MQTTS
# Connecting A0 to Magistrala via MQTTS

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/mqtts` directory when execut

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
---
title: WebSockets
description: Connecting S0 to Magistrala via WebSockets
description: Connecting A0 to Magistrala via WebSockets
---

# Connecting S0 to Magistrala via WebSockets
# Connecting A0 to Magistrala via WebSockets

## Running Magistrala

Expand All @@ -13,7 +13,7 @@ Ensure also you are in the `embedded/targets/zephyr/websocket` directory when ex

Modify the configuration file in `src/config.h`.

Start with the WiFi credentials, as S0 in this case is in Station Mode:
Start with the WiFi credentials, as A0 in this case is in Station Mode:

```c
#define WIFI_SSID "SSID" // Replace `SSID` with WiFi ssid
Expand Down
Loading
Loading