Skip to content

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

Open
@todbot

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?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions