This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.
What I Built
Embedded debugging often starts with output that’s hard to interpret: fault register dumps, linker errors, or compiler messages. Understanding it can mean knowing the right datasheet or spending hours searching forums. That slows down beginners and experienced developers alike, especially when they’re working with an unfamiliar microcontroller family.
Fault Line turns that first step into a paste-and-explain workflow. Paste an error, log, or fault dump, choose a board, and get an explanation with concrete next steps. It’s designed to make the lookup and reasoning process easier for embedded developers.
Demo
Fault Line runs locally at http://127.0.0.1:5000 after setup.
Code
The source code is on GitHub: github.com/SpectronX/fault-line
How I Built It
Fault Line is a small Python and Flask web app. It sends the selected board and pasted log to Gemma 3 (gemma3:4b) through Ollama, which runs the model locally. The browser displays the explanation returned by the app.
The model needs to be downloaded once with ollama pull gemma3:4b. After that, Ollama can run it locally without the app automatically fetching it from the internet.
Why Does Open Innovation Matter?
The project’s goal is to keep the debugging workflow local and focused on embedded systems. Running an open-weight model through Ollama means the user’s logs can stay on their device, and developers can inspect, adapt, or fork the model and app. That makes the tool’s behavior more open than sending logs to a closed cloud API.
Prize Categories
[Best Use of Gemma 4]
Top comments (2)
Keeping the raw fault dump visible beside the explanation would be especially useful here. The selected board is good context, but the MCU variant and toolchain can change the meaning of a register or linker message. I would make the answer separate what the dump directly establishes from hypotheses that still need a datasheet or a small hardware test.
Thanks. Would definitely look into that.