Embedded setup
Enigma supports the Lichuang Practical ESP32-S3 development board
(ESP32-S3-WROOM-1-N16R8) as a compact touch controller. Provisioning happens through
the desktop app; normal board-to-iPhone control then runs over the board's private Wi-Fi
network.
Download and verify firmware
Download these two matching assets from the same GitHub Release:
enigma-firmware-lichuang-esp32s3-vX.Y.Z.zipenigma-firmware-lichuang-esp32s3-vX.Y.Z.zip.sha256
Verify the ZIP before extracting it:
shasum -a 256 -c enigma-firmware-lichuang-esp32s3-vX.Y.Z.zip.sha256
The bundle contains a merged flash image, its ELF debug image, manifest.json, and
FLASHING.md. The manifest records the product version, release tag, commit, target,
flash address, filenames, and SHA-256 hashes.
Flash the board
Install espflash 4.5.0 or newer, extract the bundle, connect the board's USB-C port,
and run the command printed in its FLASHING.md file:
espflash write-bin 0x0 enigma-firmware-lichuang-esp32s3-vX.Y.Z.bin
Do not change the 0x0 address. The merged image already places the bootloader,
partition table, and application at their required offsets.
Provision the iPhone pairing identity
- Close serial monitors so they release the CH340K port.
- Connect the flashed board and iPhone to the Mac.
- Unlock the iPhone and approve Trust This Computer and Apple's modern pairing prompt when shown.
- In Enigma, refresh devices and choose Provision embedded board on the USB iPhone.
- Wait for the desktop to confirm that provisioning completed.
Connect and test
- Join the
Enigma-XXXXWi-Fi network shown on the board. The prototype password isenigma-setup; choose Use Without Internet if iOS asks. - Enter the prototype operator PIN
1234on the board. - Select a location and tap SET LOCATION.
- Tap RESTORE and confirm that the iPhone returns to real GPS before ending the session.
The board stores sensitive Apple pairing identities in ordinary NVS. Secure Boot and flash encryption are not enabled. Hold BOOT while resetting or powering on to clear pairing data before giving the board to another person.
See troubleshooting for provisioning and serial-port problems, and compatibility for the current qualification boundary.