- Overview
- Layout & Interface
- Core Features
- Technology Stack
- Installation
- Usage
- Technical Analysis
- Use Cases
- Contributing
- Roadmap
- License
DroneSetup is a browser-based drone configuration and performance analysis tool. It supports both FPV quadcopters and fixed-wing aircraft, letting you select components, visualize performance across four chart tabs, run optimization tools, and read through the built-in calculation guide all in one page without any server or build step.
Key Benefits:
- Real-time performance calculations as you change any component
- Physics-based analysis with four interactive chart tabs
- Advanced Optimization Toolkit with mission profiles, constraint solver, cost/BOM, and comparison snapshots
- APC propeller database integration for accurate thrust modeling
- Built-in Calculation Guide & Correlations reference
The UI is organized into three main areas:
Top row (side by side):
- Configuration panel (left) component selectors for frame, motor KV, battery chemistry/capacity, flight controller, camera, VTX, and propeller; FPV and fixed-wing fields show/hide based on aircraft type
- Visualization panel (center) four tabbed chart views: Performance, Weight Analysis, Power Usage, and Advanced
- Performance Estimates panel (right) live result readouts with interactive sliders and component impact analysis
- Advanced Optimization Toolkit (far right) Mission Profiles, Environment & Battery Health, Constraint Solver, Cost & BOM, Confidence Bands, Safety Checks, Comparison Snapshots, and Sensitivity View
Bottom:
- Calculation Guide & Correlations documents all inputs, outputs, and the key correlations between them
- FPV Quadcopters: 3-inch to 10-inch frame configurations with racing, freestyle, and cinematic setups
- Fixed-Wing Aircraft: Conventional, flying wing, and delta configurations from 800mm to 2000mm wingspan
- Toggle switches aircraft type instantly; irrelevant fields hide automatically
Four tabbed chart groups, each with 22 grid charts powered by Chart.js:
| Tab | Charts |
|---|---|
| Performance | Max Speed, Flight Time, Range, Efficiency |
| Weight Analysis | Weight Distribution, Payload Capacity, Weight Comparison, Component Weight |
| Power Usage | Current Draw, Power-to-Weight, Battery Discharge, Thermal Efficiency |
| Advanced | Thrust Curve, Efficiency Map, Noise Level, Propeller Efficiency |
- Mission Profiles apply presets (Freestyle FPV, Long-Range FPV, Cinematic FPV, Trainer, Cruise Fixed Wing, Efficiency Fixed Wing, Speed Fixed Wing)
- Environment & Battery Health adjust altitude, temperature, wind speed, battery health %, and cycle count; results update accordingly
- Constraint Solver set minimum flight time, maximum weight, minimum range, and minimum payload; finds the best matching configuration automatically
- Cost & BOM live bill of materials with total cost and cost-per-minute efficiency metric
- Confidence Bands best / typical / worst scenario ranges for flight time, speed, range, and payload
- Safety Checks automatic checklist of potential issues with the current configuration
- Comparison Snapshots save named snapshots of any configuration, compare two snapshots side by side, and export a JSON report
- Sensitivity View bar chart showing which parameter changes have the greatest impact on performance
Real APC propeller database integrated directly into the configuration panel. Select Auto (Best Match) for automatic propeller selection based on frame and motor, or switch to Manual APC Selection to pick a specific APC propeller by model. Thrust and power calculations use actual APC performance data when available.
- Motor RPM:
RPM = KV Voltage - Thrust:
T = Ct n D - Current draw: estimated from thrust demand and voltage, split into hover and burst profiles
- Flight time: usable battery energy average current consumption
- Range: minimum of signal-limited (VTX) and endurance-limited range
- Wing loading and CG: fixed-wing specific aerodynamic calculations
- Desktop-optimized three-column layout with the toolkit as a fourth sidebar
- Stacks to single-column on screens narrower than 950px
- Dark glassmorphism theme throughout
- HTML5 / CSS3 semantic markup, CSS Grid and Flexbox layout
- JavaScript (ES6+) no framework, module-style organization across
calculations.js,charts.js,componentAnalysis.js,main.js,apcIntegration.js, andapcDemo.js - Chart.js (CDN) all charts and the sensitivity view
- chartjs-plugin-datalabels (CDN) data labels on charts
- Google Fonts Roboto typeface
- Chrome 80+, Firefox 75+, Safari 13+, Edge 80+
- Mobile: iOS Safari 13+, Chrome Mobile 80+
No build step required. The app runs entirely in the browser.
- Clone the repository
git clone https://github.com/enishyseni/dronesetup.git
cd dronesetup- Serve locally (recommended to avoid CORS issues with JS modules)
# Python 3
python -m http.server 8000
# Node.js
npx live-server
# PHP
php -S localhost:8000- Open
http://localhost:8000in your browser, or openindex.htmldirectly for basic use.
- Charts not rendering ensure JavaScript is enabled and the browser supports ES6
- APC propellers not loading serve via a local server rather than opening the file directly
- Layout looks cramped the UI is designed for 1400px+ wide viewports; zoom out if needed
- Select aircraft type using the FPV / Fixed Wing toggle in the header
- Choose components in the Configuration panel (frame, motor KV, battery, camera, VTX, propeller)
- Watch charts update in real time across all four visualization tabs
- Read performance estimates in the right panel; drag the sliders to explore how a single parameter change affects results
- Use the Optimization Toolkit to apply mission presets, set constraints, check costs, compare snapshots, or analyze sensitivity
- Refer to the Calculation Guide at the bottom for a full reference of all inputs, outputs, and correlations
- Higher motor KV increases speed but raises current draw and reduces flight time
- Li-Ion extends endurance on low-load setups; LiPo handles burst demand better
- Use the Constraint Solver when you have hard requirements (e.g. "must fly 15 minutes and carry 200g")
- Save snapshots before making major changes so you can compare before/after
Max RPM = KV Battery voltage
Example: 2400KV 16.8V (4S LiPo) = 40,320 RPM
Thrust: T = Ct n D
Ct = thrust coefficient
= air density (adjusted for altitude and temperature)
n = rotational speed (rev/s)
D = propeller diameter (m)
Current draw: I = (Thrust 3.5) Voltage
Hover: ~4060% of max current
Burst: ~80100% during aggressive maneuvers
Flight time: t = (Capacity_mAh 0.8) (Average_current_A 1000) 60 (minutes)
| Ratio | Category |
|---|---|
| >2.5:1 | Acrobatic / Racing |
| 2.02.5:1 | Sport / Freestyle |
| 1.52.0:1 | Cinematic |
| 1.21.5:1 | Long-range / Efficiency |
= (Mechanical power out Electrical power in) 100%
T = Power_loss Thermal_resistance (C)
- Wing loading: Total weight wing area
- <30 oz/ft better slow-speed handling
-
50 oz/ft higher cruise speed, wind penetration
- CG position: 2535% MAC (conventional), 1525% MAC (flying wing)
High KV, low battery weight, maximum thrust-to-weight ratio. Check speed and current draw charts to ensure the power system can sustain burst throttle.
Balance payload capacity with flight time. Use the Confidence Bands to understand worst-case endurance before going to the field.
Maximize flight time and range using efficient KV selection and Li-Ion chemistry. Set minimum range in the Constraint Solver to find the sweet spot.
Use correlations in the Calculation Guide to understand why changing one component has cascading effects across the estimates.
Enter your target build, check the Cost & BOM panel, compare snapshots of different builds, and export a JSON report.
Contributions are welcome.
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make changes and test across browsers
- Open a pull request with a clear description
- Physics improvements to
calculations.js - New chart types or toolkit cards
- APC database updates (
APC-Prop-DB.csv) - UI/UX refinements
- Bug fixes and browser compatibility
Open a GitHub Issue with: description, steps to reproduce, expected vs actual behavior, browser/OS, and a screenshot if applicable.
- Configuration export and import (JSON)
- Expanded motor and frame database
- Multi-language support
- Environment-adjusted charts (altitude/wind affect chart data, not just estimates)
- Printable/shareable build report
- Improved mobile layout
- 3D aircraft visualization
- Community build sharing
- Extended APC database with interpolated performance curves
MIT License Copyright (c) 2026 DroneSetup
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- APC Propellers for their public performance data
- The FPV and RC community for domain knowledge and feedback
- Chart.js contributors
- Everyone who has tested and reported issues
Made with for the drone community
Questions or suggestions? Open an issue.
