← SHEET 02 · ASSEMBLIES HW-002

Folding Parallelogram Staircase

HWSIM
LIVE DRAWING — HOVER OR DRAG TO CRANK · BUILT FROM THE REAL PLANT PARAMETERS
PART NOHW-002
MATL / SYSTEMSTEEL 4-BAR LINKAGE
TOOLSFreeCAD · Python macro

This one started as a problem in my own bedroom. I wanted to split the room into levels — the original floor, a sunken office one level down, and a sleeping platform above — but a fixed staircase would have eaten the floor area that made the idea worth doing. The answer was a stair that exists only when you need it: a folding parallelogram linkage whose six treads stay perfectly level on the way down and fold flush into the floor when stowed. It went from a hand drawing to a parametric FreeCAD model to a real welded-steel mechanism, built together with my father, and it now carries me down to the office every day.

OVERVIEW & MOTIVATION

The room is being reorganized into three levels: the original floor (level 1), a −1 level below it that holds my working office, and a level 2 above for the bed and rest area (its connecting platform between levels 1 and 2 is still under construction). This stair is the link from the original floor down to the office. The requirement that drove the whole design: near-zero footprint when stowed — the treads tile shut into the 1720 × 760 mm floor opening and the hatch is walkable — but a full, comfortable staircase geometry when deployed. The design sequence was deliberate: first a manual drawing to get the linkage concept right, then the parametric FreeCAD macro (fold_stair_full.FCMacro) to lock the kinematics and dimensions, then construction to those dimensions.

MECHANISM & KINEMATICS

The stair is a parallelogram four-bar: fixed pivot A, ground pivot B offset by the 160 mm ground link, two parallel rails of equal length running from A and B, and a coupler (tread bracket) connecting corresponding points on both rails. Because the coupler length is fixed at the same 160 mm as the ground link, and both rails rotate together as parallel members, every coupler stays parallel to A→B through the whole swing — so each tread translates along a circular arc without rotating relative to the floor. That’s what keeps six treads level at any fold percentage, from vertical (closed) to the 46° deployed stair angle.

Rail length is derived from rise as the master dimension: RAIL_LEN = RISE / sin(DEPLOY_ANGLE) = 900 / sin(46°) ≈ 1251 mm. In the closed pose, rails rotate to vertical (90°) and treads nest into their flush position tiling the floor opening.

PARAMETERVALUEUNIT
RISE (floor-to-floor, master dimension)900mm
OPENING_LEN (hatch, along run)1720mm
OPENING_WID (hatch, across)760mm
GROUND_LINK (A→B)160mm
DEPLOY_ANGLE46deg
RAIL_LEN (solved)≈1251mm
N_TREADS6count
TREAD_PITCH_CLOSED (OPENING_LEN / N_TREADS)≈287mm
TREAD_DEPTH (pitch × 0.98, gap allowance)≈281mm
TREAD_WIDTH (OPENING_WID × 0.97)≈737mm
TREAD_THICK30mm
RAIL_W × RAIL_H (cross-section)40 × 40mm
FLOOR_THICK40mm

PARAMETRIC MODEL

Everything downstream is driven off the parameter block at the top of the macro. RISE is the master dimension: change it and RAIL_LEN re-solves through the deploy-angle relation, tread pitch re-derives from OPENING_LEN / N_TREADS, and every rail, coupler, tread, and latch placement recomputes. A single pose(fold01) function interpolates the whole assembly between deployed (0.0) and closed (1.0): rails rotate about A/B, tread brackets ride the linkage exactly, and treads themselves blend between their linkage-driven deployed midpoint and a flush, floor-level closed target so the hatch tiles cleanly when shut. A Qt dock widget (PySide6/PySide2/PySide shim for cross-version FreeCAD) exposes a 0–100 slider plus a “Play open/close” button that steps the pose over a 4-second animation, so the fold can be scrubbed or played live inside FreeCAD.

AS-BUILT

The mechanism has been fabricated in steel and assembled in the room, built together with my father to the modeled dimensions — the 900 mm rise, 160 mm links, 46° deploy angle, and six treads all carried straight from the FreeCAD parameter block to the physical build. Two manual latches hold the closed hatch level and walkable. Remaining work on the room itself: the level-2 sleeping platform and its connection between levels 1 and 2 are still under construction. Planned refinements to the stair: rebuild the CAD as a proper jointed FreeCAD assembly (real revolute joints at A, B, and the coupler pins rather than placement math), and size a self-locking 12 V linear actuator for motorized deployment against the ≈1251 mm rail geometry and 900 mm rise.

BUILD PHOTOS

Closed pose from above — six treads tiled flush into the floor opening between the black steel rails CLOSED — hatch shut, treads tiling the 1720 × 760 mm opening flush with the floor.

Deployed stair seen from the top landing, treads stepping down to the office level DEPLOYED, FROM ABOVE — treads stay level as the parallelogram swings them down.

Deployed stair from the lower office level, showing painted treads on the welded steel linkage DEPLOYED, FROM THE −1 OFFICE — welded steel rails, timber treads, 46° stair angle.

Detail of the black steel rails recessed flush into the wooden floor at the pivot end RAIL DETAIL — steel frame recessed into the floor line at the pivot end of the opening.

USE CASES & APPLICATIONS

Space-saving retractable stairs for lofts, tiny homes, and attic access, where a folding hatch stair needs to disappear flush into the floor when not in use. Accessible mezzanine access in tight footprints, and aircraft or RV integrated steps that stow behind a hatch. More generally, the parallelogram four-bar that keeps the treads level is the same principle behind level-luffing cranes, parallel drafting machines, and any mechanism that must keep a working platform level while its support swings through an arc.

FILES & REPRODUCTION

Source: fold_stair_full.FCMacro. To run it, open FreeCAD, open the Macro editor, paste the script, and execute — it creates a new document, builds the floor slab with its cut hatch, both rail pairs, tread brackets, six treads, and two latches, then opens the “Fold stair control” dock panel with the slider and Play button. The site’s 3D viewport embeds a GLB export of the deployed pose for interactive viewing.

← BACK TO ASSEMBLIES

NAME ODILBEK MARIMOV
DWG NO. PF-2026
SHEET 01 / 07
DISCIPLINE ROBOTICS / MECHATRONICS
SCALE 1:1
REV A
THIRD-ANGLE PROJECTION
DATE 2026-07-11
UNITS mm