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.