> Documentation index: https://nao-rs.lukaloehr.com/llms.txt, a list of every page in this documentation.

# Hardware reference

> The NAO6's devices that nao-rs drives, which bus each sits on, and where to read more.

A NAO6 has a computer in its head (an Intel Atom module) and a chest board, an
ARM9 microcontroller connected to the head by USB. Everything in the body
hangs off the chest board; the head's own devices sit on an I2C bus behind a
USB-I2C bridge.

| Device | Bus | nao-rs crate | Page |
| --- | --- | --- | --- |
| Chest board (USB `ffff:0006`) | USB | `usbfs`, `chestlink`, `chestboard` | [Chest board link](https://nao-rs.lukaloehr.com/hardware/chest-board.md) |
| 13 joint motor boards, 2 foot boards | Two RS-485 buses behind the chest board | `body`, `motorboard`, `sensors` | [Chest board link](https://nao-rs.lukaloehr.com/hardware/chest-board.md), [Body sensors](https://nao-rs.lukaloehr.com/hardware/sensors.md) |
| Inertial unit, battery, sonar, chest button | Behind the chest board | `body`, `sensors` | [Body sensors](https://nao-rs.lukaloehr.com/hardware/sensors.md) |
| Chest and foot LEDs | Behind the chest board | `body` | [LEDs](https://nao-rs.lukaloehr.com/hardware/leds.md) |
| Eye, ear and skull LEDs (6 LED drivers) | Head I2C | `head` | [Head devices](https://nao-rs.lukaloehr.com/hardware/head.md), [LEDs](https://nao-rs.lukaloehr.com/hardware/leds.md) |
| Head touch pads, power monitor, face temperature | Head I2C | `head` | [Head devices](https://nao-rs.lukaloehr.com/hardware/head.md) |
| CPU temperature, head fan | Board controller of the CPU module | `fan` | [Head fan](https://nao-rs.lukaloehr.com/hardware/fan.md) |
| Cameras, microphones, speakers, Wi-Fi | Linux drivers | not part of nao-rs |  |

nao-rs leaves the cameras, audio and network to the Linux kernel's own drivers,
and the firmware of the chest board and the motor boards as it is.

## Identity

The runtime reads the robot's identity at start-up, as LoLA reports it:

| Value | Source |
| --- | --- |
| Body id, for example `P0000073AxxSxxCxxxxx` | Chest board preferences |
| Body version | Chest board preferences |
| Head id, head version | `/media/internal/DeviceHeadInternalGeode.xml` on the head |

## Boards

| Bus | Boards (address) |
| --- | --- |
| Upper body | HeadBoard (11), LeftShoulderBoard (12), RightShoulderBoard (13), RightArmBoard (31), RightHandBoard (32), LeftArmBoard (41), LeftHandBoard (42) |
| Legs | LeftHipBoard (1), LeftThighBoard (2), LeftShinBoard (3), LeftFootBoard (4), RightHipBoard (21), RightThighBoard (22), RightShinBoard (23), RightFootBoard (24) |

The foot boards (4 and 24) carry the foot pressure sensors, the bumpers and
the foot LEDs; the other 13 drive the joints.

## Related topics

- [Chest board link](https://nao-rs.lukaloehr.com/hardware/chest-board.md)
- [Body sensors and units](https://nao-rs.lukaloehr.com/hardware/sensors.md)
- [Head devices](https://nao-rs.lukaloehr.com/hardware/head.md)
- [LEDs](https://nao-rs.lukaloehr.com/hardware/leds.md)
- [Head fan](https://nao-rs.lukaloehr.com/hardware/fan.md)
- Previous: [Boot time](https://nao-rs.lukaloehr.com/architecture/boot.md)
- Next: [Chest board link](https://nao-rs.lukaloehr.com/hardware/chest-board.md)
