diff --git a/README.md b/README.md
index 262d019734a3447533af0d99d3359aa85eb04a19..82f8280dbf8b5e8662bb382c71c39b804b818c89 100644
--- a/README.md
+++ b/README.md
@@ -3,6 +3,7 @@ CyanLight
 
 Simple `PT4115`-BreakoutBoard, initially designed for my special 490 nm LED but may also be used for generic projects
 
+If you want to know more about `CyanBus`, `CyanLight`'s new animation protocol suite on top of `RS485` just goto [the documentation of SiliconTorch](SiliconTorch/README.md) !
 
 Pinout
 ------
@@ -106,6 +107,11 @@ Both protocols share the same basic concept: Time critical animation data is sen
 **[TODO!]**
 
 
-### The `IrDA` protocol
+### ~~The `IrDA` protocol~~
 
-**[TODO!]**
+There won't be any `IrDA` as R&D discovered the following problems:
+
+- The "classical" low-bandwidth chips for e.g. TV remotes aren't usable for UART communication. At `9600 Baud` there is half text half garbage, at `4800 Baud` we got 2-3 wrong chars per line (~40 chars).
+- **ANY** higher-bandwidth `IrDA` chips are either very expensive (8$ for `LT1328` IF you even get one) and the `16 MBaud` ones are completely ungettable and 2-3x more expensive!
+
+**⇨ `IrDA` is unfeasible!**
diff --git a/SiliconTorch/README.md b/SiliconTorch/README.md
index fe263b9b0c0772cdaa860e328c771e424ba45026..06f112e4c045e480d04178d7d9a3e927780b6221 100644
--- a/SiliconTorch/README.md
+++ b/SiliconTorch/README.md
@@ -1,6 +1,27 @@
 SiliconTorch
 ============
 
-`SiliconTorch` is the `python` reference implementation for the `fxCyanF`-protocol
+`SiliconTorch` is:
+
+- `CyanBus` library for `ESP32` (client) and `Python` (server)
+- `fxCyan` animation protocol library for `ESP32` (client) and `Python` (client/server)
+- its own adapter to the [Weaponsmith](https://git.c3pb.de/jonsen/weaponsmith) eco system
 
 It will be moved to a separate repo when it matures
+
+
+Protocol documentation
+----------------------
+
+Documentation of the used (network-)protocols inside of `SiliconTorch`
+
+
+### `CyanBus`
+
+`CyanBus` will be the main working horse of `SiliconTorch`.
+
+It consists of a `RS485` and a `MQTT` layer, the first for real-time animation data and the second one for signalling.
+
+`RS485` packets look like below, `CRC` is calculated over payload only.
+
+![fxCyan envelope bytefields](doc/fxCyan.svg)
diff --git a/SiliconTorch/doc/fxCyan.edn b/SiliconTorch/doc/fxCyan.edn
new file mode 100644
index 0000000000000000000000000000000000000000..e63e4e7481e982f2a0cdcbdf0471b4e2bca3288f
--- /dev/null
+++ b/SiliconTorch/doc/fxCyan.edn
@@ -0,0 +1,9 @@
+
+;; This is bytefield-svg code to describe the fxCyan packet envelope
+
+(draw-column-headers)
+(draw-box "b'fxCyan'" {:span 6})
+(draw-box "Size" {:span 2})
+(draw-gap "Payload")
+(draw-box "CRC-XY" {:span 4})  ;; TODO: Which CRC algorithm exactly???
+(draw-bottom)
diff --git a/SiliconTorch/doc/fxCyan.svg b/SiliconTorch/doc/fxCyan.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5e4b52a75ab89bdce5ba3942eb01f591ef666178
--- /dev/null
+++ b/SiliconTorch/doc/fxCyan.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0" width="681" height="146" viewBox="0 0 681 146" ><text x="60" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >0</text><text x="100" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >1</text><text x="140" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >2</text><text x="180" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >3</text><text x="220" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >4</text><text x="260" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >5</text><text x="300" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >6</text><text x="340" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >7</text><text x="380" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >8</text><text x="420" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >9</text><text x="460" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >a</text><text x="500" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >b</text><text x="540" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >c</text><text x="580" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >d</text><text x="620" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >e</text><text x="660" y="8" font-family="Courier New, monospace" font-size="11" dominant-baseline="middle" text-anchor="middle" >f</text><line x1="40" y1="15" x2="280" y2="15" stroke="#000000" stroke-width="1" /><line x1="40" y1="45" x2="280" y2="45" stroke="#000000" stroke-width="1" /><line x1="280" y1="15" x2="280" y2="45" stroke="#000000" stroke-width="1" /><line x1="40" y1="15" x2="40" y2="45" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="160" y="31" text-anchor="middle" dominant-baseline="middle" >b'fxCyan'</text><line x1="280" y1="15" x2="360" y2="15" stroke="#000000" stroke-width="1" /><line x1="280" y1="45" x2="360" y2="45" stroke="#000000" stroke-width="1" /><line x1="360" y1="15" x2="360" y2="45" stroke="#000000" stroke-width="1" /><line x1="280" y1="15" x2="280" y2="45" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="320" y="31" text-anchor="middle" dominant-baseline="middle" >Size</text><line x1="360" y1="15" x2="680" y2="15" stroke="#000000" stroke-width="1" /><line x1="680" y1="15" x2="680" y2="45" stroke="#000000" stroke-width="1" /><line x1="360" y1="15" x2="360" y2="45" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="520" y="31" text-anchor="middle" dominant-baseline="middle" >Payload</text><text font-size="11" font-family="Courier New, monospace" font-style="normal" dominant-baseline="middle" x="35" y="30" text-anchor="end" >00</text><text font-size="11" font-family="Courier New, monospace" font-style="normal" dominant-baseline="middle" x="35" y="60" text-anchor="end" >10</text><line x1="40" y1="45" x2="40" y2="60" stroke="#000000" stroke-width="1" /><line x1="680" y1="45" x2="680" y2="60" stroke="#000000" stroke-width="1" /><line stroke-dasharray="1,1" x1="40" y1="60" x2="680" y2="90" stroke="#000000" stroke-width="1" /><line x1="680" y1="45" x2="680" y2="90" stroke="#000000" stroke-width="1" /><line stroke-dasharray="1,1" x1="40" y1="70" x2="680" y2="100" stroke="#000000" stroke-width="1" /><line x1="40" y1="70" x2="40" y2="100" stroke="#000000" stroke-width="1" /><line x1="40" y1="100" x2="40" y2="115" stroke="#000000" stroke-width="1" /><line x1="680" y1="100" x2="680" y2="115" stroke="#000000" stroke-width="1" /><text font-size="11" font-family="Palatino, Georgia, Times New Roman, serif" font-style="italic" dominant-baseline="middle" x="35" y="130" text-anchor="end" >i+<tspan font-size="11" font-family="Courier New, monospace" font-style="normal" dominant-baseline="middle" >00</tspan></text><line x1="40" y1="115" x2="200" y2="115" stroke="#000000" stroke-width="1" /><line x1="40" y1="145" x2="200" y2="145" stroke="#000000" stroke-width="1" /><line x1="200" y1="115" x2="200" y2="145" stroke="#000000" stroke-width="1" /><line x1="40" y1="115" x2="40" y2="145" stroke="#000000" stroke-width="1" /><text font-size="18" font-family="Palatino, Georgia, Times New Roman, serif" x="120" y="131" text-anchor="middle" dominant-baseline="middle" >CRC-XY</text><line x1="40" y1="115" x2="680" y2="115" stroke="#000000" stroke-width="1" /></svg>
\ No newline at end of file