Skip to content

Compiling and Adjusting the firmware

Szybet edited this page Oct 2, 2024 · 32 revisions

Just before you start...

  • In Q&A I explained why this process is so complicated. If you want you can just use the demo binary.
  • As noted in the readme, if all of this is too much for you I can manage your personal firmware for a small coffe
  • the Q&A contains some answers to some questions, and the troubleshooting guide contains solving common problems, look it up too

Note for windows users:

If you don't want to use wsl:

Pre-note about errors

  • Don't worry about errors, warnings until they stop you from doing something. VScode and platformio is just pity and checks too fast for things and gets confused
  • Don't worry about platformio not being able to configure or something, platformio is stupid

Compiling

  1. Make sure you have docker installed and running on your system
    • Do not use docker desktop, ever. Use the regular docker engine via the terminal
    • And docker buildx
  2. Install Microsoft visual studio code, and in it the devcontainer extension.
  3. Get the repo, you can follow this tutorial here: https://www.youtube.com/watch?v=ILJ4dfOL7zs (You can't just download the zip file, you need the whole github repo)
  4. Open the repo (Directly this folder, not a parent folder. You should directly see the folders that are seen here not a single folder and then those files / folders in it.) in vscode and re-open in in devcontainer, you can do that as you will be prompted or go to view -> command pallete -> and type reopen in devcontainer. Then select the "default" devcontainer configuration. This step will install all needed dependencies.
  • Make sure you are actually in the devcontainer, you should see this:

image

  • If nothing appears on the taskbar bellow (There should be colorful buttons from me and some icons from platformio), make sure vscode extensions are installed, the list is here. It can take a while to install them, or you need to trigger it yourself. A little tutorial on that here
  • Don't do anything until the platformio notification on the right bottom side disappears.
  1. Select your platformio environment for your device, like that:

image

  1. Click the purple "Compile" button (not the one from platformio) that appeared on the taskbar on the bottom.

image

Then the "First build" button. It will setup everything and built it, after that you can use the provided platformio buttons / functions.

  1. Now you can use platformio buttons

image

(Hover over those buttons to get a hint about what they do)

  1. Now your watchy screen should change, but it's ugly. To upload resources, click this button:

image

Then "Flash filesystem" button

Further adjusting

To change / update / enable / disable some features you may need to re upload both the filesystem and the firmware. For example books, vault, images, fonts, watchface module images need re uploading the filesystem and the firmware too. Think of it like that, the firmware contains the logic and the filesystem contains the resources (as in data) for that logic to use.

Now continue to other wiki pages for further guidance or contact me directly for questions