This is a STM32CubeIDE project that includes a modular framework supporting:
- STM32L4S5VITX microcontroller
- FreeRTOS real-time operating system
- ADIN1110 Ethernet transceiver (using the no-OS driver)
- Modbus TCP/IP server (via micro-modbus)
The framework requires approximately 160 kB of flash memory.
It should be relatively straightforward to adapt the project to other STM32 microcontrollers.
This project uses a generic SPI interface to communicate with the ADIN1110 transceiver.
Signal | Pin |
---|---|
MISO | PA6 |
MOSI | PA7 |
SCLK | PA5 |
CS | PA3 |
RESET | PD7 |
These pin assignments may need to be updated in both the source code (config.h) and the STM32CubeIDE Pinout & Configuration tool.
A small "hack" has been applied to the no-OS driver to enable SPI DMA transfers for improved performance.
You can find the original driver here:
Analog Devices no-OS ADIN1110 Driver
The project uses the lightweight and efficient micro-modbus library to implement a Modbus TCP/IP server.
This project originated as part of a bachelor thesis in electrical automation at USN Vestfold, Spring 2025.
Note: I am unable to provide support for this project, but I hope it serves as a helpful reference for others working on similar applications.