armhub.dev
Contributing

Make this better.

armhub is a public reference site built and maintained openly. Found a mistake, want to add a page, have a pattern that should be canonical here? Open an issue, send a PR.

Quick start

The site is a Next.js project. Content pages are MDX in content/<section>/. Interactive components live in components/mdx/. Styling is Tailwind.

git clone https://github.com/sitharaj88/armhub
cd armhub
npm install
npm run dev          # opens http://localhost:3000

Adding a page

Create a new MDX file under the appropriate section, e.g. content/peripherals/can-fd.mdx:

---
title: CAN-FD
description: Flexible-Data-Rate CAN.
order: 10
updated: 2026-05-20
tags: [peripherals, can]
---

Your content here.

It will be picked up automatically and routed at /docs/peripherals/can-fd. Add it to lib/nav.ts to show in the sidebar.

Editorial guidelines

  • Voice — confident, dry, technical. Aim for clarity, not enthusiasm.
  • Audience — working firmware engineers. Don't explain what a register is. Do explain why this register, this way.
  • Show, don't claim — every claim should have either a code sample or a register reference.
  • No marketing — never recommend a vendor product without naming alternatives.
  • Length — pages range 800–2500 words. Padding for length is not.

Components

  • <Callout type="..." /> — note / tip / warn / danger / spec
  • <RegisterMap /> — interactive bit-field viewer
  • <MemoryMap /> — address-space diagram
  • <CoreCompare /> — Cortex-M comparison
  • <SystemBlock /> — block diagram for system designs
  • <SpecSheet /> — at-a-glance spec table
  • <Card href title description /> — link card
  • <Terminal /> — terminal-styled code block

Licensing

Content is licensed CC BY 4.0; code under MIT. By contributing you agree to these licenses.