Skip to content

How to "compile in" code for a product? #10074

Description

@todbot

CircuitPython is old enough now that people (including myself) are selling products using it.
But installing the firmware for these products is pretty onerous for the end user:

  • Trigger UF2 bootloader
  • Install CircuitPython
  • Wait for CircuitPython to present CIRCUITPY drive
  • Copy over needed libraries to CIRCUITPY
  • Copy over settings.toml and code.py
  • Reset
  • Be sure to watch REPL in case you didn't copy the library files correctly!

In the case of RP2040/RP2350, we can at least use picotool to create a UF2 of a working system and distribute that.

But is there a way to do this for the general case? Those who make ESP32-based products would really benefit I think.

As a stopgap, I created #10073 to let us freeze-in some functionality, maybe a glorified "hello world" that shows the unit works. But it would be really neat if I could tell the CircuitPython build system "here's a directory, make it the CIRCUITPY drive". I realize this may need some help from the platform-specific UF2 bootloaders, but maybe do-able?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions