Skip to content

d-ragul/renode-runtime-diagnostics-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Renode-Based Virtual Embedded Runtime Diagnostics Platform

Overview

This project is a virtual embedded runtime diagnostics and monitoring platform built using custom bare-metal ARM Cortex-M4 firmware, Renode simulation, Python socket communication, and Streamlit-based live analytics visualization.

The system simulates embedded firmware execution on a virtual STM32F4 Discovery platform and streams live UART runtime logs into a real-time monitoring dashboard for diagnostics analysis and fault visualization.

This project demonstrates embedded firmware workflow, runtime monitoring, UART-based debugging, socket communication, and live embedded analytics infrastructure.


System Architecture

ARM Cortex-M4 Firmware ↓ UART Peripheral ↓ Renode Virtual UART ↓ TCP Socket Stream ↓ Python Runtime Capture ↓ Streamlit Dashboard ↓ Live Runtime Diagnostics


Features

  • Custom bare-metal ARM Cortex-M4 firmware
  • Virtual STM32F4 Discovery simulation using Renode
  • UART-based runtime diagnostics streaming
  • TCP socket-based firmware log communication
  • Live firmware monitoring dashboard
  • Runtime WARNING / CRITICAL / FAULT classification
  • Real-time UART log visualization
  • Embedded fault analytics and monitoring
  • Live diagnostics statistics tracking
  • Interactive Streamlit dashboard UI

Technologies Used

Embedded Systems

  • ARM Cortex-M4
  • STM32F4 Discovery
  • Bare-metal Embedded C
  • UART Communication
  • Memory-Mapped Peripheral Programming

Simulation & Monitoring

  • Renode
  • TCP Socket Communication
  • Python

Dashboard & Analytics

  • Streamlit
  • Real-Time Runtime Monitoring
  • Live Diagnostics Visualization

Runtime Monitoring States

The firmware simulates dynamic runtime monitoring behavior using state-machine based diagnostics logic.

Example Runtime States

SYSTEM NORMAL
WARNING: HIGH TEMPERATURE
CRITICAL: SENSOR OVERLOAD
FAULT: SYSTEM SHUTDOWN


Project Structure

renode-runtime-diagnostics-platform/

├── firmware/
│ └── firmware.elf

├── dashboard/
│ ├── live_dashboard.py
│ └── uart_socket_reader.py

├── screenshots/

├── README.md

├── requirements.txt

└── .gitignore


How It Works

1. Firmware Execution

Custom ARM Cortex-M4 firmware executes inside Renode virtual hardware simulation.

2. UART Runtime Streaming

Firmware continuously sends runtime diagnostic messages through UART.

3. Socket Communication

Renode redirects UART runtime logs through a TCP socket stream.

4. Python Runtime Capture

Python socket client receives live UART runtime data.

5. Live Dashboard Visualization

Streamlit dashboard displays:

  • live firmware logs
  • runtime diagnostics
  • error classifications
  • fault analytics

Running the Project

Step 1 — Start Renode

Run Renode and execute:

mach create

machine LoadPlatformDescription @platforms/boards/stm32f4_discovery-kit.repl

sysbus LoadELF "firmware/firmware.elf"

emulation CreateServerSocketTerminal 3456 "term"

connector Connect sysbus.usart2 term

start


Step 2 — Run Streamlit Dashboard

Open terminal and run:

python -m streamlit run dashboard/live_dashboard.py


Example Runtime Workflow

Firmware Runtime ↓ UART Diagnostics ↓ Renode Socket Stream ↓ Python Runtime Capture ↓ Live Dashboard Monitoring


Key Learning Outcomes

This project helped in understanding:

  • UART runtime debugging workflows
  • Virtual embedded system simulation
  • ARM Cortex-M firmware execution
  • TCP socket communication
  • Client-server architecture
  • Embedded diagnostics infrastructure
  • Runtime analytics systems
  • Real-time monitoring dashboards
  • Firmware fault classification
  • Streamlit-based visualization systems

Future Improvements

Planned future upgrades include:

  • FreeRTOS integration
  • Interrupt-driven UART handling
  • DMA-based communication
  • GDB debugging support
  • Multi-node embedded simulation
  • Advanced runtime telemetry
  • Physical STM32 deployment

Screenshots

Add screenshots of:

  • Renode UART runtime logs
  • Live Streamlit dashboard
  • Runtime fault analytics
  • Diagnostics visualization

Author

Ragul D

Mtech in Vlsi And Embedded System Engineering

About

Renode based live uart log dashboard showing errors and details

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages