# Motorized RAMSELE Lamp — Rev I

Quinn Dyer's prototype for motorizing an IKEA RAMSELE transforming pendant lamp. The intended movement is slow and gentle, like breathing. This source snapshot contains the latest local Rev I motor/control enclosure design and wiring plan from September 12, 2026.

**Current state:** a design prototype. The pickup cartridge fits in its seated position, but its insertion and removal route is unresolved. Real hardware fit, full shade travel, printed strength, electrical assembly and the mechanical HOME switch mount/actuator remain unvalidated or incomplete. No firmware or working-motion demonstration is included. The wiring plan is documentation for the proposed design, not a validated build instruction.

## Contents

- `Assets/RAMSELE_Rev_I_Exterior_Views.png`: current exterior CAD render, recommended page hero. It shows the motor/control enclosure, not a finished whole lamp.
- `Assets`: current mount section, interior, print orientation, controller pin map and power architecture.
- `Docs/RAMSELE_Control_Wiring_Rev_I.pdf`: the original nine-page Rev I wiring plan.
- `Docs/RAMSELE_Connections_and_Cut_List_Rev_I.md`: selected parts, connector plan, source links and estimated wire cuts.
- `Docs/RAMSELE_Wire_Cuts_Rev_I.csv` and `Docs/RAMSELE_Wiring_Data_Rev_I.json`: editable supporting data.
- `CAD`: current cap, unchanged carrier and pickup cartridge as editable STEP geometry.
- `Source/CAD_Rev_I`: cap, cartridge and removable cap-support builders plus the two required cap input STEP files.
- `Source/Wiring_Rev_I`: editable ReportLab document generator.

The smooth cap is retained by the existing IKEA shade ring. The enclosure has two exterior shells and one removable internal pickup cartridge. The nominal pickup float is 9 mm. OEM ring and pickup dimensions are provisional. The complete assembly with imported manufacturer/component reference solids, third-party thread STL, vendor drawings, private CAD links and earlier revisions are excluded.

## Run the editable code

Use Python 3.12 or newer and an isolated environment. Dependency versions in `requirements.txt` record the existing design environment; the public copy includes no virtual environment or proprietary binary dependency.

```sh
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -r requirements.txt
python Source/CAD_Rev_I/rebuild_mount.py
python Source/CAD_Rev_I/rebuild_cartridge.py
python Source/CAD_Rev_I/build_cap_supports.py
python Source/Wiring_Rev_I/build_wiring_deliverables_i.py
```

CAD scripts write outputs next to themselves. The wiring generator writes to `Generated/` inside this public copy by default; `RAMSELE_WIRING_OUT` can select another output directory. The cap builder preserves the existing exterior in `Inputs/Cap_Baseline.step`, then builds its smooth neck and cartridge receiver. The cartridge builder is parametric. The carrier is supplied as a STEP snapshot; a full native CAD feature history is not included.

Checks in the scripts cover CAD topology, positive material, STEP round trips and some mesh/interference properties. They do not establish physical assembly, motion, thermal, electrical or material performance. Resolve the documented cartridge insertion route before treating this as a fabrication release. The selected XIAO ESP32-C6 and standard BTT TMC2240 SPI control arrangement is a plan; the motor rating remains unknown.

See `PROJECT-PAGE.md` for short public copy and `LICENSE-NOTICE.md` for reuse status. [IKEA RAMSELE reference](https://www.ikea.com/kw/en/p/ramsele-pendant-lamp-geometric-white-50407097/).

## Public-copy validation

All four Python sources parsed successfully. The copied cap, cartridge and cap-support builders passed their embedded checks in temporary scratch storage. The original wiring PDF was checked in rendered form and for private metadata. These checks do not establish physical assembly or electrical performance. See `VALIDATION.json`.
