> For the complete documentation index, see [llms.txt](https://docs.arkelectron.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.arkelectron.com/knowledge-base.md).

# Knowledge Base

- [Knowledge Base](https://docs.arkelectron.com/knowledge-base/knowledge-base.md): Core concepts for working with ARK products, drone electronics, and embedded systems.
- [Microcontrollers](https://docs.arkelectron.com/knowledge-base/knowledge-base/microcontrollers.md): What microcontrollers are, the STM32 family, firmware vs bootloaders, and the NuttX RTOS.
- [SWD Programming](https://docs.arkelectron.com/knowledge-base/knowledge-base/swd-programming.md): What SWD is, how it works, what hardware you need, and when to use it.
- [Serial Communication (UART)](https://docs.arkelectron.com/knowledge-base/knowledge-base/serial-communication-uart.md): UART basics, RX/TX cross-wiring, baud rates, and using the debug console.
- [CAN Bus](https://docs.arkelectron.com/knowledge-base/knowledge-base/can-bus.md): CAN bus fundamentals, differential signaling, termination, DroneCAN protocol, and 4-pin JST-GH wiring.
- [MAVLink](https://docs.arkelectron.com/knowledge-base/knowledge-base/mavlink.md): What MAVLink is, how ground stations and companion computers communicate with the flight controller, and MAVLink vs XRCE-DDS.
- [Connectors and Wiring](https://docs.arkelectron.com/knowledge-base/knowledge-base/connectors-and-wiring.md): JST-GH vs JST-SH connectors, wire color conventions, Pixhawk standard pinouts, and cable kits.
- [Power and Grounding](https://docs.arkelectron.com/knowledge-base/knowledge-base/power-and-grounding.md): Voltage levels, power distribution, ground loops, signal integrity, and noise avoidance on drones.
- [GPS Placement](https://docs.arkelectron.com/knowledge-base/knowledge-base/gps-placement.md): GPS module placement, interference sources, and mounting best practices for reliable satellite reception and compass accuracy.
- [Communication Buses (I2C, SPI)](https://docs.arkelectron.com/knowledge-base/knowledge-base/communication-buses.md): I2C and SPI basics, a comparison of UART vs I2C vs SPI vs CAN, and why CAN wins for drones.
- [Recommended Tools](https://docs.arkelectron.com/knowledge-base/knowledge-base/recommended-tools.md): Essential bench tools for building, debugging, and maintaining drone electronics.
- [ST-LINK Flashing Guide](https://docs.arkelectron.com/knowledge-base/knowledge-base/st-link-flashing-guide.md): Guide for using ST-LINK to flash firmware and access the debug console on ARK products.
- [DroneCAN GUI Tool Guide](https://docs.arkelectron.com/knowledge-base/knowledge-base/dronecan-gui-tool-guide.md): Guide for using the DroneCAN GUI Tool to configure, update firmware, and monitor ARK DroneCAN devices.
- [PX4 Log Encryption](https://docs.arkelectron.com/knowledge-base/knowledge-base/px4-log-encryption.md): This section guides you through setting up log encryption in PX4 on our flight controllers, and then explains how to access, decrypt, and view the encrypted logs.
- [PX4 Setup](https://docs.arkelectron.com/knowledge-base/knowledge-base/px4-setup.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.arkelectron.com/knowledge-base.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
