Skip to content

ARK-Electronics/AM32

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

516 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AM32 — ARK Electronics fork

Firmware for ARM-based brushless ESC (electronic speed controllers).

This repository is a fork of upstream AM32 maintained by ARK Electronics. It tracks upstream capability while carrying ARK’s product line, refactor work, and test infrastructure.

Upstream This fork
Remote am32-firmware/AM32 ARK-Electronics/AM32
Product branch main ark-release
Focus Multi-vendor ESC firmware ARK targets + maintainability + CI

For stock AM32 releases, configurators, Discord, and community support, prefer am32.ca and the upstream project.


What this fork adds

Global refactor

Large control-path split out of a monolithic main.c into focused modules (runtime, settings, motor control helpers, and related MCU/F051 work). The goal is safer changes, clearer ownership of hot paths, and room for instrumentation without growing one file forever.

SITL (software-in-the-loop)

Native Linux build of the firmware against a simulated motor / bridge / battery, with DroneCAN over multicast UDP. Useful for protocol, startup, and logic tests without ESC hardware.

make arm_sdk_install   # once, for cross toolchain (SITL itself is host gcc)
make AM32_SITL_CAN
obj/AM32_AM32_SITL_CAN_*.elf --node-id 10 --verbose

HITL / Hardware-CI

In-the-loop bench automation for the ARK 4IN1 (and related F051 work): build/flash, drive the motor (Flight Stand and/or PX4 BDShot setups), read on-device performance counters over SWD, and produce metrics / pass-fail reports.


Branch model

Branch Role
ark-release ARK integration line — open product PRs here
main Mirrors / tracks upstream AM32 more closely
Feature branches Short-lived; rebase onto ark-release unless targeting pure upstream work

Build (make + GCC)

IDE project trees (Keil / MRS) are not maintained in this fork. Use the Makefile and the pinned xPack GNU Arm Embedded GCC (see make/tools.mk).

# Install the pinned Arm toolchain into tools/<os>/
make arm_sdk_install

# List / build targets (examples)
make targets
make -j$(nproc) ARK_4IN1_F051

Firmware objects land under obj/. MCU families supported by the build system include F051, F031, G071, E230, F415, F421, L431, G431, V203, G031, A153, and SITL — exact product names live in Inc/targets.h.

Optional static analysis / size helpers: scripts/ and make cppcheck / related targets.


Features (shared with upstream AM32)

  • Firmware upgrade via Betaflight passthrough, single-wire serial, or related tools
  • Servo PWM and DShot (300 / 600), including bi-directional DShot
  • KISS-style ESC telemetry
  • Variable PWM frequency and sinusoidal startup for larger motors
  • Multi-vehicle use with a flight controller; crawler-oriented builds exist upstream

Upstream feature docs and crawler notes: AM32 wiki / crawler hardware.


Configuration tools & stock firmware

These are upstream / community tools; they are not ARK-specific:

To put AM32 on a blank ESC you still need a matching MCU bootloader (ST-LINK / GD-LINK / CMSIS-DAP / AT-LINK, etc.), then flash application firmware with a configurator or one-wire serial path.


Hardware (typical for this fork)

ARK work centers on STM32F051 4-in-1 ESCs and related F051 targets, while the tree still builds the broader AM32 MCU set above. Upstream also documents STSPIN32F0, G071, GD32E230, AT32F415/F421, and others — see their hardware notes and compatibility charts.


Support

Topic Where
ARK / this fork ARK-Electronics/AM32 issues and PRs on ark-release
Upstream AM32 Discord, Patreon, am32.ca

License

GPL-3.0 — see LICENSE. Same license family as upstream AM32.


Upstream credits

AM32 exists because of its authors, sponsors, and community. This fork inherits that work; see the upstream README for the full sponsor and contributor lists.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 91.1%
  • Assembly 4.4%
  • CSS 1.7%
  • Python 1.4%
  • HTML 0.8%
  • C++ 0.3%
  • Other 0.3%