> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hlaboratories.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ACB Programming

> How to program the ACB v2.0

# Programming

To program with the USB-C connector you need to hold down the button on the ACB while powering it up. This will put the STM32 into DFU mode where you can program it directly with the Arduino IDE (or other software of your choice). It's also possible to flash the board using the [OpenActuator](https://github.com/h-laboratories/open-actuator) GUI from the tools menu and selecting a precompiled binary.

<img src="https://mintcdn.com/hlabs/twZ25vCG-u34ujfA/images/acb_button.jpg?fit=max&auto=format&n=twZ25vCG-u34ujfA&q=85&s=969c715a8a6c68cd7a78ad04a804757f" alt="ACB button" height="200" noZoom className="rounded-lg" data-path="images/acb_button.jpg" />

You can find the open source software in the [acb-v2.0](https://github.com/h-laboratories/acb-v2.0/tree/main) repo and edit the source in src/. When editing the firmware there is potential to cause damage to either the ACB, your motor, or power supply, as there's high current MOSFETs on the ACB. I reccomend using a current limiting PSU when testing.

Find more instructions and the future roadmap for the ACB firmware
