Skip to content

Commit

Permalink
add efuse note to readme
Browse files Browse the repository at this point in the history
  • Loading branch information
tcsullivan committed Apr 4, 2024
1 parent 3171435 commit 56ea0a1
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions noisemeter-device/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,33 @@ const char* API_TOKEN = "Your API token here";

## Code compiling and upload

### PlatformIO

1. [Install PlatformIO](https://platformio.org/install).

2. Run `pio run` to compile for the PCB. A breadboard target is available too: `pio run -e esp32-breadboard`.

3. Run `pio run -t upload` to upload to the device (this also compiles the code if there have been any changes).

### Arduino

1. Install the Arduino IDE and [follow these instructions](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html) to add support for ESP32 microcontrollers.

2. Under "Tools" > "Board: " > "ESP32 Arduino", select either "ESP32C3 Dev Module" for the PCB boards or "ESP32-WROOM-DA Module" for the ESP32 breadboard prototype.

3. Compile the sketch and upload it to the device.

## HMAC encryption key

Data stored on the device (e.g. WiFi credentials) are encrypted with an "eFuse" key. This key can only be written once, and is not be read or written after that.

Using PlatformIO:

```bash
dd if=/dev/urandom of=hmac_key bs=1 count=32
pio pkg exec -- espefuse.py --port /dev/ttyACM0 burn_key BLOCK4 hmac_key HMAC_UP
```

# Operating Instructions:

- Power on the device by connecting it to power. The device should start in Hotspot mode.
Expand Down

0 comments on commit 56ea0a1

Please sign in to comment.