r/ardupilot

Plug n play RTK for ardupilot on pixhawk?

Hi, I'm wondering if there's a simple plug n play RTK solution for pixhawk? Something that I don't have to set up a base station etc...

reddit.com
u/xoxosi — 10 hours ago

ArduPilot Paradox: Uncommanded indoor flyaway after failed calibration/reconnection. No log generated (LOG_DISARMED=0). How is this possible?

Hey everyone,

I am trying to reverse-engineer a terrifying indoor bench accident that resulted in an uncommanded, full-speed takeoff and crash. I need help understanding ArduPilot's internal safety architecture because what happened feels like a catastrophic firmware/hardware lockup.

⚠️ CRITICAL CONTEXT TO PREVENT MISUNDERSTANDINGS:

* NO LOG EXISTS (0 BYTES): Because LOG_DISARMED = 0 and the crash happened instantly, NO log file was ever initialized or written for this event. The SD card is verified perfectly healthy (working fine before and after the crash), but there isn't even a 0-byte file header for this event.

* STANDARD DIRECT WIRING: The ESCs are plugged directly into the Cube Orange MAIN OUT ports. No companion computers, Lua scripts, multiplexers, or direct receiver-to-ESC passthrough wiring.

The Hardware:

* FC: Cube Orange (ArduCopter V4.6.3)

* RC System: Radiolink Transmitter & Receiver (SBUS)

* Hardware Switch: Physical safety switch button was disabled (`BRD_SAFETY_DEFLT = 0`).

The Exact Sequence of Events:

  1. We plugged in the flight battery. The drone sat static on the bench.

  2. We successfully connected to the laptop GCS via telemetry and attempted a calibration (which we did not complete).

  3. We intentionally disconnected the telemetry link with the plan to reconnect it immediately.

  4. The glitch begins: On the second attempt, telemetry completely refused to reconnect. The drone was unresponsive to the GCS. No arming commands had been sent at any point since plugging in the battery.

  5. Surprised by the telemetry dropout, we assumed the RC transmitter might be the issue. We power-cycled the transmitter (off, then on).

  6. Crucially, when the transmitter booted back up, the physical throttle stick was unintentionally resting all the way up (100%).

  7. The exact millisecond the receiver re-linked with the radio, the motors instantly spun up to absolute maximum power, rocketed 7 meters into the ceiling, and crashed.

The Paradox:

If the flight controller was healthy and disarmed, the ArduPilot motor library should strictly mask/kill all PWM outputs, regardless of what raw SBUS throttle data the receiver delivers upon re-linking.

However, because telemetry had just failed to reconnect right before this happened, and absolutely zero bytes of a log file header were generated, we suspect the Cube Orange's main processor may have entered a frozen, corrupted, or "watchdog loop" state during the failed calibration/reconnect sequence.

My Questions for the Community:

  1. Is there a known edge-case bug where a failed/interrupted calibration or telemetry disconnection can cause the I/O driver layer to lock up or lose its "disarmed motor masking" safety logic?

  2. If the main loop freezes or crashes, can the Cube Orange's hardware default to passing raw timer outputs/SBUS inputs straight to the MAIN PWM rails without ArduPilot's safety code actively blocking it?

  3. What is the definitive way to build a bulletproof hardware firewall on the bench to guarantee that an internal flight controller lockup cannot default to an unmasked, full-throttle output state?

Thanks for reading, and I'd appreciate any insights from anyone intimately familiar with the Cube Orange hardware and ArduCopter output stages.

reddit.com
u/osamahh9 — 3 days ago

I’ve created a Vio pipeline for GPS denied zones. Is this feasible, and how much accuracy will I get?

This project builds a GPS-denied navigation system for a drone using a Raspberry Pi 5. A known GPS coordinate is captured once at the start as the origin. From there, a downward-facing camera tracks ground features frame by frame to measure how far and in which direction the drone has moved. A laser rangefinder provides real-time altitude to correctly scale those pixel measurements into real-world distances. The drone's compass continuously provides heading so the camera's displacement measurements are correctly oriented to North and East. The flight controller's gyroscope runs at high frequency between camera frames to detect and cancel out any false motion caused by the drone rotating in place, preventing yaw from accumulating as position error. All of this camera displacement, compass heading, gyroscope data, and altitude is fused into a continuously updated position estimate. That position is added to the origin coordinate every cycle to produce a current latitude and longitude, which is sent as standard GPS data at 5Hz directly into the Pixhawk's GPS port. ArduPilot accepts it as a real GPS signal, shows a full GPS fix in Mission Planner, and correctly plots the drone's live trajectory on the map with no real GPS involved.

reddit.com
u/broken_wings_101 — 4 days ago

ArduConfigurator

https://preview.redd.it/xecg3j5p7wah1.png?width=2980&format=png&auto=webp&s=b63a3264f81fb43b48adcf96149cc33eae7b04ff

Hi all,

I wanted to share a project we’ve been working on: ArduConfigurator, a browser based configuration tool for ArduPilot.

Site: https://arduconfigurator.com
Source: https://github.com/j-w9/arduconfigurator

The goal is to make ArduPilot setup feel closer to Betaflight Configurator: a guided, configuration first experience rather than a raw parameter editor or a full ground station. Things like ports, receiver, outputs, power, OSD, and VTX are laid out as a walk through setup flow instead of being scattered across menus or buried in the parameter list, so getting a vehicle configured is much more approachable. It also handles firmware flashing.

The aim is that you can take a copter from flashing to flying without needing Mission Planner or QGroundControl, though it works for configuring other ArduPilot vehicles too.

It runs in the browser over Web Serial with no install, and there are installable desktop builds with native serial if you’d rather work offline.

The project is still new and under active development, so feedback, bug reports, and feature ideas are all welcome. The GitHub repo above is the best place for issues and contributions.

This is a joint effort with jb-01 (https://github.com/jb-01), co-developer on the project.

Thanks for taking a look, and we’d love to hear what you think.

reddit.com
u/Big-Necessary7309 — 4 days ago
▲ 1.4k r/ardupilot+4 crossposts

RealPodRacer First Flight

Hi everyone, I'm Shane Rienks, and this is one of my projects.

This is the first 1/3 scale prototype flight, lots of tuning to do.

This is not a business promotion, but I am looking for other interested in contributing. If you'd like to get involved, please reach out - it's a very unique take on compact eVTOLs.

www.realpodracer.com

This is a culmination of aerospace engineering, electrical engineering, 3D printing, and industrial design.

EDIT: For everyone commenting about the stability issues: I had all stability and yaw assistance turned off for these first tests. The goal was just to see if it would fly at all, and get flight log data to use for tuning the control firmware.

This uses a very complex flight controller and custom mixer setup, so it's not as simple as setting up a regular drone.

u/JollyGreenJarju — 8 days ago

Coaxial X8 (OctaQuad) has zero yaw authority with bottom rotors running, top rotors alone fly fine. CubeOrange+ / ArduPilot

Looking for a second set of eyes on a coaxial X8 yaw problem that has survived everything I have thrown at it, including a full parameter wipe.

Build

  • Frame: coaxial X8, 67 cm motor to motor, with prop guards
  • FC: CubeOrange+ running ArduPilot
  • Motors: 8x MAD BSC3115 KV490
  • ESCs: 8x MAD AMPX 40A V2
  • Props: 9 inch, 3 blade
  • GPS: Here4
  • RC: TBS Crossfire into a Taranis QX7
  • Battery: 12S 10,000mAh 100C
  • AUW: 14.2 lb

Problem
On takeoff it immediately starts spinning and has essentially no yaw authority. If it doesnt spin on takeoff the Yaw control doesnt work at all and so there is no rotational movement produced from the quad. Yaw stick input produces little to no response. The only way to influence yaw at all is to slam full yaw stick at the exact moment I add throttle, which sometimes tricks it into rotating one direction, but there is no real closed loop yaw control after that.

The key finding
I have isolated it to the bottom rotors. Top four rotors only: flies and yaws correctly. Bottom four only: oscillates with no yaw authority. All eight running: no yaw authority at all, which looks like the bottom layer is cancelling the yaw torque the top layer produces.

As a sanity check I reconfigured the FC as a plain quad twice, once mapped to the top four motors and once to the bottom four. Both flew correctly as quads. So each layer is fine in isolation on its own hardware. The problem only shows up in the OctaQuad mix once the bottom layer is active.

Already tried, none of it changed anything

  • Swapped ESCs between motors
  • Reversed yaw on the transmitter
  • Recalibrated compass and accels several times, also flew with the compass disabled
  • Verified every motor direction in the Mission Planner motor test, all correct
  • Loaded OctaQuad PID values from other builds
  • Full parameter wipe by flashing Rover then back to Copter, then redid every calibration (GPS, compass, ESC, RC, accels) from scratch
  • Tried ArduPilot's counterclockwise motor numbering scheme

Question
Each layer flies fine on its own, but the bottom layer kills yaw authority in the combined OctaQuad mix. What am I missing?

Will send logs if you are interested.

u/Accurate_Amoeba_9356 — 6 days ago

V4 of my autonomous FPV 3D printed boat

Quite pleased with how it's looking. Been working on this in my spare time for about 6 years now.

u/Accurate-Donkey5789 — 10 days ago
▲ 78 r/ardupilot+4 crossposts

Tunnel drone inspection SITL

How do you handle optical-flow dropout in GPS-denied tunnels?

Been poking at navigation for tight indoor/underground spaces (tunnels, under bridges) where GPS just drops and there's nothing to fall back on. The annoying part is optical flow basically dies in there: bare concrete, repeating geometry, almost nothing to lock onto. Ends up being mostly lidar plus an illuminated camera doing the work.

Testing it in sim first for obvious reasons (not keen on flying real hardware into a concrete wall to find the failure modes). Running it on UE5 with PX4/ArduPilot in the loop.

For those who've flown GPS-denied in feature-poor spaces: do you just lean harder on lidar, or is there a VIO setup that actually holds up when the visual texture is that poor? Curious what's worked.

u/AlexThunderRex — 12 days ago

AM 32 Flash Firmware

When attempting to flash firware I get image error.

Should I attempt force-flash via ST-Link?

u/No_Sheepherder5234 — 8 days ago

Porting ardupilot to another OS

Hello! I've been wondering how would one try and port ardupilot to another RTOS that is not chibiOS. In your opinion, would that be feasible? In what timescale?

reddit.com
u/perhapiness — 11 days ago