Embedded Backend Bridge

STM32, ESP32, Raspberry Pi & Laravel – full embedded-to-backend demo system showcasing real-world IoT architecture.

Project Overview

This project is a full embedded-to-backend demonstration system to demonstrate an IoT device. It combines low-level embedded development, industrial communication buses, a Linux-based gateway, and a modern web backend (Laravel) into one coherent architecture.

The goal is to demonstrate real-world engineering skills across the full stack:

System Architecture

System Architecture

My own build

Own Build 1 Own Build 2

Hardware Setup

Central Controller

Slave Devices

ESP32 #1 (CAN Slave)

  • Communication via CAN bus
  • CAN transceiver: VP230
  • Internal I2C light sensor (Adafruit TSL2591)

ESP32 #2 (I2C Slave)

  • Communication via I2C
  • Connected analog temperature sensor (2-pin motherboard-style sensor)

Gateway (Raspberry Pi 2)

  • Ethernet connection to STM32
  • Wi-Fi connection to a router
  • Forwards collected sensor data to the backend system

Interfaces & Communication

LAN (Ethernet)

STM32 ↔ Raspberry Pi

TCP and UDP communication using LwIP. STM32 acts as an embedded network device.

USB CDC

STM32 ↔ Raspberry Pi

Debugging, logging, and manual data access using builtin CLI.

SPI

STM32 ↔ Selfmade STM32 Hat

1.8" SPI TFT display with SD card slot ("Red Display"). Local visualization of system status and sensor values.

CAN Bus

STM32 ↔ ESP32 slave

VP230 CAN transceiver. Transmission of light sensor data.

I2C

STM32 ↔ ESP32 slave

Transmission of temperature sensor data.

Electrical Schematic

Electrical Schematic

Software Architecture

Embedded (STM32)

  • STM32CubeMX / HAL
  • LwIP TCP/IP stack
  • USB Device (CDC)
  • CAN, I2C, SPI drivers
  • TFT display driver
  • Central data collection and aggregation logic

ESP32 Slaves

  • Arduino Studio
  • Sensor integration
  • Protocol-compliant communication (CAN / I2C)

Gateway (Raspberry Pi)

  • Linux-based data gateway
  • Receives data from STM32 via Ethernet or USB
  • Forwards structured data to the backend

Backend (Laravel)

  • Standalone Laravel project
  • Authentication and authorization
  • REST API
  • Dashboard visualization (Temperature + Light)
  • Clear separation between embedded and web layers

Project Goals (Portfolio Focus)

Well suited as a reference project for Embedded, IoT, or Backend engineering roles.

← Back to projects