Step 1b: Flashing a Controller (ESP32) on Linux

The Inamata Flasher allows you to easily flash the latest firmware on your ESP32 and connect it with the server. You can install it directly from the Ubuntu store as a Snap app or from the GitHub releases page as a standalone executable. To install it for Windows see this guide. This guide only requires you having an ESP32 dev board, but a minimum set including LEDs and jumper cables is recommended (Amazon list). These will be used in the subsequent getting started guides.

Flasher Install #

The prefered method is to use the Snap install as this allows the application to automatically be updated to the latest version and also gives you improved security by sandboxing the application. The standalone install is useful if you don’t have Snap support installed (available by default on Ubuntu).

Snap Package #

Snap Installation

On Ubuntu or distros with Snap support installed, open the Ubuntu Software application and search for and install the Inamata Flasher application. Alternatively, from a command line run sudo snap install inamata-flasher. Optionally, to avoid having to log in repeatedly, run sudo snap connect inamata-flasher:password-manager-service.

Self-Contained Binary #

For any Linux installation, download the self-contained binary. For older versions and other platforms see the GitHub releases page. Enable execution by opening the file’s properties going to the permissions tab and enabling allow executing file as program. Alternatively, run the command chmod +x <path/to/file>. You can now double click the file to start the application.

Driver Setup #

Once the installation has completed you will manually have to join the dialout group to allow the application to flash microcontrollers. To do this open a terminal and run sudo usermod -a -G dialout $USER. Now logout and log back in or restart the computer for the permissions to be applied. To verify that you joined the group, run groups. Your should see dialout in the list. Further setup details on provided on the GitHub page.

Logging in and Flashing #

On starting the application you should be greeted by the above login page. If you have already started the web app and created an Inamata account, use the login button to log into your account. This should automatically open a browser tab with the login page. If this does not happen, copy the URL being displayed and open a new browser tab there manually. You should then be greeted by the following page.

Once you have logged in, press the Add Controller button. If you have not set up WiFi credentials for the controller to use, it will automatically open that page. Enter the WiFi name and passphrase that the microcontroller should connect to. Please ensure that it also supports 2.4GHz. On Ubuntu you can check this by going to WiFi Settings and clicking on the WiFi connection properties button. Under supported frequencies 2.4 GHz / 5 GHz or just 2.4 GHz should be listed.

After pressing Add WiFi Connection, it should lead you to the above add controller page. If you have multiple sites set up, select the appropriate site. Then, enter a name to be used for the controller. Select one or more (ctrl or shift click) WiFi connections to be added to the device. The newest firmware version will automatically be selected. If you want to use a specific version, select that now. Finally, press the Download & Flash button. Once the progress bar completes, the controller will automatically reboot and try to connect to the server.

Setting Up the Controller #

To setup the controller and verify that it connected to the server, open the web app. The table On the Controllers page in the Devices section lists all known controllers. Your controller should show up here and if a date is specified in the first connect column, your controller has successfully connected to the server. You can now continue with its setup, for example with the Turning on Your First LED followed by Creating Your First Control Plan.

Troubleshooting #

If the controller does not connect after restarting it a few times, it is possible to view the controller’s debug log. Open a terminal, install minicom with sudo apt install minicom and then start it with minicom -b 115200 -D /dev/ttyUSB0. The output might directly state the problem and is useful when asking for support on the forum.

Next Steps #

You have successfully connected your first controller. Why don’t you configure it to turn on an LED with the Turning on Your First LED with an ESP32 guide.

Powered by BetterDocs

Leave a comment