diff --git a/README.md b/README.md
index 501d38de..a07a5ac4 100644
--- a/README.md
+++ b/README.md
@@ -52,3 +52,4 @@ After updating the firmware, you can access the status page again using the norm
[Hardware installation](docs/installation.md)
[Configuration](docs/configuration.md)
[Operation](docs/operation.md)
+[Building and Flashing the firmware](docs/building_flashing.md)
diff --git a/docs/building_flashing.md b/docs/building_flashing.md
new file mode 100644
index 00000000..6537f17e
--- /dev/null
+++ b/docs/building_flashing.md
@@ -0,0 +1,57 @@
+# Building the firmware
+You can get the latest release off of https://github.com/dingo35/SmartEVSE-3.5/releases, but if you want to build it yourself:
+* Install platformio-core https://docs.platformio.org/en/latest/core/installation/methods/index.html
+* Clone this github project, cd to the smartevse directory where platformio.ini is located
+* Compile firmware.bin: `platformio run` (or `pio run`)
+
+Following these instructions on Linux you would create firmware.bin in directory /path/to/SmartEVSE-3.5/SmartEVSE-3/.pio/build/release as follows:
+```
+sudo apt install platformio
+git clone https://github.com/dingo35/SmartEVSE-3.5.git
+cd SmartEVSE-3.5/SmartEVSE
+pio run
+```
+
+For versions older than v3.6.0, build the spiffs filesystem:
+* Compile spiffs.bin: `pio run -t buildfs`
+
+# Flashing the firmware
+1. Almost always, even when your webserver seems not to be working, the http://ipaddress/update link will be working;
+ this is the simplest way to flash your firmware; with the "Choose file" option you can flash any firmware[.debug].bin you downloaded or built.
+ When flashing firmware older then v3.6.0, you must also flash spiffs.bin this way.
+2. Alternatively, you can connect your SmartEVSE with a USB-C cable to your computer:
+ * Linux users: the device will present itself usually as /dev/ttyUSB0
+ * Windows users will have to install USB drivers https://www.silabs.com/de...o-uart-bridge-vcp-drivers
+
+ You can use the following flashing software:
+
+ 1. If you have installed platformio:
+ ```
+ pio run -t upload
+ ```
+
+ THIS IS THE PREFERRED WAY, because it also flashes your bootloader and the partitions.bin; so whatever you messed up, this will fix it!
+
+ For versions older than v3.6.0, upload the spiffs filesystem:
+
+ ```
+ pio run -t uploadfs
+ ```
+ 2. esptool:
+ ```
+ sudo apt install esptool
+ esptool --port /dev/ttyUSB0 write_flash 0x10000 firmware.bin
+ esptool --port /dev/ttyUSB0 write_flash 0x1c0000 firmware.bin
+ ```
+ 3. Flash it with a 3rd party tool:
+ A nice 3rd party tool can be found here: https://github.com/marcelstoer/nodemcu-pyflasher
+ Follow the instructions in the screenshot posted here: https://github.com/dingo35/SmartEVSE-3.5/issues/79
+ Remember to flash to both partitions, `0x10000` and `0x1c0000` !!!
+
+# I think I bricked my SmartEVSE
+Luckily, there are no known instances of people who bricked their SmartEVSE.
+
+Get your preferred firmware.bin from the asset zip you can download from https://github.com/dingo35/SmartEVSE-3.5/releases, and follow the
+instructions in [Flashing the firmware](#flashing-the-firmware).
+
+If all else fails, follow the [Building the Firmware](#building-the-firmware) instructions, and flash following the "pio run -t upload" path; always works!!!
diff --git a/docs/configuration.md b/docs/configuration.md
index 311940b3..6f3b9ea5 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -254,6 +254,14 @@ mosquitto_pub -h ip-of-mosquitto-server -u username -P password -t 'SmartEVSE-x
```
...where L1 - L3 are the currents in deci-Ampères. So 100 means 10.0A.
+Your EVMeter can be fed with:
+```
+mosquitto_pub -h ip-of-mosquitto-server -u username -P password -t 'SmartEVSE-xxxxx/Set/EVMeter' -m L1:L2:L3:P:E
+```
+...where L1 - L3 are the currents in deci-Ampères. So 100 means 10.0A.
+...where P is the Power in W,
+...where E is the Energy in Wh.
+
You can find test scripts in the test directory that feed EV and MainsMeter data to your MQTT server.
# Multiple SmartEVSE controllers on one mains supply (Power Share)
@@ -325,24 +333,3 @@ For further details, please refer to [serkri#215](https://github.com/serkri/Smar
* Beyond existing limits (Mains, MaxCircuit), the charging current will be controlled to ensure that the total of all Mains phase currents does not exceed the Capacity setting.
* If you are unfamiliar with this setting or do not fall under the applicable regulations, it is advisable to keep the setting at its default setting. (disabled)
-# Building the firmware
-You can get the latest release off of https://github.com/dingo35/SmartEVSE-3.5/releases, but if you want to build it yourself:
-* Install platformio-core https://docs.platformio.org/en/latest/core/installation/methods/index.html
-* Clone this github project, cd to the smartevse directory where platformio.ini is located
-* Compile firmware.bin: `platformio run` (or `pio run`)
-
-For versions older than v3.6.0, build the spiffs filesystem:
-* Compile spiffs.bin: `platformio run -t buildfs`
-
-If you are not using the webserver /update endpoint to upload the firmware:
-* Windows users: install USB drivers https://www.silabs.com/de...o-uart-bridge-vcp-drivers
-* Upload (flash) via USB configured in platformio.ini: `platformio run --target upload`
-* Upload spiffs.bin: `platformio run --target uploadfs` (not required for current versions)
-
-# I think I bricked my SmartEVSE
-Luckily, there are no known instances of people who bricked their SmartEVSE.
-But if all else fails, connect your SmartEVSE via USB-C to your laptop and follow the instruction https://github.com/dingo35/SmartEVSE-3.5/issues/79
-
-Another tool can be found here: https://github.com/marcelstoer/nodemcu-pyflasher
-
-Remember to flash to both partitions, `0x10000` and `0x1c0000` !!!