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

# Build Custom MinimalPad Firmware with GitHub Actions

> Fork the MinimalPad firmware repo and let GitHub Actions compile your custom firmware. No local ZMK environment or command-line tools required.

To change what a configurator can't, such as the dial rotation or firmware macros, you build your own firmware. GitHub Actions compiles it for you in the cloud, so you don't need a ZMK development environment or build tools on your computer.

## What is a fork?

A **fork** is your own copy of a GitHub repository. When you fork the MinimalPad firmware repository, you get your own version at `https://github.com/YOUR-USERNAME/zmk-config-minimalpad`. Changes in your fork only affect your copy.

<Tip>
  GitHub's web editor is enough for small changes such as the encoder rotation. You don't need Git or any other setup on your computer.
</Tip>

## Steps

<Steps>
  <Step title="Sign in to GitHub">
    Go to [github.com](https://github.com) and sign in. If you don't have an account, create a free one. You don't need a paid plan to build the firmware.
  </Step>

  <Step title="Fork the firmware repository">
    Open the [firmware repository](https://github.com/TimoWielink/zmk-config-minimalpad), click **Fork** in the top-right corner, then click **Create fork**.
  </Step>

  <Step title="Enable Actions on your fork">
    In your fork, click **Actions**. GitHub turns workflows off in a new fork, so click **I understand my workflows, go ahead and enable them**.
  </Step>

  <Step title="Make your changes">
    Edit the firmware files in your fork. [Advanced customization](/firmware/advanced) explains which files to change.

    In the web editor, open a file, click the pencil icon, make your change and click **Commit changes**. If you use Git on your computer, push your changes to the `main` branch of your fork.
  </Step>

  <Step title="Wait for the build">
    A push that changes the firmware starts a build. To start one yourself, click **Actions**, select **Build ZMK firmware** and click **Run workflow**.

    A build takes a few minutes. A green check mark means it succeeded. A red ✕ means something went wrong: click the run to see the error.
  </Step>

  <Step title="Download the firmware">
    Click the finished run and scroll to **Artifacts** at the bottom of the page. Click the file listed there to download it. It is a `.zip` file. Unzip it to get `minimalpad_with_studio.uf2`.
  </Step>

  <Step title="Flash the firmware">
    Flash `minimalpad_with_studio.uf2` with the steps in [Update the firmware](/firmware/update), starting from **Connect MinimalPad to your computer**.
  </Step>
</Steps>

<Note>
  Keys you changed and saved from a configurator keep that setting after you flash, even if you change them in the keymap file. Change those keys in the configurator instead.
</Note>
