I’ve been trying to keep OVMS v3 firmware up-to-date and compatible with the latest bleeding-edge ESP-IDF from Espressif, but it is proving too time consuming. Espressif keep changing things, breaking things, then un-breaking them, and it is starting to get frustrating. The latest Espressif commits have messed around with CR/LF line endings in the monitor terminal, and broken SD card support. The idea was to handle lots of little changes, rather than try to deal with them all in one big lump down the road, but it is just not working out. To try to speed things up, I’ve decided to standardise, for the moment, on the latest released ESP-IDF v2.1. With the commits today, the OVMS v3 firmware will cleanly build against this version only. If you are building OVMS, you should checkout this release of ESP-IDF as follows: $ git pull $ git checkout remotes/origin/release/v2.1 $ git submodule update —init $ git status HEAD detached at origin/release/v2.1 nothing to commit, working tree clean Then, you can ‘make clean’ and ‘make’ OVMS as usual. In other news, OTA is working (at least as a proof of concept). Here’s an OTA flash from VFS (SD card): OVMS > ota status Firmware: 3.0.0/factory/main build (idf v2.1-2-g7138fb0) Sep 5 2017 08:01:38 Running partition: factory Boot partition: factory OVMS > sd mount Name: SD Type: SDHC/SDXC Speed: default speed Size: 15120MB CSD: ver=1, sector_size=512, capacity=30965760 read_bl_len=9 SCR: sd_spec=2, bus_width=5 Mounted SD CARD OVMS > ota flash vfs /sdcard/ovms3.bin Current running partition is: factory Target partition is: ota_0 Source image is 798912 bytes in size Preparing flash partition... Flashing image partition... Setting boot partition... OTA flash was successfull Flashed 798912 bytes from /sdcard/ovms3.bin Next boot will be from ‘ota_0' OVMS > ota status Firmware: 3.0.0/factory/main build (idf v2.1-2-g7138fb0) Sep 5 2017 08:01:38 Running partition: factory Boot partition: ota_0 (reboot) OVMS > ota status Firmware: 3.0.0/ota_0/main build (idf v2.1-2-g7138fb0) Sep 5 2017 08:01:38 Running partition: ota_0 Boot partition: ota_0 This means that end-users can simply put an image on SD card, plug it in, and type a few simple commands on the console to get the image loaded and running. No need to install SDKs, or flashing tools. Just a simple USB console (and this will also work via wifi telnet console when ready). I’ve now got to get the automatic SD CARD mount on boot code working, and can then implement a quick check to see if a firmware image file is on SD card, then automatically flash that and reboot into OTA. Once that is done, all the user will have to do is copy a file to SD card, plug it in, and switch on. Regards, Mark.