For makers

Publish your project once. People flash the right build for their board in one click, and your issues stop filling up with flashing questions. It is free.

Publish a project

How to publish

  1. Sign in with GitHub or Google.
  2. Create a project: title, boards, photos, parts list and build guide.
  3. Upload firmware files or link a GitHub repository.
  4. Send it for review. A moderator checks new projects once, then your updates go out right away.

What you get

Builds per variantUpload a build for each board variant. Chipnik shows people a picture of each variant and flashes the right one.
GitHub releasesLink your repository. New releases become version drafts automatically, you press Publish.
Flash statisticsHow many people flashed it, on which boards and variants, and how often it went fine.
README badgeA Flash on Chipnik badge for your README. People click it and land on the Flash button.
FreePublishing and flashing cost nothing.

What a project needs

Firmware files.bin files with their offsets, or a GitHub release with chipnik.json.
A build guideParts list and steps: what to connect and how, so people can repeat it.
A licenseAny open license, or closed source. It is shown on the project page.

Moderation

First publicationA moderator checks every new project once before it goes public.
New versionsA new stable version spends 24 hours in beta first, then becomes the default for everyone.

Import from GitHub

Chipnik reads only the public releases of your repository. The repository must belong to your GitHub account.

From a release to a flashed board

  1. Release

    You publish release v1.0.0 on GitHub with the .bin files and chipnik.json.

  2. Project page

    Chipnik imports it, and the new version appears on the project page.

  3. Board choice

    Someone opens the page and picks their variant, for example the CYD with two USB ports.

  4. Install

    They press Flash, and the build for that variant is written to the board.

Open a demo project

Describing builds in a release

Put a chipnik.json file next to the .bin files in your GitHub release. A release with an ESP Web Tools manifest.json also works when the project has one board.

{
  "improv": false,
  "builds": [
    {
      "board": "esp32-2432s028",
      "variant": "st7789",
      "parts": [
        { "path": "bootloader.bin", "role": "bootloader", "offset": 4096 },
        { "path": "partitions.bin", "role": "partition-table", "offset": 32768 },
        { "path": "firmware.bin", "role": "app", "offset": 65536 }
      ]
    }
  ]
}