--- title: Supported Hardware sidebar_label: Supported Hardware --- import HardwareList from "@site/src/components/hardware-list"; import Metadata from "@site/src/data/hardware-metadata.json"; import Heading from "@theme/Heading"; import { groupedMetadata } from "@site/src/components/hardware-utils"; export const toc = [ { value: "Onboard Controller Keyboards", id: "onboard", level: 2, }, { value: "Composite Keyboards", id: "composite", level: 2, }, ...Object.values(groupedMetadata(Metadata).interconnects) .filter((ic) => ic.interconnect !== undefined) .map(({ interconnect }) => ({ value: `${interconnect.name} Interconnect`, id: interconnect.id, level: 3, })), { value: "Other Hardware", id: "other-hardware", level: 2, }, { value: "Contributing", id: "contributing", level: 2, }, ]; With the solid technical foundation of Zephyrâ„¢ RTOS, ZMK can support a wide diversity of hardware targets. That being said, there are specific [boards](faq.md#what-is-a-board) / [shields](faq.md#what-is-a-shield) that have been implemented and tested by the ZMK contributors, listed below. {/* prettier-ignore */} Other Hardware In addition to the basic keyboard functionality, there is also support for additional keyboard hardware such as encoders, RGB underglow, backlight and displays. Please see pages under the "Features" header in the sidebar for details. {/* prettier-ignore */} Contributing If you'd like to add support for a new keyboard shield, head over to the [New Keyboard Shield](development/new-shield.mdx) documentation and note the [clean room design requirements](development/clean-room.md).