<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sricharan Srikrishna</title>
    <description>The latest articles on DEV Community by Sricharan Srikrishna (@sricharan_srikrishna_04ef).</description>
    <link>https://dev.to/sricharan_srikrishna_04ef</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4087058%2Ffe6cb621-dcbd-43e8-ae36-81f8c865030e.jpg</url>
      <title>DEV Community: Sricharan Srikrishna</title>
      <link>https://dev.to/sricharan_srikrishna_04ef</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sricharan_srikrishna_04ef"/>
    <language>en</language>
    <item>
      <title>From datasheet working firmware</title>
      <dc:creator>Sricharan Srikrishna</dc:creator>
      <pubDate>Wed, 26 Aug 2026 10:18:23 +0000</pubDate>
      <link>https://dev.to/sricharan_srikrishna_04ef/from-datasheet-working-firmware-1ce3</link>
      <guid>https://dev.to/sricharan_srikrishna_04ef/from-datasheet-working-firmware-1ce3</guid>
      <description>&lt;p&gt;I’m building HardcoreAI because I kept seeing the same problem in embedded development:&lt;/p&gt;

&lt;p&gt;You have the board.&lt;br&gt;
You have a 300–1000 page datasheet.&lt;br&gt;
You know what you want the firmware to do.&lt;/p&gt;

&lt;p&gt;But actually translating those registers, peripherals, timing requirements and errata into working firmware can take days — and debugging the wrong assumption can cost weeks.&lt;/p&gt;

&lt;p&gt;So we built HardcoreAI — an agentic firmware intelligence platform that researches the hardware before generating firmware.&lt;/p&gt;

&lt;p&gt;The workflow:&lt;/p&gt;

&lt;p&gt;→ Upload/select your hardware&lt;br&gt;
→ Research Mode — AI analyzes the datasheet and hardware documentation&lt;br&gt;
→ Ask questions about registers, peripherals and configuration&lt;br&gt;
→ Generate firmware&lt;br&gt;
→ Build, test and iterate&lt;/p&gt;

&lt;p&gt;We’re opening it up for developers to try.&lt;/p&gt;

&lt;p&gt;If you work with STM32, ESP32, Arduino, PlatformIO or embedded systems, I’d genuinely love your feedback.&lt;/p&gt;

&lt;p&gt;Try it here: &lt;a href="https://www.hardcoreai.in/" rel="noopener noreferrer"&gt;https://www.hardcoreai.in/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the most annoying&lt;/p&gt;

</description>
      <category>ai</category>
      <category>iot</category>
      <category>programming</category>
      <category>automation</category>
    </item>
    <item>
      <title>I lost 4 days to a firmware bug that cost twelve rupees to fix. So I built HardcoreAI.</title>
      <dc:creator>Sricharan Srikrishna</dc:creator>
      <pubDate>Thu, 20 Aug 2026 17:47:11 +0000</pubDate>
      <link>https://dev.to/sricharan_srikrishna_04ef/i-lost-4-days-to-a-firmware-bug-that-cost-twelve-rupees-to-fix-so-i-built-hardcoreai-402o</link>
      <guid>https://dev.to/sricharan_srikrishna_04ef/i-lost-4-days-to-a-firmware-bug-that-cost-twelve-rupees-to-fix-so-i-built-hardcoreai-402o</guid>
      <description>&lt;p&gt;Four days debugging a hard fault on an STM32F4.&lt;/p&gt;

&lt;p&gt;Root cause: UART clock not enabled before peripheral init. Documented on page 247 of the reference manual. Fix took 30 seconds once I found it.&lt;/p&gt;

&lt;p&gt;That same week, the software engineer next to me shipped three features with Copilot. Same hours. His tools understood his code. Mine understood nothing about my chip.&lt;/p&gt;

&lt;p&gt;I tried every AI tool available. All of them hallucinated register addresses. In embedded systems, a wrong address does not produce a catchable exception — it produces a hard fault, a silent reset, or a bricked board.&lt;/p&gt;

&lt;p&gt;The problem is not AI capability. No AI tool has actually read your datasheet.&lt;/p&gt;

&lt;p&gt;So I built HardcoreAI&lt;/p&gt;

&lt;p&gt;The workflow is different from asking an AI to write embedded C:&lt;/p&gt;

&lt;p&gt;Research first. Generate second. Flash last.&lt;/p&gt;

&lt;p&gt;Select your board — STM32F1/F4/H7, ESP32, 1,500+ via PlatformIO&lt;br&gt;
Feed it your reference manual and errata before generating anything&lt;br&gt;
Get firmware where every line cites the exact page and register it came from&lt;br&gt;
Build, flash via OpenOCD, test&lt;br&gt;
On fault — reads CFSR, HFSR, BFAR, MMFAR, identifies the violation, corrects, reflashes automatically&lt;/p&gt;

&lt;p&gt;The fault decoder is fully deterministic — 500+ hand-written rules, zero LLM in that path. We caught a clock tree conflict on STM32H7 where the grounding layer returned correct output but the fault decoder flagged it as physically impossible on that silicon revision. Grounding alone would not have caught it.&lt;/p&gt;

&lt;p&gt;Try it free&lt;/p&gt;

&lt;p&gt;First complete project is free. No signup. No credit card. No waitlist.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.hardcoreai.in/" rel="noopener noreferrer"&gt;https://www.hardcoreai.in/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>iot</category>
      <category>esp32</category>
      <category>stm</category>
    </item>
  </channel>
</rss>
