obnizOS Installation

Installations are different for each device.
This page is for ESP32.

Supported Devices

Find supported devices at Support Device List

Flashing obnizOS

You can choose flashing method

  1. Use obniz_cli
  2. Use esptool from Espressif
  3. Use Windows GUI tool from Espressif


obniz_cli is python library for flashing obnizOS via UART.
It require Python 3.4 and pip.
Please refer usage at https://github.com/obniz/obniz_cli.
Below is a copy of that instruction.

First, install from pip.

pip install obniz_cli

Connect a target device to your pc by using serial.

Possibly you need to install device driver to your PC. Commonly this drive is used in various devices https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers. Please refer your device document.

Enter flash mode by typing below command.

obniz_cli flashos

It will show serial port list. Choose a one of your serial which is connected to your target device.

 0: /dev/tty.SLAB_USBtoUART

Type a list number, then obniz_cli will start flashing. It will print a result like below when succeeded.

esptool.py v2.1
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision (unknown 0xa))
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 10896 bytes to 7632...
Wrote 10896 bytes (7632 compressed) at 0x00001000 in 0.7 seconds (effective 128.7 kbit/s)...
Hash of data verified.
Compressed 857232 bytes to 571555...
Wrote 857232 bytes (571555 compressed) at 0x00010000 in 50.4 seconds (effective 136.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 137...
Wrote 3072 bytes (137 compressed) at 0x00008000 in 0.0 seconds (effective 1371.7 kbit/s)...
Hash of data verified.

Hard resetting...

If fail, try to change flashing speed more slower. It depends a device. By default, It is configured to 921600bps. Pass -b 115200 to slow down. Next, check your device driver is installed correctly.

(example of 115200bps)
obniz_cli flashos -b 115200

Write a DeviceKey

Device Key is a unique identifier for each device. One device need one device key. Devicekey also include uniqe number named obnizId.

Write via serial

Writing a devicekey is done via serial.
After flashos, automatically start communication with your device.

If you want to another way, below command will start communication with your device./dev/tty.SLAB_USBtoUART is what you seen at first step of obniz_cli. It is a name of serial port. Baud rate is fixed to 115200.

python -m serial.tools.miniterm /dev/tty.SLAB_USBtoUART 115200

Your device is waiting for devicekey.
Press Enter, then it will print DeviceKey:.


If you reset your device while connected. It will print like below.

obniz ver: 2.0.0

So your device is waiting for devicekey.

Downloaded your devicekey is a string like below.


Just copy and paste. Your device store it. Then devicekey configration is finished.

Network Setup

See Network Setup