npm.io
0.16.0 • Published 2d ago

@mikrojs/firmware

Licence
MIT
Version
0.16.0
Deps
3
Size
9.9 MB
Vulns
0
Weekly
0
Stars
10

@mikrojs/firmware

ESP32 firmware package for Mikro.js. Provides the ESP-IDF integration, build system, and platform-specific modules (GPIO, WiFi, HTTP, etc.) needed to run Mikro.js on ESP32 chips.

What's included

  • project.cmake - CMake module that integrates with ESP-IDF. Handles component discovery, SDK config merging, and partition table defaults.
  • components/mikrojs/ - ESP-IDF component that compiles the Mikro.js runtime, QuickJS engine, and platform-specific C modules.
  • Default configs - sdkconfig.defaults and partitions.csv for common setups.

Usage

A custom firmware project depends on this package and includes project.cmake (resolved via resolve.js, see the docs below for the CMakeLists boilerplate):

my-firmware/
├── package.json          # depends on @mikrojs/firmware
├── CMakeLists.txt        # resolves and includes project.cmake via resolve.js
└── main/                 # optional: omit it and the package's default main
    ├── CMakeLists.txt    # (which calls MIK_Main()) is used automatically
    └── main.cpp

See the Custom Firmware docs for details.

Requirements

  • Node.js >= 24
  • ESP-IDF >= 6.0.1 (installed via EIM)

To build, activate ESP-IDF in your shell first: run eim select and source the activation script it prints, then use idf.py as usual.

Keywords