{"$schema":"nativecad-dfm-pack/1","id":"aerospace","title":"Aerospace -- drone frames, motor mounts, payload rails and airframe hardware","sector":"aerospace","version":"2026-09-03","summary":"Multirotor frame and motor-mount dimensions, flight-controller and battery-bay standards, payload rails, fixed-wing basics, aerospace fastener locking, weight/CG budgeting and the environmental tests a small UAS airframe is held to.","aliases":["drone","quadcopter","uav","multirotor","aircraft","airframe","motor mount","prop","propeller","payload rail","fpv","wing","aerospace bracket"],"crossSector":false,"size":"standard","sources":[{"id":"rtca-do160g","title":"RTCA DO-160G Environmental Conditions and Test Procedures for Airborne Equipment","url":"https://www.rtca.org/content/standards-guidance-materials","accessed":"2026-09-03"},{"id":"faa-14cfr107","title":"FAA 14 CFR Part 107 -- Small Unmanned Aircraft Systems","url":"https://www.ecfr.gov/current/title-14/chapter-I/subchapter-F/part-107","accessed":"2026-09-03"},{"id":"easa-2019-947","title":"EASA Implementing Regulation (EU) 2019/947 -- UAS Open Category rules and weight classes","url":"https://www.easa.europa.eu/en/document-library/regulations/commission-implementing-regulation-eu-2019947","accessed":"2026-09-03"},{"id":"ms21042","title":"MS21042 / SAE AS21042 Nut, Self-Locking, 250 Deg F, Reduced Hex","url":"https://www.sae.org/standards/content/as21042/","accessed":"2026-09-03"},{"id":"ms20426","title":"MS20426 Rivet, Solid, 100 Deg Countersunk Head","url":"https://standards.nasa.gov/standard/other/ms20426","accessed":"2026-09-03"},{"id":"nasm33540","title":"NASM33540 General Practices for Safety Wiring and Cotter Pinning","url":"https://standards.nasa.gov/standard/asd-stan/nasm33540","accessed":"2026-09-03"},{"id":"tmotor-mn-series","title":"T-Motor MN-series brushless motor mechanical drawings (bolt pattern, shaft, thread)","url":"https://store.tmotor.com/","accessed":"2026-09-03"},{"id":"iflight-xing-motor","title":"iFlight XING-series brushless motor mechanical drawings","url":"https://shop.iflight.com/","accessed":"2026-09-03"},{"id":"oscar-liang-frame-guide","title":"Oscar Liang FPV quadcopter frame size and build guides","url":"https://oscarliang.com/category/frame/","accessed":"2026-09-03"},{"id":"sandia-isogrid-handbook","title":"Sandia National Laboratories / NASA isogrid design handbook (Meyer et al., triangular rib-pattern structures)","url":"https://www.osti.gov/biblio/5117252","accessed":"2026-09-03"},{"id":"matweb-materials","title":"MatWeb Material Property Data (aerospace aluminium, composites, engineering plastics)","url":"https://www.matweb.com/","accessed":"2026-09-03"},{"id":"mil-std-1913-picatinny","title":"MIL-STD-1913 Dimensioning of Accessory Mounting Rail for Small Arms Weapons (Picatinny rail)","url":"https://www.everyspec.com/MIL-STD/MIL-STD-1900-1999/MIL-STD-1913_10592/","accessed":"2026-09-03"},{"id":"asme-b1-1-unc","title":"ASME B1.1 Unified Inch Screw Threads (UN and UNR Thread Form)","url":"https://www.asme.org/codes-standards/find-codes-standards/b1-1-unified-inch-screw-threads-un-unr-thread-form","accessed":"2026-09-03"},{"id":"loctite-243-263-tds","title":"Loctite 243 and 263 Threadlocker Technical Data Sheets","url":"https://www.henkel-adhesives.com/us/en/product/threadlockers.html","accessed":"2026-09-03"},{"id":"ardupilot-pixhawk-standard","title":"ArduPilot/PX4 standard flight-controller mounting patterns (30.5mm and 20x20mm)","url":"https://ardupilot.org/copter/docs/common-autopilots.html","accessed":"2026-09-03"},{"id":"towerpro-sg90","title":"TowerPro SG90 9g Micro Servo datasheet (case dimensions)","url":"https://www.towerpro.com.tw/product/sg90-7/","accessed":"2026-09-03"},{"id":"hoerner-fluid-dynamic-drag","title":"S. F. Hoerner, Fluid-Dynamic Drag (1965), ch. 5: drag of surface imperfections, steps, gaps and protuberances","accessed":"2026-10-19"},{"id":"ms24694","title":"MS24694 Screw, machine, flat countersunk head, 100 degree, structural","url":"https://quicksearch.dla.mil/","accessed":"2026-10-19"},{"id":"pilot-rear-wing-line-exit","title":"Motorsport rear-wing pilot (customer project, unnamed): pneumatic line exit moved from the pillar leading edge to the chassis mating face (CADSF-102112)","accessed":"2026-10-19"}],"entries":[{"id":"frame-plate-thickness","kind":"dimension","tier":1,"title":"CF plate thickness for drone frame arms and center plates","summary":"Drone frame arms and center plates are cut from carbon-fiber/epoxy plate at 2, 3 or 4 mm -- 2mm for small whoops and non-structural covers, 3mm for 5-7in racing arms, 4mm for 10in+ or load-bearing center plates.","applies":["frame","arm","center plate","quadcopter"],"value":{"options":[2,3,4],"unit":"mm"},"basis":"Common FPV frame-manufacturer plate-thickness convention scaled to arm/plate span and prop torque","sources":["oscar-liang-frame-guide"],"tags":["frame","plate","carbon-fiber","thickness"]},{"id":"frame-tube-diameter","kind":"dimension","tier":1,"title":"CF tube diameter and wall for round drone arms","summary":"Round carbon-fiber arm tubes run 16, 20, 25 or 30mm OD at a 1mm wall -- larger diameter for bigger motors and props, the 1mm wall standard across sizes because that is what pultruded CF tube is stocked at.","applies":["arm","tube frame","quadcopter"],"value":{"table":[{"odMm":16,"wallMm":1},{"odMm":20,"wallMm":1},{"odMm":25,"wallMm":1},{"odMm":30,"wallMm":1}],"unit":"mm"},"basis":"Standard pultruded CF tube stock sizes used by FPV frame manufacturers","sources":["oscar-liang-frame-guide"],"tags":["frame","tube","carbon-fiber","arm"]},{"id":"arm-length-vs-prop-size","kind":"dimension","tier":1,"title":"Motor-to-motor diagonal by propeller size","summary":"Frame diagonal (motor shaft to motor shaft) scales with prop size: about 210mm for 5in props, 300mm for 7in, 450mm for 10in -- undersize it and adjacent props overlap or strike the frame.","applies":["prop","frame","arm length","quadcopter"],"value":{"table":[{"propIn":5,"diagonalMm":210},{"propIn":7,"diagonalMm":300},{"propIn":10,"diagonalMm":450}],"unit":"mm"},"basis":"Common FPV frame-sizing convention relating motor-to-motor diagonal to propeller diameter","sources":["oscar-liang-frame-guide"],"tags":["frame","arm-length","prop-size"]},{"id":"prop-clearance-rule","kind":"rule","tier":1,"title":"Propeller tip clearance: prop-to-prop and prop-to-frame","summary":"Keep tip-to-tip clearance between adjacent propellers, and between any prop tip and the frame or canopy, at least 10-15% of the propeller diameter -- e.g. >=13-19mm clear on a 5in (127mm) prop -- or vibration and yaw authority both suffer.","applies":["prop","frame","arm","quadcopter"],"value":{"min":10,"max":15,"unit":"%"},"basis":"Common FPV/multirotor prop-clearance design rule expressed as a percentage of prop diameter","sources":["oscar-liang-frame-guide"],"tags":["prop","clearance","rule"]},{"id":"motor-bolt-circle-patterns","kind":"dimension","tier":1,"title":"Motor bolt-circle (square-pattern) sizes by stator frame","summary":"Brushless motor 4-hole mount squares scale with stator size: 22xx square12mm M2 or square16mm M3, 28xx square19mm M3, 4108/5008 square25mm M3/M4, 6215+ square30mm M4 -- read the actual motor's back plate, the 4-digit code only bounds the stator, not the hole spacing.","applies":["motor mount","motor","bldc","quadcopter"],"value":{"table":[{"frame":"22xx","squareMm":12,"bolt":"M2"},{"frame":"22xx","squareMm":16,"bolt":"M3"},{"frame":"28xx","squareMm":19,"bolt":"M3"},{"frame":"4108/5008","squareMm":25,"bolt":"M3/M4"},{"frame":"6215+","squareMm":30,"bolt":"M4"}],"unit":"mm"},"basis":"Common outrunner BLDC motor back-plate bolt-square conventions across drone motor vendors","sources":["tmotor-mn-series","iflight-xing-motor"],"tags":["motor mount","bolt-circle","bldc"]},{"id":"motor-shaft-prop-adapter","kind":"dimension","tier":1,"title":"Motor shaft and prop-adapter thread","summary":"Multirotor motor shafts are dia5mm with an M5 threaded tip for a prop nut or collet-style prop adapter -- the near-universal size across 22xx through 4108-class motors.","applies":["motor","prop adapter","prop nut","quadcopter"],"value":{"table":[{"field":"shaftDia","value":5},{"field":"threadSize","value":"M5"}],"unit":"mm"},"basis":"T-Motor/iFlight mechanical drawings for 22xx-4108 class multirotor motors","sources":["tmotor-mn-series","iflight-xing-motor"],"tags":["motor","shaft","prop-adapter"]},{"id":"prop-hub-sizes","kind":"dimension","tier":2,"title":"Propeller hub bore and thickness by prop class","summary":"5-7in multirotor prop hubs bore to dia5mm for a standard motor shaft/collet with a hub 6-8mm thick; 10in+ heavy-lift props step up to a dia6-8mm bore and 8-10mm hub thickness.","applies":["prop","prop hub","quadcopter"],"value":{"table":[{"propClass":"5-7in","boreMm":5,"hubMm":7},{"propClass":"10in+","boreMm":7,"hubMm":9}],"unit":"mm"},"basis":"Common multirotor propeller hub dimension convention across popular 5/7/10in FPV and heavy-lift props","sources":["oscar-liang-frame-guide"],"tags":["prop","hub","bore"]},{"id":"standoff-sizes","kind":"fastener","tier":1,"title":"M3 standoff lengths for a stacked FC/ESC deck","summary":"Nylon or aluminium M3 standoffs at 20, 25, 30 or 35mm space a stacked flight-controller/ESC/VTX deck off the frame -- pick the length by stack height plus a few mm of clearance for wiring underneath.","applies":["standoff","flight controller","esc stack","quadcopter"],"value":{"options":[20,25,30,35],"unit":"mm"},"basis":"Common FPV stack-mounting standoff length series sold across frame kits","sources":["oscar-liang-frame-guide"],"tags":["standoff","m3","stack"]},{"id":"fc-mount-pattern-30-5","kind":"dimension","tier":1,"title":"Flight controller 30.5x30.5mm mounting pattern","summary":"The dominant FPV/mini-quad flight-controller mount is four M3 holes on a 30.5x30.5mm square -- match this before any other FC footprint, it is the de facto standard across brands.","applies":["flight controller","fc","quadcopter"],"value":{"table":[{"field":"pattern","value":"30.5x30.5"},{"field":"boltSize","value":"M3"}],"unit":"mm"},"basis":"Industry-standard FPV flight-controller mounting square used across ArduPilot/PX4-compatible boards","sources":["ardupilot-pixhawk-standard"],"tags":["flight controller","mount","30.5mm"]},{"id":"fc-mount-pattern-20","kind":"dimension","tier":2,"title":"Flight controller 20x20mm mounting pattern","summary":"Smaller/whoop-class flight controllers use four M2 holes on a 20x20mm square -- the compact-stack standard for 2-3in builds where a 30.5mm FC will not fit.","applies":["flight controller","fc","whoop","quadcopter"],"value":{"table":[{"field":"pattern","value":"20x20"},{"field":"boltSize","value":"M2"}],"unit":"mm"},"basis":"Industry-standard compact FPV flight-controller mounting square used on 20x20mm-class boards","sources":["ardupilot-pixhawk-standard"],"tags":["flight controller","mount","20mm","whoop"]},{"id":"esc-mounting","kind":"feature","tier":2,"title":"ESC mounting: 4-in-1 stack vs individual arm mount","summary":"A 4-in-1 ESC mounts on the same 30.5mm (or 20x20mm) stack pattern as the flight controller; individual ESCs bolt or zip-tie to the arm near the motor, kept clear of the prop downwash cooling path but away from the arm's flex zone.","applies":["esc","motor mount","stack","quadcopter"],"basis":"Common FPV ESC-mounting convention (stacked 4-in-1 vs arm-mounted singles)","sources":["oscar-liang-frame-guide"],"tags":["esc","mounting","stack"]},{"id":"battery-strap-mount","kind":"feature","tier":2,"title":"Battery strap mounting slots on the frame plate","summary":"Cut two parallel slots, typically 25-28mm apart and 3-4mm wide, through the top or bottom plate for a 20-25mm hook-and-loop battery strap, positioned so the strapped battery centers on the frame's CG target.","applies":["battery","frame","top plate","quadcopter"],"value":{"min":25,"max":28,"unit":"mm"},"basis":"Common FPV frame battery-strap slot convention sized to 20-25mm nylon straps","sources":["oscar-liang-frame-guide"],"tags":["battery","strap","slot"]},{"id":"battery-bay-sizes","kind":"dimension","tier":1,"title":"LiPo battery bay envelope by common pack size","summary":"Size the battery bay to the pack: 4S 1500mAh about 35x34x75mm, 6S 1300mAh about 36x34x70mm, 3S 2200mAh about 105x35x25mm, 6S 5000mAh about 155x48x40mm (W x H x L) -- add 1-2mm clearance per side for the strap and heat-shrink wrap.","applies":["battery","lipo","battery bay","quadcopter"],"value":{"table":[{"pack":"4S 1500mAh","wMm":35,"hMm":34,"lMm":75},{"pack":"6S 1300mAh","wMm":36,"hMm":34,"lMm":70},{"pack":"3S 2200mAh","wMm":105,"hMm":35,"lMm":25},{"pack":"6S 5000mAh","wMm":155,"hMm":48,"lMm":40}],"unit":"mm"},"basis":"Common LiPo pack envelope dimensions across major hobby battery vendors (Tattu/CNHL-class packs)","sources":["oscar-liang-frame-guide"],"tags":["battery","lipo","bay","dimension"]},{"id":"payload-rail-picatinny","kind":"dimension","tier":2,"title":"Picatinny-style payload rail cross-section (generalized)","summary":"A generalized Picatinny/MIL-STD-1913 rail section is 21.2mm wide with 5.23mm-deep slots at a 10.16mm pitch -- borrowed by drone payload mounts as a generic accessory rail even off any firearms application.","applies":["payload rail","accessory rail","quadcopter"],"value":{"table":[{"field":"width","value":21.2},{"field":"slotDepth","value":5.23},{"field":"slotPitch","value":10.16}],"unit":"mm"},"basis":"MIL-STD-1913 Picatinny rail dimensional standard, referenced generically for drone accessory rails","sources":["mil-std-1913-picatinny"],"tags":["payload rail","picatinny","accessory"]},{"id":"camera-rail-rod-15mm","kind":"dimension","tier":2,"title":"15mm rod camera/gimbal rail system","summary":"FPV and cinelifter camera rigs commonly ride on 15mm-diameter aluminium rod rails (the DSLR-rig standard), clamped by rod blocks spaced to the camera baseplate width, typically 60-100mm apart.","applies":["camera rail","gimbal","payload","quadcopter"],"value":{"value":15,"unit":"mm"},"basis":"Common 15mm rod rail system adopted from cinema camera rigs for drone payload mounting","sources":["oscar-liang-frame-guide"],"tags":["camera rail","rod","gimbal"]},{"id":"camera-thread-1-4-20","kind":"fastener","tier":1,"title":"1/4-20 UNC camera mounting thread","summary":"Action/FPV cameras and gimbal quick-release plates use a 1/4-20 UNC thread (0.25in major dia, 20 threads per inch) -- the universal tripod/camera mount standard; an M6 tapped hole is only a rough geometric substitute, do not call it equivalent on a drawing.","applies":["camera mount","gimbal","tripod thread","payload rail"],"value":{"value":"1/4-20 UNC","unit":"in"},"basis":"ASME B1.1 Unified inch screw thread series; 1/4-20 is the de facto universal camera-mount thread","sources":["asme-b1-1-unc"],"tags":["camera","1/4-20","unc","thread"]},{"id":"gimbal-mount-pattern","kind":"dimension","tier":2,"title":"3-axis gimbal vibration-isolated mount footprint","summary":"Small FPV/action-cam gimbals mount on a 4-point vibration-isolator plate, isolator centers typically on a 25-35mm square, damper balls sized to the gimbal's weight class (30-60 Shore silicone).","applies":["gimbal","payload","vibration isolation","quadcopter"],"value":{"min":25,"max":35,"unit":"mm"},"basis":"Common small-gimbal anti-vibration mount plate convention","sources":["oscar-liang-frame-guide"],"tags":["gimbal","mount","vibration"]},{"id":"landing-gear-height","kind":"dimension","tier":2,"title":"Landing-gear standoff height for prop ground clearance","summary":"Fixed landing gear should stand the frame at least 10-15% of the propeller diameter off the ground plus a payload margin -- e.g. >=15-20mm for 5in props, >=30-45mm for 10in -- so a prop strike does not happen on an uneven surface at idle tilt.","applies":["landing gear","legs","quadcopter"],"value":{"min":10,"max":15,"unit":"%"},"basis":"Common multirotor ground-clearance design rule scaled to propeller diameter","sources":["oscar-liang-frame-guide"],"tags":["landing gear","clearance","legs"]},{"id":"fastener-locking-nyloc","kind":"fastener","tier":2,"title":"MS21042 self-locking nyloc nut for vibration-loaded joints","summary":"Use an MS21042 self-locking nyloc nut, not a plain hex nut, on any bolted joint subject to sustained vibration (motor mount, arm-to-center-plate) -- the nylon collar's prevailing torque resists loosening a plain nut cannot.","applies":["fastener","motor mount","arm joint","airframe"],"value":{"value":"MS21042","unit":"text"},"basis":"SAE AS21042 / MS21042 self-locking nut specification, standard aerospace vibration-locking hardware","sources":["ms21042"],"tags":["fastener","nyloc","ms21042","locking"]},{"id":"fastener-rivet-ms20426","kind":"fastener","tier":2,"title":"MS20426 countersunk solid rivet for skin/panel joints","summary":"MS20426 countersunk-head (100deg CSK) solid rivets join thin aluminium skins and panels flush -- size the rivet diameter to roughly 3x the thinner sheet's thickness, per standard aerospace riveting practice.","applies":["rivet","panel","skin","airframe"],"value":{"value":3,"unit":"ratio"},"basis":"MS20426 solid rivet specification and standard aerospace rivet-diameter-to-sheet-thickness sizing practice","sources":["ms20426"],"tags":["rivet","ms20426","panel","skin"]},{"id":"safety-wire-spec","kind":"fastener","tier":2,"title":"Safety wire for critical fastener locking","summary":"Safety-wire critical bolts (motor screws, prop nuts) with 0.032in (0.8mm) stainless wire threaded through drilled bolt heads per NASM33540 -- twisted so a loosening rotation tightens, never loosens, the wire.","applies":["safety wire","fastener","prop nut","motor mount"],"value":{"value":0.032,"unit":"in"},"basis":"NASM33540 General Practices for Safety Wiring and Cotter Pinning of aerospace hardware","sources":["nasm33540"],"tags":["safety wire","nasm33540","fastener"]},{"id":"loctite-thread-locking","kind":"process","tier":2,"title":"Threadlocker grade by joint: Loctite 243 vs 263","summary":"Use Loctite 243 (medium-strength, hand-removable) on motor screws and standoffs that may need field service; use Loctite 263 (high-strength) on fasteners that should never back out in service, e.g. permanently torqued structural joints.","applies":["threadlocker","fastener","motor mount","airframe"],"value":{"options":["Loctite 243","Loctite 263"]},"basis":"Loctite 243/263 technical data sheets, the standard medium/high-strength anaerobic threadlocker pairing","sources":["loctite-243-263-tds"],"tags":["threadlocker","loctite","243","263"]},{"id":"torque-stripe","kind":"feature","tier":2,"title":"Torque-stripe witness marks on critical fasteners","summary":"Paint a torque-stripe (paint-pen line across bolt head and mating surface) on every motor screw and prop nut after final torque -- a break or rotation of more than about 5deg in the stripe on preflight inspection flags a fastener that has backed off.","applies":["torque stripe","inspection","motor mount","prop nut"],"value":{"value":5,"unit":"deg"},"basis":"Standard aerospace/UAV maintenance practice for visually verifying fastener torque retention","sources":["nasm33540"],"tags":["torque stripe","inspection","maintenance"]},{"id":"battery-weight-budget","kind":"rule","tier":2,"title":"Battery mass fraction of all-up weight (AUW)","summary":"Budget the battery at 30-40% of all-up weight (AUW) for a balanced hover-time/agility tradeoff -- lower favors agility and thrust-to-weight margin, higher favors flight time at the cost of punch.","applies":["battery","weight budget","auw","quadcopter"],"value":{"min":30,"max":40,"unit":"%"},"basis":"Common multirotor weight-budgeting convention balancing flight time against thrust-to-weight margin","sources":["oscar-liang-frame-guide"],"tags":["battery","weight-budget","auw"]},{"id":"thrust-to-weight-ratio","kind":"rule","tier":1,"title":"Minimum thrust-to-weight ratio for stable hover","summary":"Target thrust-to-weight >=2:1 at full throttle for stable, controllable hover with headroom for wind and maneuvering -- a 1:1 airframe can only just hover with zero control authority left over.","applies":["motor","prop","weight budget","quadcopter"],"value":{"min":2,"unit":"ratio"},"basis":"Common multirotor propulsion-sizing rule of thumb for hover stability and control margin","sources":["oscar-liang-frame-guide"],"tags":["thrust","weight","hover","rule"]},{"id":"cg-tolerance","kind":"tolerance","tier":1,"title":"CG offset from the prop-plane centroid","summary":"Keep the airframe's center of gravity within +-5mm of the geometric centroid of the motor/prop plane -- beyond that the flight controller trims out a persistent tilt at the cost of thrust margin and battery life.","applies":["cg","weight budget","frame","quadcopter"],"value":{"max":5,"unit":"mm"},"basis":"Common multirotor CG-balance tolerance relative to the prop-plane centroid","sources":["oscar-liang-frame-guide"],"tags":["cg","balance","tolerance"]},{"id":"lightening-hole-rule","kind":"rule","tier":1,"title":"Lightening-hole and web sizing on a pocketed structural plate","summary":"On a pocketed aluminium or CF plate, leave webs at least 1.5x plate thickness wide, round pocket corners to >=3mm radius, and keep any lightening-hole diameter <=60% of the flange width -- undersize these and the pocket becomes the fatigue-crack origin.","applies":["bracket","lightening hole","pocket","airframe"],"value":{"table":[{"param":"minWebMultiplier","value":1.5},{"param":"cornerRadiusMm","value":3},{"param":"maxHoleFractionPct","value":60}]},"basis":"Sandia/NASA isogrid and aerospace lightweighting design-handbook pocket/web sizing conventions","sources":["sandia-isogrid-handbook"],"tags":["lightening hole","pocket","web","bracket"]},{"id":"isogrid-pocketing","kind":"feature","tier":2,"title":"Isogrid pocketing pattern for a stiffness-to-weight structural plate","summary":"An isogrid plate pockets a triangular grid of ribs from a solid plate, typically at 60deg rib angles and rib width 1-1.5x the finished skin thickness -- removes 60-70% of the material while barely denting bending stiffness.","applies":["bracket","isogrid","structural plate","airframe"],"value":{"min":60,"max":70,"unit":"%"},"basis":"Sandia National Laboratories isogrid design handbook triangular rib-pattern conventions","sources":["sandia-isogrid-handbook"],"tags":["isogrid","pocketing","structural"]},{"id":"aluminium-7075-t6","kind":"material","tier":1,"title":"7075-T6 aluminium for high-strength brackets and mounts","summary":"7075-T6 (yield about 503 MPa, density 2.81 g/cm3) is the go-to aerospace aluminium for highly-loaded brackets, arms and motor mounts where strength-to-weight matters most; it welds poorly compared with 6061, so use it for machined/CNC parts, not fabricated weldments.","applies":["bracket","motor mount","arm"],"value":{"table":[{"property":"yield","value":503,"unit":"MPa"},{"property":"density","value":2.81,"unit":"g/cm3"}]},"basis":"MatWeb 7075-T6 aluminium property data, the standard high-strength aerospace bracket alloy","sources":["matweb-materials"],"tags":["material","aluminium","7075-t6"]},{"id":"aluminium-6061-t6","kind":"material","tier":1,"title":"6061-T6 aluminium for general airframe fittings","summary":"6061-T6 (yield about 276 MPa, density 2.70 g/cm3) trades some strength for weldability and machinability versus 7075-T6 -- the default for landing gear, standoffs and fittings that do not need 7075's peak strength.","applies":["fitting","landing gear","standoff"],"value":{"table":[{"property":"yield","value":276,"unit":"MPa"},{"property":"density","value":2.7,"unit":"g/cm3"}]},"basis":"MatWeb 6061-T6 aluminium property data, the general-purpose aerospace/airframe fitting alloy","sources":["matweb-materials"],"tags":["material","aluminium","6061-t6"]},{"id":"cf-epoxy-plate","kind":"material","tier":1,"title":"Carbon-fiber/epoxy plate for frame arms and plates","summary":"3K/12K woven CF/epoxy plate (density about 1.55 g/cm3, in-plane tensile about 550 MPa) is the default drone-frame material: stiff, light and machinable by CNC router or laser, but it splinters at a drilled edge without a pilot hole and chamfer.","applies":["frame","arm","center plate"],"value":{"table":[{"property":"density","value":1.55,"unit":"g/cm3"},{"property":"tensile","value":550,"unit":"MPa"}]},"basis":"MatWeb woven CF/epoxy laminate property data, typical drone-frame plate/tube layup","sources":["matweb-materials"],"tags":["material","carbon-fiber","cf-epoxy"]},{"id":"pa12-cf-material","kind":"material","tier":2,"title":"PA12-CF for 3D-printed drone brackets and canopies","summary":"Carbon-fiber-filled PA12 (tensile about 90 MPa, flex modulus about 6000 MPa) prints stiff, light structural brackets, camera mounts and canopies -- stiffer and lighter than unfilled nylon, at the cost of being more abrasive on nozzles.","applies":["bracket","canopy","camera mount"],"value":{"table":[{"property":"tensile","value":90,"unit":"MPa"},{"property":"flexModulus","value":6000,"unit":"MPa"}]},"basis":"MatWeb CF-filled PA12 property data, common for FDM/SLS printed drone structural parts","sources":["matweb-materials"],"tags":["material","pa12","cf-pa","3d-print"]},{"id":"tpu-mounts-material","kind":"material","tier":2,"title":"TPU for vibration-damping motor and FC mounts","summary":"95A shore TPU motor mounts and flight-controller dampener grommets absorb high-frequency motor vibration before it reaches the gyro -- too soft (below 85A) and the frame flexes under thrust, too hard (above 98A) and it stops damping.","applies":["motor mount","fc mount","vibration"],"value":{"min":85,"max":98,"unit":"ratio"},"basis":"Common FPV soft-mount TPU hardness range for motor/FC vibration isolation","sources":["oscar-liang-frame-guide"],"tags":["material","tpu","vibration","damping"]},{"id":"g10-material","kind":"material","tier":2,"title":"G10 fiberglass laminate for arm doublers and standoff plates","summary":"G10 glass-epoxy laminate (density about 1.8 g/cm3, tensile about 310 MPa) is a cheaper, more impact-tolerant alternative to CF plate for arm doublers, antenna mounts and non-flexing standoff plates.","applies":["arm doubler","standoff plate","antenna mount"],"value":{"table":[{"property":"density","value":1.8,"unit":"g/cm3"},{"property":"tensile","value":310,"unit":"MPa"}]},"basis":"MatWeb G10 glass-epoxy laminate property data","sources":["matweb-materials"],"tags":["material","g10","fiberglass"]},{"id":"cf-layup-basics","kind":"process","tier":2,"title":"CF layup basics: ply count and orientation for a frame plate","summary":"A 3-4mm frame plate lays up 8-12 plies of 0/90/+-45deg woven or unidirectional CF -- a quasi-isotropic orientation resists arm-flex loads from any direction, unlike an all-0deg layup that is strong one way and weak 90deg to it.","applies":["frame","arm","layup"],"value":{"min":8,"max":12,"unit":"count"},"basis":"Standard quasi-isotropic composite layup practice applied to drone frame plate thickness","sources":["matweb-materials"],"tags":["layup","carbon-fiber","composite"]},{"id":"wing-spar-cf-tube","kind":"dimension","tier":2,"title":"Fixed-wing main spar: CF tube diameter by wingspan","summary":"A fixed-wing's main spar is a pultruded CF tube sized to span: about 7mm OD for a 1m-span foam wing, 11mm for 2m, 16mm+ for 2.5m+ -- undersize it and the wing flutters or folds under a hard pull-up.","applies":["wing","spar","fixed wing"],"value":{"table":[{"spanM":1,"sparOdMm":7},{"spanM":2,"sparOdMm":11},{"spanM":2.5,"sparOdMm":16}]},"basis":"Common fixed-wing FPV/RC spar-sizing convention scaling CF tube diameter to wingspan","sources":["oscar-liang-frame-guide"],"tags":["wing","spar","fixed-wing"]},{"id":"hinge-gap","kind":"dimension","tier":2,"title":"Control-surface hinge gap","summary":"Leave a 0.5-1mm hinge gap between a control surface and the fixed wing or tail structure -- tight enough to keep drag and flutter low, loose enough that the surface does not bind at full deflection or after a hard landing flexes the structure.","applies":["hinge","control surface","fixed wing"],"value":{"min":0.5,"max":1,"unit":"mm"},"basis":"Common RC/FPV fixed-wing hinge-gap convention for tape or pinned hinges","sources":["oscar-liang-frame-guide"],"tags":["hinge","control-surface","fixed-wing"]},{"id":"control-horn","kind":"feature","tier":2,"title":"Control horn offset from the hinge line","summary":"Mount the control horn's pushrod hole 8-12mm from the hinge line for a typical 9g-servo-driven surface -- closer increases mechanical advantage (more force, less throw), farther gives more throw for less force.","applies":["control horn","servo","fixed wing"],"value":{"min":8,"max":12,"unit":"mm"},"basis":"Common RC fixed-wing control-horn geometry convention for small electric models","sources":["oscar-liang-frame-guide"],"tags":["control horn","servo","fixed-wing"]},{"id":"servo-bay-9g","kind":"dimension","tier":2,"title":"9g micro-servo bay envelope","summary":"A 9g micro servo (SG90-class) needs a bay 23x12mm in plan plus 1-2mm clearance per side, with a lip or screw boss for the mounting ears -- sized here for a fixed-wing wing/tail servo bay.","applies":["servo bay","fixed wing","control surface"],"value":{"table":[{"field":"lengthMm","value":23},{"field":"widthMm","value":12}]},"basis":"TowerPro SG90-class 9g servo case dimensions, common wing/tail servo bay envelope","sources":["towerpro-sg90"],"tags":["servo","servo-bay","sg90","fixed-wing"]},{"id":"tolerance-motor-bolt-pattern","kind":"tolerance","tier":2,"title":"Motor bolt-pattern position tolerance","summary":"Hold a motor mount's bolt-circle hole positions to +-0.1mm regardless of process -- tighter than most airframe hole conventions because a 0.1mm miss stacks across all four motor holes and can bind the motor's screw pattern.","applies":["motor mount","bolt pattern","tolerance"],"value":{"value":0.1,"unit":"mm"},"basis":"Common practice for a rigid 4-hole motor bolt-circle, tighter than the general frame-hole tolerance in this pack","sources":["tmotor-mn-series"],"tags":["tolerance","motor mount","bolt-pattern"]},{"id":"tolerance-frame-hole-position","kind":"tolerance","tier":1,"title":"Frame hole-position tolerance by process","summary":"Hold general frame/arm hole positions to +-0.05mm on a CNC-machined or laser-cut CF/aluminium part, versus +-0.2mm on a 3D-printed part -- the same CNC-vs-FDM capability gap seen across every sector in this knowledge base.","applies":["frame","arm","hole position"],"value":{"table":[{"process":"CNC","toleranceMm":0.05},{"process":"printed","toleranceMm":0.2}]},"basis":"Common CNC vs FDM positional-tolerance capability gap applied to drone frame hole patterns","sources":["oscar-liang-frame-guide"],"tags":["tolerance","frame","hole-position"]},{"id":"standard-rtca-do160","kind":"standard","tier":2,"title":"RTCA DO-160 -- environmental test standard for airborne equipment","summary":"RTCA DO-160 (revision G) sets the environmental test sections -- vibration (Section 8), temperature (Section 4), EMI (Section 21) -- an avionics or payload box is qualified against; this pack's vibration, thermal and EMI tests follow its numbering.","applies":["avionics","payload","test"],"basis":"The environmental-qualification standard behind this pack's vibration/thermal/EMI test entries","sources":["rtca-do160g"],"tags":["standard","do-160","environmental"]},{"id":"standard-nas-ms-fasteners","kind":"standard","tier":2,"title":"NAS/MS fastener specifications used on airframes","summary":"NAS and MS-prefixed specs (MS21042 nyloc nuts, MS20426 rivets, NASM33540 safety wiring) define the aerospace hardware this pack's fastener entries draw sizes and callouts from.","applies":["fastener","hardware","standard"],"basis":"The aerospace fastener-specification family (NAS/MS) behind this pack's locking and rivet entries","sources":["ms21042","ms20426","nasm33540"],"tags":["standard","nas","ms","fastener"]},{"id":"faa-part107-weight-classes","kind":"standard","tier":2,"title":"FAA Part 107 / EASA Open-category weight classes and geometry implications","summary":"FAA Part 107 and EASA's Open category gate rules on all-up weight: under 250g (near-unregulated), under 900g (C1), under 4kg (C2), under 25kg (C3) -- crossing a threshold by grams forces a heavier compliance burden, so weigh the design against the nearest class early.","applies":["weight class","regulatory","airframe"],"value":{"table":[{"classKg":0.25},{"classKg":0.9},{"classKg":4},{"classKg":25}],"unit":"kg"},"basis":"FAA 14 CFR Part 107 small-UAS rule and EASA Implementing Regulation (EU) 2019/947 Open-category C0-C3 weight bands","sources":["faa-14cfr107","easa-2019-947"],"tags":["standard","faa","easa","weight-class"]},{"id":"test-vibration-do160","kind":"test","tier":2,"title":"Random vibration test (RTCA DO-160 Section 8 style)","summary":"Vibrate the assembled airframe/payload with a 20-2000Hz random profile per RTCA DO-160 Section 8 for 1 hour per axis, 3 axes -- a mount or bracket that resonates, or a fastener that backs off, needs stiffening or a locking upgrade, not just a re-torque.","applies":["avionics","payload","test"],"value":{"value":1,"unit":"h"},"basis":"RTCA DO-160G Section 8 random-vibration test category applied to a UAS payload/avionics mount","sources":["rtca-do160g"],"tags":["test","vibration","do-160"]},{"id":"test-thermal-cycle","kind":"test","tier":2,"title":"Thermal cycling test (-20C to +60C)","summary":"Cycle the airframe and its plastic/composite fittings between -20C and +60C, 2-hour dwell at each extreme, for at least 10 cycles -- watch for a printed mount that warps, a bonded joint that delaminates, or a fastener that loosens as materials expand at different rates.","applies":["airframe","fitting","test"],"value":{"min":-20,"max":60,"unit":"C"},"basis":"Common UAS environmental-qualification thermal-cycle range drawn from RTCA DO-160 Section 4 temperature categories","sources":["rtca-do160g"],"tags":["test","thermal","cycling"]},{"id":"test-drop-handheld","kind":"test","tier":1,"title":"Handheld-drone drop test","summary":"Drop a handheld-launch drone from 500-1000mm onto a hard level surface in landing orientation and on one corner; the frame, arms and prop guards should show no crack propagation past a single layer of skin -- 1000mm is a common small-UAS reference height.","applies":["frame","arm","prop guard","test"],"value":{"min":500,"max":1000,"unit":"mm"},"basis":"Common small-UAS handheld drop-test height, aligned to typical launch/landing mishap heights","sources":["faa-14cfr107"],"tags":["test","drop","handheld"]},{"id":"test-prop-strike-crash","kind":"test","tier":2,"title":"Prop-strike / low-speed crash test","summary":"Run the airframe into a fixed obstacle at about 5m/s with props spinning, and again with a simulated tip-over, then inspect: a motor mount or arm that survives with only a chipped prop (not a cracked mount or sheared standoff) passes.","applies":["frame","motor mount","prop","test"],"value":{"value":5,"unit":"m/s"},"basis":"Common FPV/hobbyist crash-survivability bench-test convention for frame and motor-mount robustness","sources":["oscar-liang-frame-guide"],"tags":["test","crash","prop-strike"]},{"id":"test-emi-spacing","kind":"test","tier":2,"title":"EMI clearance test (VTX/ESC to GPS/compass)","summary":"Per RTCA DO-160 Section 21-style EMI practice, keep the VTX antenna and ESC power leads at least 50mm from the GPS/compass module, and confirm compass deviation stays under 5deg with the VTX transmitting at full power and motors spun up on the bench.","applies":["gps","compass","vtx","esc","test"],"value":{"min":50,"unit":"mm"},"basis":"RTCA DO-160 Section 21 EMI-conducted/radiated susceptibility practice applied to common UAS GPS/compass interference sources","sources":["rtca-do160g"],"tags":["test","emi","gps","compass"]},{"id":"recipe-quad-arm-motor-mount","kind":"recipe","tier":2,"title":"Recipe: quad arm with 16mm square motor-mount holes","summary":"Build a 120x25x4mm CF arm with a 16mm-square M3 motor-mount hole pattern near the motor end and a dia12mm lightening hole at the arm's midpoint.","applies":["arm","motor mount","quadcopter"],"basis":"Combines frame-plate-thickness, motor-bolt-circle-patterns and lightening-hole-rule into one buildable arm","sources":["oscar-liang-frame-guide","tmotor-mn-series"],"tags":["recipe","arm","motor-mount","lightening-hole"],"recipe":{"prompt":"Model a 120x25x4mm CF drone arm with a 16mm square M3 motor-mount hole pattern at the motor end and a lightening hole at the arm's midpoint","steps":[{"tool":"cad_box","args":{"dx":120,"dy":25,"dz":4},"note":"120x25mm arm blank, 4mm CF plate thickness"},{"tool":"cad_hole_pattern","args":{"of":"$0","type":"drill","diameter":3.2,"pattern":{"kind":"grid","origin":[100,4.5],"dx":16,"dy":16,"nx":2,"ny":2}},"note":"4x M3 clearance holes on the 16mm motor-mount square, near the arm's motor end"},{"tool":"cad_drill_hole","args":{"of":"$1","center":[50,12.5],"type":"drill","diameter":12},"note":"dia12mm lightening hole at the arm midpoint, within the 60% max-hole-fraction rule for a 25mm-wide arm"}],"expect":{"volume":11418.93,"faceCount":16,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}},{"id":"recipe-lightened-aluminium-bracket","kind":"recipe","tier":2,"title":"Recipe: lightened 6061-T6 aluminium bracket","summary":"Build a 60x40x6mm bracket with a 40x20x3mm blind lightening pocket, four M3 corner mounting holes, and 2mm edge fillets.","applies":["bracket","lightening hole","aluminium"],"basis":"Combines lightening-hole-rule and aluminium-6061-t6 into one buildable pocketed bracket","sources":["sandia-isogrid-handbook","matweb-materials"],"tags":["recipe","bracket","pocket","fillet"],"recipe":{"prompt":"Model a 60x40x6mm 6061-T6 aluminium bracket with a blind lightening pocket, four M3 corner mounting holes, and 2mm edge fillets","steps":[{"tool":"cad_box","args":{"dx":60,"dy":40,"dz":6},"note":"60x40x6mm bracket blank"},{"tool":"cad_box","args":{"dx":40,"dy":20,"dz":3,"origin":[10,10,3]},"note":"pocket tool: 40x20mm footprint, 3mm deep from the top face"},{"tool":"cad_boolean_subtract","args":{"of":"$0","tool":"$1"},"note":"cut the blind lightening pocket into the bracket"},{"tool":"cad_hole_pattern","args":{"of":"$2","type":"drill","diameter":3.2,"pattern":{"kind":"grid","origin":[5,5],"dx":50,"dy":30,"nx":2,"ny":2}},"note":"4x M3 corner mounting holes, 5mm inset, clear of the pocket"},{"tool":"cad_fillet_edges","args":{"of":"$3","radius":2,"edges":[{"direction":[0,0,1],"convexity":"convex","expect":4},{"direction":[1,0,0],"length":60,"convexity":"convex","expect":4},{"direction":[0,1,0],"length":40,"convexity":"convex","expect":4}]},"note":"2mm fillet on the bracket's 12 OUTER edges only (CADSF-1673). The hole rims and pocket rim are left sharp on purpose: a 2mm rim fillet on a dia3.2 hole opens it to r3.6 around (5,5), i.e. to 1.4mm from the outer edge, where the outer edge's own 2mm band already runs, so the two bands overlap and no single-radius pick of all 32 convex edges exists (the largest common radius is under 1.7mm). A picked selection is all-or-nothing (CADSB-1023), so the recipe names only the edges it means"}],"expect":{"volume":11453.73,"faceCount":39,"watertight":true,"note":"measured 2026-09-27: CADSF-1673: step 4 now picks the 12 outer edges by selector (was every convex edge, 23 of 32 refused since CADSB-1023 - the hole-rim and outer-edge 2mm bands overlap, so no r=2 pick of all 32 exists). Closed form: step-3 body - 376mm x (1-pi/4)r^2 - 8 x r^3(1-pi/6) = 11453.73"}}},{"id":"recipe-payload-rail-tap","kind":"recipe","tier":2,"title":"Recipe: payload/camera rail block with 1/4-20-equivalent tap","summary":"Build a 40x20x15mm camera rail block with a central through tapped hole standing in for the 1/4-20 UNC camera thread, modelled here as M6 since the kernel's thread table is metric.","applies":["payload rail","camera mount","camera rail"],"basis":"Combines camera-thread-1-4-20 and camera-rail-rod-15mm into one buildable rail block; the M6 tap substitutes for 1/4-20 UNC per camera-thread-1-4-20's own note","sources":["asme-b1-1-unc","oscar-liang-frame-guide"],"tags":["recipe","payload rail","camera","tapped-hole"],"recipe":{"prompt":"Model a 40x20x15mm camera rail block with a central 1/4-20-equivalent tapped hole (M6 substitute) through the top face","steps":[{"tool":"cad_box","args":{"dx":40,"dy":20,"dz":15},"note":"40x20x15mm rail block"},{"tool":"cad_drill_hole","args":{"of":"$0","center":[20,10],"type":"tapped","size":"M6"},"note":"through M6 tapped hole substituting for the 1/4-20 UNC camera thread"}],"expect":{"volume":11705.48,"faceCount":8,"watertight":true,"note":"measured 2026-09-19: agrees with the kernel on the CADSF-1630 corpus sweep — volume inside the 0.5% band and faceCount exact"}}},{"id":"aero-flush-hardware-wetted-skin","kind":"rule","tier":2,"title":"Flush hardware on wetted (OML) skins: 100 deg countersunk heads","summary":"A fastener head on a wetted skin (the outer mould line of a wing, pod, pillar or fairing) is a flush 100 deg countersunk head (MS20426, MS24694; csk_100 in cad_fastener) level with the skin; a hex or button head 2-3 mm proud is a protuberance in the boundary layer.","applies":["wing skin","fairing","pod skin","aero surface","outer mould line","motorsport bodywork"],"value":{"typical":100,"unit":"deg"},"basis":"MS20426 / MS24694 flush 100 deg heads are the airframe standard for wetted skins; Hoerner ch. 5 shows a protuberance's drag rises steeply with its height relative to the local boundary layer, so a few millimetres of head is worth removing","sources":["ms20426","ms24694","hoerner-fluid-dynamic-drag"],"tags":["aero","oml","wetted","flush","countersunk","motorsport","uav"],"detail":"cad_fastener with wetted:true (or a head part tagged wetted) refuses a head that would stand proud (fastener-proud-head-on-oml) and takes csk_100 as the flush head; the kernel API defaults to it when kind is omitted. OmlCheck.checkOmlProtrusion / cad_assembly_sweep checks.oml then flags anything still outside the OML (OML_PROTRUSION). A 90 deg countersink (DIN 7997) on an aero skin is a warning: aero skins take 100 deg heads."},{"id":"aero-internal-routing","kind":"rule","tier":2,"title":"Route services inside the aero bodies, never on the wetted skin","summary":"Lines, hoses and harnesses run INSIDE the aero bodies (pillar channel, spar bay, pod), 0 mm outside the outer mould line; a 6 mm line or 15 mm coupling outside is a protuberance along its whole length, and a fitting on a leading edge sits at the stagnation point.","applies":["pneumatic line","harness","hose","service routing","pillar","wing","fairing"],"value":{"max":0,"unit":"mm"},"basis":"A motorsport rear-wing pilot shipped its pneumatic union and quick coupling on the pillar leading edge and had to move them (CADSF-102112); Hoerner ch. 5 for the drag of protuberances","sources":["pilot-rear-wing-line-exit","hoerner-fluid-dynamic-drag"],"tags":["aero","oml","routing","internal","services","motorsport","uav"]},{"id":"aero-service-exit-interface-face","kind":"rule","tier":2,"title":"Services leave through a declared interface face, below the chassis plane","summary":"A service exits the aero body through a DECLARED interface face (the chassis mating face): union seated in the foot, coupling and connector on the car side, 8-32 mm below the face on the rear-wing pilot -- never on a leading edge (pre-fix: 83 mm above the chassis face).","applies":["pneumatic line","quick coupling","bulkhead union","harness connector","mating face","chassis interface"],"value":{"min":8,"max":32,"unit":"mm"},"basis":"Rear-wing pilot, CADSF-102112: the line leaves the pillar foot along the inclined mating-face normal, union seated 5 mm into the foot, coupling 8-32 mm below the face, connector 30 mm below it; the wing comes off without bleeding the system","sources":["pilot-rear-wing-line-exit"],"tags":["aero","oml","interface","services","chassis","motorsport"],"detail":"Declare the interface face to the OML check as {point, normal, radiusMm} with the normal pointing out of the airflow (into the car): anything behind it is on the service side and is not a protrusion, and a ray that leaves a hollow body through it counts as enclosed. tests/test_cadsf-102141_oml_p424.js flags both pre-fix fittings on each pillar and nothing at the current foot."},{"id":"aero-access-panel-flush","kind":"rule","tier":2,"title":"Access panels and hatches flush with the skin","summary":"An access panel or hatch sits flush with the skin (within 0.25 mm), held by flush 100 deg screws into inserts, with a 0.5-1 mm perimeter gap; a forward-facing step costs more drag than an aft-facing one, so an unavoidable step faces aft.","applies":["access panel","hatch","fairing lid","inspection cover","drop door"],"value":{"min":0.5,"max":1,"unit":"mm"},"basis":"Hoerner ch. 5 (forward- vs aft-facing steps); the panel gap matches the control-surface hinge-gap convention in this pack; 0.25 mm is OmlCheck's flush tolerance (tessellation + paint)","sources":["hoerner-fluid-dynamic-drag","oscar-liang-frame-guide"],"tags":["aero","oml","flush","panel","hatch","motorsport","uav"]}]}