> ## Documentation Index
> Fetch the complete documentation index at: https://docs.researchanddesire.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hardware Overview

> Technical specifications and hardware documentation for the RADR wireless remote

This section provides technical specifications and hardware reference material for building, modifying, or understanding the RADR wireless remote.

## Device Overview

| Specification    | Value                                |
| ---------------- | ------------------------------------ |
| MCU              | ESP32-S3 with PSRAM                  |
| Firmware Version | 1.0.24                               |
| Display          | 320 x 240 pixels, full-color TFT LCD |
| Connectivity     | Bluetooth Low Energy (BLE)           |
| BLE Device Name  | OSSM-REMOTE                          |
| Transmit Power   | 9 dBm                                |
| Charging         | USB-C                                |
| Battery Gauge    | MAX17048 (fuel gauge IC)             |

## Physical Specifications

| Parameter  | Value                         |
| ---------- | ----------------------------- |
| Dimensions | Approximately 85 x 55 x 30 mm |
| Weight     | \~80g (with battery)          |
| Battery    | Lithium Polymer (LiPo)        |
| Runtime    | 4+ hours typical use          |

## Technical Reference

<CardGroup cols={2}>
  <Card title="Feedback and Indicators" icon="lightbulb" href="/radr/Hardware/specifications/feedback-and-indicators">
    LED colors, buzzer patterns, and vibration feedback details.
  </Card>

  <Card title="Battery and Power" icon="battery-full" href="/radr/Hardware/specifications/battery-and-power">
    Battery monitoring, charging, and power management.
  </Card>
</CardGroup>

## Hardware Components

### Main PCB

The RADR main board features:

* **ESP32-S3** microcontroller with WiFi and Bluetooth
* **320x240 TFT LCD** display with backlight control
* **3x WS2812B RGB LEDs** for status indication
* **Piezoelectric buzzer** for audio feedback
* **Vibration motor** for haptic feedback
* **MAX17048** fuel gauge for accurate battery monitoring
* **USB-C** for charging and initial programming
* **QWIIC connector** for expansion

### Controls

| Control               | Type                     | GPIO Pins   |
| --------------------- | ------------------------ | ----------- |
| Left Encoder          | Rotary encoder with push | GPIO 10, 11 |
| Right Encoder         | Rotary encoder with push | GPIO 42, 41 |
| Left Shoulder Button  | Momentary                | GPIO 48     |
| Right Shoulder Button | Momentary                | GPIO 1      |
| Under-Screen Left     | Momentary                | GPIO 38     |
| Under-Screen Center   | Momentary                | GPIO 39     |
| Under-Screen Right    | Momentary                | GPIO 40     |

<Note>
  Pin assignments shown are for RADR v2.x boards (with PSRAM). Earlier v1.x boards use different GPIO pins for the left encoder (GPIO 35, 36) and LEDs (GPIO 37). The firmware automatically detects and uses the correct pins for your board.
</Note>

### Display

| Parameter         | Value            |
| ----------------- | ---------------- |
| Resolution        | 320 x 240 pixels |
| Type              | TFT LCD          |
| Status Bar Height | 30 pixels        |
| Color Depth       | 16-bit (RGB565)  |

### LEDs

| Parameter   | Value                               |
| ----------- | ----------------------------------- |
| LED Type    | WS2812B RGB                         |
| LED Count   | 3                                   |
| Control Pin | GPIO 12                             |
| Positions   | Left encoder, Middle, Right encoder |

### Audio/Haptic

| Component       | Pin     |
| --------------- | ------- |
| Buzzer          | GPIO 2  |
| Vibration Motor | GPIO 47 |

## Source Files

All hardware design files are available on GitHub:

<CardGroup cols={2}>
  <Card title="PCB Design Files" icon="microchip" href="https://github.com/researchanddesire/radr-wireless-remote/tree/main/Hardware/Electronics">
    Altium Designer project files, schematics, and Gerber files.
  </Card>

  <Card title="3D Print Files" icon="cube" href="https://github.com/researchanddesire/radr-wireless-remote/tree/main/Hardware/Print%20Files">
    STEP and STL files for the enclosure and buttons.
  </Card>

  <Card title="Bill of Materials" icon="list" href="https://github.com/researchanddesire/radr-wireless-remote/tree/main/Hardware">
    Complete parts list with supplier links.
  </Card>

  <Card title="Assembly Guide" icon="screwdriver-wrench" href="https://github.com/researchanddesire/radr-wireless-remote">
    Step-by-step build instructions (see GitHub).
  </Card>
</CardGroup>

## Bluetooth Specifications

### Scan Parameters

| Parameter     | Value              |
| ------------- | ------------------ |
| Scan Interval | 100ms              |
| Scan Window   | 100ms              |
| Scan Type     | Active             |
| Scan Duration | 5000ms (5 seconds) |

### Connection Parameters

| Parameter           | Value        |
| ------------------- | ------------ |
| Min Interval        | 12 (15ms)    |
| Max Interval        | 12 (15ms)    |
| Latency             | 0            |
| Supervision Timeout | 150 (1500ms) |
| Connect Timeout     | 5000ms       |

## Supported Device UUIDs

### Research And Desire

| Device | Service UUID                         |
| ------ | ------------------------------------ |
| OSSM   | 522B443A-4F53-534D-0001-420BADBABE69 |
| LKBX   | Pending                              |
| DTT    | Pending                              |

### Lovense

| Device        | Service UUID                         |
| ------------- | ------------------------------------ |
| Domi 2        | 57300001-0023-4BD4-BBD5-A6920E4C5653 |
| Other Lovense | Various (via Buttplug.io registry)   |

## Control Ranges

### OSSM Parameters

| Parameter | Min | Max  | Default |
| --------- | --- | ---- | ------- |
| Speed     | 0%  | 100% | 0%      |
| Depth     | 0%  | 100% | 10%     |
| Sensation | 0%  | 100% | 50%     |
| Stroke    | 0%  | 100% | 50%     |

### Lovense Parameters

| Parameter | Min | Max | Default |
| --------- | --- | --- | ------- |
| Vibrate   | 0   | 16  | 0       |

## Building Your Own RADR

If you want to build your own RADR, you'll need:

### Electronics

* RADR PCB (order from JLCPCB, PCBWay, or similar)
* Components from the Bill of Materials
* USB-C cable for programming
* LiPo battery (check BoM for specifications)

### Printed Parts

* Top housing
* Bottom housing
* Buttons (3x)
* Encoder knobs (2x)
* Power switch cap

### Tools Required

* Soldering iron with fine tip
* Hot air rework station (recommended)
* 3D printer (or order prints)
* Small screwdrivers

<Card title="Print Guidance" icon="print" href="/radr/Hardware/printed-parts/introduction">
  Recommended print settings and multi-color options.
</Card>
