diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle
index fc06bd3fd53069e9c17089c9ccf70e9300d54479..d8334135f0ed4c5adc033502222c9b37045fc315 100644
Binary files a/doc/build/doctrees/environment.pickle and b/doc/build/doctrees/environment.pickle differ
diff --git a/doc/build/doctrees/index.doctree b/doc/build/doctrees/index.doctree
index e5db6f599715ceca5ab03251834caf6409b382b6..95cb54e02f92af0201de828886c5f1231e683780 100644
Binary files a/doc/build/doctrees/index.doctree and b/doc/build/doctrees/index.doctree differ
diff --git a/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_02.doctree b/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_02.doctree
index a31a2a4a70f6ed4b0dad4a3ddf2122af9c00323c..72f991a7a58907d9b43deabcbea6fa60799b27d3 100644
Binary files a/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_02.doctree and b/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_02.doctree differ
diff --git a/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_03.doctree b/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_03.doctree
index 136c7da98b05ccab8ffb45ec739be033a8b58e63..effb95c67c42d018fc570322ba67fb9bdf154911 100644
Binary files a/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_03.doctree and b/doc/build/doctrees/source_rst/V2023.x.x/V2023_step_03.doctree differ
diff --git a/doc/build/doctrees/source_rst/developing_hardware_components.doctree b/doc/build/doctrees/source_rst/developing_hardware_components.doctree
new file mode 100644
index 0000000000000000000000000000000000000000..115d0129a2d1ca304d5c08d0fb80afe6f947d5f4
Binary files /dev/null and b/doc/build/doctrees/source_rst/developing_hardware_components.doctree differ
diff --git a/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree b/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree
index 1322858b88f4bd093f11f25f6d831a74a4b0289c..58b3cec9414e338bb08a07b9037e4811b8ae4bba 100644
Binary files a/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree and b/doc/build/doctrees/source_rst/v1.xx/V1_01.doctree differ
diff --git a/doc/build/doctrees/source_rst/v1.xx/V1_02.doctree b/doc/build/doctrees/source_rst/v1.xx/V1_02.doctree
index aa197d0ba2b8b70ae1f4d0393a37d6ff6b55cdff..266ee95ac39e61c8ac36c9455adf5ee9f3c661f1 100644
Binary files a/doc/build/doctrees/source_rst/v1.xx/V1_02.doctree and b/doc/build/doctrees/source_rst/v1.xx/V1_02.doctree differ
diff --git a/doc/build/html/_sources/index.rst.txt b/doc/build/html/_sources/index.rst.txt
index eadff7d22eaefe5be13cbd763b1fac76a41fa219..69402149bb4fcbc75d752e8a45db0036d9acd391 100644
--- a/doc/build/html/_sources/index.rst.txt
+++ b/doc/build/html/_sources/index.rst.txt
@@ -39,6 +39,7 @@ Contents:
    source_rst/V2023.x.x/V2023
    source_rst/V2024.x.x/V2024
    source_rst/api
+   source_rst/developing_hardware_components.rst
   
 
   
diff --git a/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_02.rst.txt b/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_02.rst.txt
index ca79eaeb05e427b2a5fc56ffed080b5316cc7820..035548079dd75ba44c43270e318862d39412ab70 100644
--- a/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_02.rst.txt
+++ b/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_02.rst.txt
@@ -301,7 +301,7 @@ which allows to realize precise current measurement around a shunt resistor. The
 +------------------------------------------------------------------------+
 
 .. csv-table:: List of components
-   :file: step_n_2/b/test_2_xx.csv
+   :file: ../../img/v2023.x.x/step_n_2/b/test_2_xx.csv
    :widths: 30, 70, 70, 70, 70, 35, 35
    :header-rows: 1
 
diff --git a/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_03.rst.txt b/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_03.rst.txt
index c268d128380cdaf9e750e66e02edff5dfd22acfd..f77e9b5e8786204fb5e14c6ca00e47abe022c22f 100644
--- a/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_03.rst.txt
+++ b/doc/build/html/_sources/source_rst/V2023.x.x/V2023_step_03.rst.txt
@@ -30,7 +30,7 @@ Required components
 
 
 .. csv-table:: List of components
-   :file: step_n_3/a/MUX_board_list_2_xx.csv
+   :file: ../../img/v2023.x.x/step_n_3/a/MUX_board_list_2_xx.csv
    :widths: 30, 70, 70, 70, 70, 35, 35
    :header-rows: 1 
    
diff --git a/doc/source/developing_hardware_components.rst b/doc/build/html/_sources/source_rst/developing_hardware_components.rst.txt
similarity index 100%
rename from doc/source/developing_hardware_components.rst
rename to doc/build/html/_sources/source_rst/developing_hardware_components.rst.txt
diff --git a/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt b/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt
index 3c8d95940b68fcd85dd5ff435d394a3a4e4cfaf4..1829d683ca5e110f3d9303c8da9b71c403096b29 100644
--- a/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt
+++ b/doc/build/html/_sources/source_rst/v1.xx/V1_01.rst.txt
@@ -524,7 +524,7 @@ Complete list of components
 
 
 .. csv-table:: Table Title
-   :file: list.csv
+   :file: ../../bom_list/list.csv
    :widths: 30, 70, 70, 70, 70,70
    :header-rows: 1
 
diff --git a/doc/build/html/_sources/source_rst/v1.xx/V1_02.rst.txt b/doc/build/html/_sources/source_rst/v1.xx/V1_02.rst.txt
index 6dad02c86ccf2e61b98712c1b419467572497792..a486b855f6f4e36a316d04debb2b2876a9066277 100644
--- a/doc/build/html/_sources/source_rst/v1.xx/V1_02.rst.txt
+++ b/doc/build/html/_sources/source_rst/v1.xx/V1_02.rst.txt
@@ -64,7 +64,7 @@ For this step, the installation instructions are well described on the Raspberry
 .. note:: 
      All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:
 
-     .. figure:: raspbian_version.jpg
+     .. figure:: ../../img/raspbian_version.jpg
        :width: 800px
        :align: center
        :height: 400px
@@ -164,7 +164,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 2- Thonny opens, Python runs on the root (Python 3.7.3 (/usr/bin/python3))
 
-.. figure:: thonny_first_interface.jpg
+.. figure:: ../../img/thonny_first_interface.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -173,7 +173,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 3-Click on **Run>select interpreter**, a new window opens click on interpret
 
-.. figure:: thonny_option.jpg
+.. figure:: ../../img/thonny_option.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -182,7 +182,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 4-On the new open windows select **alternative Python3 or virtual environment**
 
-.. figure:: thonny_interpreter.jpg
+.. figure:: ../../img/thonny_interpreter.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -195,7 +195,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 7- In the **known interpreter** tab the path of the virtual environment should appear
 
-.. figure:: thonny_interpreter_folder.jpg
+.. figure:: ../../img/thonny_interpreter_folder.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -253,7 +253,7 @@ We also added 4 capacitors on the +12v inputs of the fast operational amplifiers
 between each power supply terminal and ground. The last point, we have added a four very high resistances of 10 MOhm, between the ground and 
 the signal input on the operational amplifiers. This prevents the operational amplifiers from overheating.
 
-.. figure:: schema_measurement_board1_02.png
+.. figure:: ../../img/v1.xx/schema_measurement_board1_02.png
    :width: 800px
    :align: center
    :height: 400px
@@ -317,7 +317,7 @@ Once all the components have been soldered together, the measurement board can b
 battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to 
 place a fuse holder with a 1.5-A fuse for safety purposes.
 
-.. figure:: measurement_board1-02.jpg
+.. figure:: ../../img/v1.xx/measurement_board1-02.jpg
    :width: 800px
    :align: center
    :height: 700px
@@ -326,7 +326,7 @@ place a fuse holder with a 1.5-A fuse for safety purposes.
 
    Measurement circuit board assembly: a) printed circuit board, b) adding the 1-KOhm resistors ± 1%, c)adding the 1.5-KOhm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers
    
-.. figure:: measurement_board-2-V1-02.jpg
+.. figure:: ../../img/v1.xx/measurement_board-2-V1-02.jpg
    :width: 800px
    :align: center
    :height: 700px
@@ -350,7 +350,7 @@ the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by t
 the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, 
 they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.
 
-.. figure:: current_board.jpg
+.. figure:: ../../img/v1.xx/current_board.jpg
    :width: 800px
    :align: center
    :height: 400px
@@ -367,7 +367,7 @@ the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspbe
 shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively
 to terminals B and A of the measurement board.   
 
-.. figure:: installation_current_board_1_02.jpg
+.. figure:: ../../img/v1.xx/installation_current_board_1_02.jpg
    :width: 800px
    :align: center
    :height: 700px
@@ -404,7 +404,7 @@ configuration enables making smaller multiplexers (8 or 16 electrodes only). On
 which is entirely possible, a GPIO channel multiplier will have to be used. 
 To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.
 
-.. figure:: multiplexer_implementation.jpg
+.. figure:: ../../img/v1.xx/multiplexer_implementation.jpg
    :width: 800px
    :align: center
    :height: 500px
@@ -423,7 +423,7 @@ Once the operation has been completed, the 16 control pins of each 16-channel re
 for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi,
 see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.
  
- .. figure:: connection.jpg
+ .. figure:: ../../img/v1.xx/connection.jpg
    :width: 800px
    :align: center
    :height: 400px
@@ -465,7 +465,7 @@ At this point, all that remains is to connect the electrodes of each multiplexer
 According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming 
 connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.
 
-.. figure:: cable.jpg
+.. figure:: ../../img/v1.xx/cable.jpg
    :width: 800px
    :align: center
    :height: 300px
@@ -478,7 +478,7 @@ the next figure provides an example of multiplexer relay connections for electro
 must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. 
 This operation must be repeated for all 32 electrodes.
 
-.. figure:: electrode_cable.jpg
+.. figure:: ../../img/v1.xx/electrode_cable.jpg
    :width: 800px
    :align: center
    :height: 800px
@@ -539,7 +539,7 @@ Complete list of components
 
 
 .. csv-table:: List of components
-   :file: list - 1_02.csv
+   :file: ../../bom_list/list - 1_02.csv
    :widths: 30, 70, 70, 70, 70,70
    :header-rows: 1
 
diff --git a/doc/build/html/developing_hardware_components.html b/doc/build/html/developing_hardware_components.html
index e28d5865e7ff16ca12eb7a98eedf6fa307785c9c..ed12e565423802e360a9832dc6136c1116e83712 100644
--- a/doc/build/html/developing_hardware_components.html
+++ b/doc/build/html/developing_hardware_components.html
@@ -44,6 +44,8 @@
 <li class="toctree-l1"><a class="reference internal" href="source_rst/Ohmpi.html">OhmPi project</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/v1.xx/V1_01.html">OhmPi V 1.01 (limited to 32 electrodes)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/v1.xx/V1_02.html">OhmPi V 1.02 (limited to 32 electrodes)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/V2023.x.x/V2023.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/V2024.x.x/V2024.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/api.html">API reference</a></li>
 </ul>
 
diff --git a/doc/build/html/genindex.html b/doc/build/html/genindex.html
index 789d4a25d0c477f67450bd4f4de42bd293158796..b092dc4d774a49dbe6761f742e181c6a09b6246d 100644
--- a/doc/build/html/genindex.html
+++ b/doc/build/html/genindex.html
@@ -46,6 +46,7 @@
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2023.x.x/V2023.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2024.x.x/V2024.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/api.html">API reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/developing_hardware_components.html">Software interface to new hardware components</a></li>
 </ul>
 
         </div>
diff --git a/doc/build/html/index.html b/doc/build/html/index.html
index d599edb287c877e78febbb6cb3948671096535aa..0710a34a6e04025d2738d333c362dda566dad8fe 100644
--- a/doc/build/html/index.html
+++ b/doc/build/html/index.html
@@ -48,6 +48,7 @@
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2023.x.x/V2023.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2024.x.x/V2024.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/api.html">API reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/developing_hardware_components.html">Software interface to new hardware components</a></li>
 </ul>
 
         </div>
@@ -155,6 +156,7 @@
 <li class="toctree-l1"><a class="reference internal" href="source_rst/api.html">API reference</a><ul class="simple">
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/developing_hardware_components.html">Software interface to new hardware components</a></li>
 </ul>
 </div>
 </section>
diff --git a/doc/build/html/objects.inv b/doc/build/html/objects.inv
index 563884303f8ca27ef05f71cc6597eab4f03aef54..3a79775be92018ddb7d39dabeed8654e352c3648 100644
Binary files a/doc/build/html/objects.inv and b/doc/build/html/objects.inv differ
diff --git a/doc/build/html/py-modindex.html b/doc/build/html/py-modindex.html
index ff96db771ecc208a5cf8ed96964c6fec67ede142..16a9f551e68dd18c19eb3733b4ae6a209296f102 100644
--- a/doc/build/html/py-modindex.html
+++ b/doc/build/html/py-modindex.html
@@ -53,6 +53,7 @@
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2023.x.x/V2023.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2024.x.x/V2024.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/api.html">API reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/developing_hardware_components.html">Software interface to new hardware components</a></li>
 </ul>
 
         </div>
diff --git a/doc/build/html/search.html b/doc/build/html/search.html
index 3e55a587805ee357a5fe66fe3933c2ff88673068..860e74ffe506119dbd714cfd7d12f5b635707ecd 100644
--- a/doc/build/html/search.html
+++ b/doc/build/html/search.html
@@ -49,6 +49,7 @@
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2023.x.x/V2023.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/V2024.x.x/V2024.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
 <li class="toctree-l1"><a class="reference internal" href="source_rst/api.html">API reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="source_rst/developing_hardware_components.html">Software interface to new hardware components</a></li>
 </ul>
 
         </div>
diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js
index 1512b69069adaf016b1492ac4d88c2a95e7fd5a9..c21c7d279d5fa6920133d7226def4409112134ad 100644
--- a/doc/build/html/searchindex.js
+++ b/doc/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["developing_hardware_components", "index", "source_rst/Ohmpi", "source_rst/V2023.x.x/V2023", "source_rst/V2023.x.x/V2023_step_01", "source_rst/V2023.x.x/V2023_step_02", "source_rst/V2023.x.x/V2023_step_03", "source_rst/V2023.x.x/V2023_step_04", "source_rst/V2024.x.x/V2024", "source_rst/api", "source_rst/v1.xx/V1_01", "source_rst/v1.xx/V1_02"], "filenames": ["developing_hardware_components.rst", "index.rst", "source_rst\\Ohmpi.rst", "source_rst\\V2023.x.x\\V2023.rst", "source_rst\\V2023.x.x\\V2023_step_01.rst", "source_rst\\V2023.x.x\\V2023_step_02.rst", "source_rst\\V2023.x.x\\V2023_step_03.rst", "source_rst\\V2023.x.x\\V2023_step_04.rst", "source_rst\\V2024.x.x\\V2024.rst", "source_rst\\api.rst", "source_rst\\v1.xx\\V1_01.rst", "source_rst\\v1.xx\\V1_02.rst"], "titles": ["Software interface to new hardware components", "OHMPI: Open source and open hardware resistivity-meter", "OhmPi project", "OhmPi V2023 (64 electrodes and 12V)", "<strong>STEP n\u00b01</strong> : Raspberry Pi  configuration", "<strong>STEP n\u00b02</strong>: Measurement board", "<strong>STEP n\u00b03:</strong> MUX board", "<strong>STEP n\u00b04:</strong> assemble the OhmPi", "OhmPi V2023 (64 electrodes and 12V)", "API reference", "OhmPi V 1.01 (limited to 32 electrodes)", "OhmPi V 1.02 (limited to 32 electrodes)"], "terms": {"r\u00e9mi": [1, 2], "clement": [1, 2], "vivien": [1, 2], "duboi": [1, 2], "nicola": [1, 2], "forquet": [1, 2], "inra": 2, "reversa": [2, 10, 11], "villeurbann": 2, "franc": 2, "yannick": [1, 2], "fargier": [1, 2], "ger": 2, "rro": 2, "univ": 2, "gustav": 2, "eiffel": 2, "ifsttar": 2, "lyon": 2, "h\u00e9l\u00e8ne": [1, 2], "guyard": [1, 2], "ig": 2, "grenobl": 2, "universit\u00e9": 2, "alp": 2, "olivi": [1, 2], "kaufmann": [1, 2], "arnaud": [1, 2], "watlet": [1, 2], "de": 2, "mon": 2, "belgium": 2, "guillaum": [1, 2], "blanchi": [1, 2], "ilvo": 2, "merelbek": 2, "julien": 2, "ganc": 2, "emil": 2, "gro": 2, "et": [2, 5], "al": 2, "an": [0, 2, 4, 5, 6, 7, 10, 11], "open": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "sourc": [0, 2, 4, 10, 11], "data": [1, 2, 3, 8], "logger": [2, 10, 11], "dedic": [2, 3, 8], "applic": [0, 2], "electr": [2, 5], "resist": [2, 3, 5, 7, 8], "imag": [2, 4], "small": [2, 3, 5, 7, 8, 10, 11], "laboratori": [2, 3, 7, 8, 10, 11], "scale": 2, "hardwarex": 2, "elsevi": 2, "2020": 2, "8": [2, 3, 4, 5, 6, 7, 8, 10, 11], "24": [2, 5, 7, 10, 11], "p": [2, 5], "ff10": 2, "1016": 2, "j": 2, "ohx": 2, "e00122ff": 2, "particip": [2, 3, 4, 5, 6, 7, 8, 10, 11], "all": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "requir": [0, 2, 3, 4, 7, 8, 10, 11], "skill": [2, 3, 4, 5, 6, 7, 8, 10, 11], "electron": [2, 3, 4, 5, 6, 7, 8, 10, 11], "respect": [2, 3, 4, 5, 6, 7, 8, 10, 11], "safeti": [2, 3, 4, 5, 6, 7, 8, 10, 11], "rule": [2, 3, 4, 5, 6, 7, 8, 10, 11], "must": [2, 3, 4, 5, 6, 7, 8, 10, 11], "assembl": [1, 2, 3, 4, 8], "profession": [2, 3, 4, 5, 6, 7, 8, 10, 11], "context": [2, 3, 4, 5, 6, 7, 8, 10, 11], "peopl": [2, 3, 4, 5, 6, 7, 8, 10, 11], "compet": [2, 3, 4, 5, 6, 7, 8, 10, 11], "The": [0, 1, 2, 4, 5, 6, 7], "team": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "cannot": [2, 3, 4, 5, 6, 7, 8, 10, 11], "held": [2, 3, 4, 5, 6, 7, 8, 10, 11], "respons": [2, 3, 4, 5, 6, 7, 8, 10, 11], "ani": [2, 3, 4, 5, 6, 7, 8, 10, 11], "materi": [2, 3, 4, 5, 6, 7, 8, 10, 11], "human": [2, 3, 4, 5, 6, 7, 8, 10, 11], "damag": [2, 3, 4, 5, 6, 7, 8, 10, 11], "which": [2, 3, 4, 5, 6, 7, 8, 10, 11], "would": [2, 3, 4, 5, 6, 7, 8, 10, 11], "associ": [2, 3, 4, 5, 6, 7, 8, 10, 11], "us": [2, 3, 4, 5, 6, 7, 8, 10, 11], "equip": [2, 3, 4, 5, 6, 7, 8, 10, 11], "doe": [2, 3, 4, 5, 6, 7, 8, 10, 11], "work": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "after": [2, 3, 4, 5, 6, 7, 8, 10, 11], "you": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "mai": [2, 3, 4, 8, 10, 11], "redistribut": 2, "modifi": [0, 2, 10, 11], "thi": [0, 2, 3, 4, 5, 6, 7, 8, 10, 11], "document": [2, 3, 8, 10], "make": [0, 2, 3, 6, 8, 10, 11], "product": [2, 5], "under": [2, 7, 10, 11], "term": [0, 2], "cern": 2, "ohl": 2, "v2": 2, "http": [3, 4, 5, 8, 10, 11], "ch": [], "distribut": 2, "without": [2, 6, 10, 11], "express": [0, 2], "OR": 2, "impli": [2, 6], "warranti": 2, "includ": [0, 2, 3, 4, 6, 8, 10, 11], "OF": 2, "merchant": 2, "satisfactori": 2, "qualiti": 2, "AND": 2, "fit": 2, "FOR": 2, "A": [0, 2, 3, 7, 8, 10, 11], "particular": 2, "purpos": [2, 7, 10, 11], "pleas": [2, 3, 7, 8, 10, 11], "see": [2, 3, 8, 10, 11], "condit": 2, "present": [0, 2, 6, 7, 10, 11], "develop": [0, 1, 2, 3, 4, 5, 8, 10, 11], "low": [2, 3, 8, 10, 11], "cost": [0, 2, 5, 11], "hardwar": [2, 10, 11], "meter": [2, 3, 7, 8, 10, 11], "provid": [2, 3, 8, 10, 11], "scientif": 2, "commun": [2, 3, 8], "robust": [2, 3, 8, 10, 11], "flexibl": 2, "tool": [2, 3, 8], "experi": [2, 3, 8, 10, 11], "call": [2, 3, 4, 6, 7, 8], "basic": [0, 2], "meterfeatur": 2, "current": [1, 2, 3, 5, 8], "inject": [1, 2, 3, 8], "measur": [1, 2, 3, 4, 6, 7, 8], "function": [0, 2, 3, 8, 10, 11], "multiplex": [1, 2, 3, 6, 7, 8], "allow": [2, 3, 5, 6, 8, 10, 11], "perform": [0, 2, 4, 10, 11], "automat": [2, 3, 8, 10, 11], "up": [2, 3, 4, 6, 8, 10, 11], "64": [1, 2, 6, 10, 11], "electrod": [1, 2, 5, 6, 7], "s": [2, 3, 5, 6, 8, 10, 11], "philosophi": [1, 2], "fulli": 2, "toolto": 2, "surfac": 2, "anyon": 2, "who": 2, "want": [2, 11], "get": [2, 3, 4, 5, 8, 10, 11], "involv": [2, 3, 8], "welcom": [0, 2], "join": 2, "ohmpi": [0, 4, 5, 6], "project": [0, 1, 3, 4, 5, 6, 7, 8, 10, 11], "compon": [1, 3, 4, 8], "quantiti": 4, "4": [3, 4, 5, 6, 8, 10, 11], "model": [4, 5, 10, 11], "micro": [3, 4, 8, 10, 11], "sd": [3, 4, 7, 8, 10, 11], "32": [1, 3, 4, 7, 8], "go": [3, 4, 6, 8], "hdmi": [4, 7], "cabl": [4, 5, 6, 7, 10, 11], "comput": [4, 10, 11], "mous": [4, 7, 10, 11], "keyboard": [4, 7, 10, 11], "first": [0, 3, 4, 6, 7, 8], "start": [0, 1, 3, 4, 6, 8, 10, 11], "board": [0, 3, 4, 7, 8], "oper": [0, 1, 4, 5, 7], "system": [0, 4, 10, 11], "For": [3, 4, 5, 6, 8, 10, 11], "instruct": [1, 3, 4, 8], "ar": [0, 3, 4, 5, 7, 8, 10, 11], "well": [3, 4, 8, 10, 11], "describ": [0, 4, 5, 7, 10, 11], "websit": [4, 10, 11], "watch": [4, 10, 11], "video": [4, 10, 11], "how": [4, 10, 11], "set": [3, 4, 5, 8, 10, 11], "your": [0, 4, 5, 6, 10, 11], "author": [1, 4, 10, 11], "recommend": [0, 3, 4, 8, 10, 11], "latest": [4, 10, 11], "stabl": [4, 10, 11], "complet": [1, 3, 4, 5, 8], "version": [0, 3, 4, 5, 8, 10, 11], "previous": [4, 7, 10, 11], "raspbian": [4, 10, 11], "can": [3, 4, 7, 8, 10, 11], "visit": 4, "raspberrypi": 4, "org": [3, 4, 8], "en": 4, "test": [0, 3, 4, 5, 6, 7, 8, 10, 11], "were": [4, 5, 10, 11], "3": [0, 3, 4, 5, 7, 8, 10, 11], "we": [3, 4, 5, 6, 8, 10, 11], "follow": [0, 3, 4, 5, 6, 7, 8, 10, 11], "onc": [3, 4, 8, 10, 11], "ha": [3, 4, 6, 8, 10, 11], "been": [3, 4, 6, 8, 10, 11], "wire": [4, 6, 7, 10, 11], "spi": [4, 10, 11], "gpio": [4, 6, 7, 10, 11], "remot": [3, 4, 8, 10, 11], "option": [3, 4, 8, 10, 11], "deactiv": [4, 10, 11], "i2c": [4, 5, 6], "via": [4, 10, 11], "gui": [4, 10, 11], "menu": [4, 10, 11], "failur": [4, 10, 11], "carri": [4, 10, 11], "out": [4, 7, 10, 11], "task": [4, 10, 11], "caus": [4, 10, 11], "relai": [4, 5, 6, 10, 11], "shield": [4, 10, 11], "card": [1, 3, 4, 6, 7, 8], "dure": [4, 10, 11], "wai": [0, 4, 10, 11], "have": [0, 3, 4, 5, 6, 8, 10, 11], "multipl": [3, 4, 8], "parallel": 4, "instanc": 4, "interpret": [4, 5, 10, 11], "each": [4, 6, 7, 10, 11], "differ": [3, 4, 5, 6, 7, 8, 10, 11], "contain": [3, 4, 7, 8, 10, 11], "discret": 4, "copi": [0, 3, 4, 8], "its": [3, 4, 6, 7, 8, 10, 11], "support": 4, "util": [3, 4, 8], "It": [0, 3, 4, 6, 8, 10, 11], "also": [0, 3, 4, 8, 10, 11], "protect": 4, "case": [0, 3, 4, 8, 10, 11], "problem": 4, "depend": [3, 4, 8, 10, 11], "specifi": [4, 10, 11], "txt": [3, 4, 8, 10, 11], "below": [3, 4, 7, 8, 10, 11], "should": [0, 3, 4, 5, 6, 7, 8, 10, 11], "type": [0, 3, 4, 6, 8, 10, 11], "termin": [3, 4, 5, 6, 7, 8, 10, 11], "necessari": [0, 4, 6, 7, 10, 11], "ensur": [4, 10, 11], "libatla": [4, 10, 11], "base": [0, 3, 4, 6, 8, 10, 11], "dev": [4, 10, 11], "librari": [4, 10, 11], "sudo": [4, 10, 11], "apt": [4, 10, 11], "strongli": [4, 10, 11], "user": [1, 3, 4, 8, 10, 11], "creat": [0, 3, 4, 8, 10, 11], "run": [3, 4, 5, 6, 7, 8, 10, 11], "code": [0, 4, 6, 10, 11], "done": [3, 4, 8, 10, 11], "either": [4, 10, 11], "directori": [0, 3, 4, 8, 10, 11], "gather": [4, 10, 11], "within": [0, 3, 4, 8, 10, 11], "python3": [4, 10, 11], "m": [4, 5, 6, 7, 10, 11], "venv": [4, 10, 11], "command": [3, 4, 8, 10, 11], "bin": [4, 10, 11], "suffici": [4, 10, 11], "meet": [4, 10, 11], "export": 4, "cflag": 4, "fcommon": 4, "pip": [4, 10, 11], "rpi": [4, 7, 10, 11], "adafruit": [4, 5, 6, 10, 11], "blinka": [4, 10, 11], "numpi": [3, 4, 8, 10, 11], "panda": [4, 10, 11], "circuitpython": [4, 10, 11], "ads1x15": [4, 10, 11], "tca9548a": [4, 6], "mcp230xx": 4, "gpiozero": 4, "check": [3, 4, 8, 10, 11], "met": [4, 10, 11], "list": [1, 4], "leav": [4, 10, 11], "simpli": [4, 7, 10, 11], "If": [0, 4, 5, 10, 11], "decid": [4, 10, 11], "setup": [4, 10, 11], "time": [3, 4, 6, 8, 10, 11], "softwar": [1, 4, 10, 11], "click": [4, 10, 11], "access": [3, 4, 7, 8, 10, 11], "program": [4, 7, 10, 11], "pythonid": [4, 10, 11], "2": [0, 3, 4, 6, 7, 8, 10, 11], "root": [4, 10, 11], "7": [4, 5, 6, 7, 10, 11], "usr": [4, 10, 11], "select": [4, 6, 10, 11], "new": [3, 4, 8, 10, 11], "window": [3, 4, 8, 10, 11], "On": [4, 10, 11], "altern": [4, 10, 11], "5": [3, 4, 5, 6, 7, 8, 10, 11], "button": [4, 10, 11], "appear": [4, 5, 6, 10, 11], "locat": [4, 10, 11], "anoth": [4, 10, 11], "execut": [3, 4, 8, 10, 11], "6": [4, 5, 6, 7, 10, 11], "find": [4, 10, 11], "folder": [4, 10, 11], "where": [0, 3, 4, 8, 10, 11], "file": [0, 4, 5, 10, 11], "home": [3, 4, 8, 10, 11], "In": [0, 3, 4, 5, 6, 8, 10, 11], "known": [4, 10, 11], "tab": [3, 4, 8, 10, 11], "path": [0, 4, 10, 11], "close": [4, 10, 11], "ok": [4, 10, 11], "9": [3, 4, 5, 6, 7, 8, 10, 11], "save": [4, 10, 11], "modif": [4, 7, 10, 11], "number": [3, 5, 8, 10, 11], "per": [5, 10, 11], "unit": [3, 5, 8, 10, 11], "total": [5, 10, 11], "manufactur": [5, 6], "refer": [1, 3, 5, 7, 8, 10, 11], "web": 5, "raspberri": [1, 3, 5, 6, 7, 8], "pi": [1, 3, 5, 7, 8], "1": [0, 1, 3, 5, 6, 7, 8], "58": 5, "75": 5, "www": [5, 10, 11], "mouser": 5, "fr": [5, 10, 11], "productdetail": 5, "seeed": 5, "studio": 5, "102110421": 5, "qs": 5, "7mvldsj5uaxen3lyyh3sqw": 5, "3d": 5, "lm158n": 5, "amp": 5, "o": [3, 5, 8, 10, 11], "14": [5, 6, 7], "texa": 5, "instrument": [3, 5, 8], "lm358an": 5, "nopb": 5, "lm158j": 5, "x1j7hmvl2zh8vpefml8": 5, "2ffq": 5, "print": [3, 5, 8, 10, 11], "circuit": [3, 5, 8, 10, 11], "12": [3, 5, 6, 7, 8, 10, 11], "asler": 5, "ads1115": [5, 10, 11], "11": [5, 7, 10, 11], "23": [5, 7, 10, 11], "1085": 5, "2fha2pyfaduh": 5, "2fogzutwiq9iz5vjaqfoyugqalgxpeckigrqvf4hn": 5, "252bg": 5, "capacitor": [5, 11], "100nf": [5, 11], "50vdc": [5, 11], "10": [3, 5, 6, 7, 8, 10, 11], "ceram": [5, 11], "0": [3, 5, 8, 10, 11], "kemet": 5, "c320c104k1": 5, "c320c104k1r5ta7303": 5, "c4uyot": 5, "2flq1th4mcyoetma": 5, "resistor": [5, 6, 10, 11], "kohm": [5, 6, 10, 11], "5w": 5, "te": 5, "connect": [1, 3, 5, 6, 7, 8], "h81k0bya": 5, "holsworthi": 5, "2fha2pyfaduhuylh7az": 5, "2fmjfh2xjoums6wztux4som": 5, "252bii": 5, "h81k5bya": 5, "2fha2pyfadugy9twham3ru9hmijohywhbin95knm": 5, "252bx": 5, "2fm": 5, "vishai": 5, "ccf071k50gke36": 5, "dale": 5, "qkeozdl6eqpa6lzrlqfvow": 5, "mohm": [3, 5, 8, 10, 11], "762": 5, "524": 5, "cmf651m0000fkek143": 5, "ciayqk2gdckzia2levalkg": 5, "ohm": [3, 5, 8, 10, 11], "shunt": 5, "42": 5, "ohmit": 5, "41f2r0e": 5, "im6toxqzgoauedprb19mha": 5, "dual": [5, 6, 10, 11], "screw": [5, 6, 7, 10, 11], "08": 5, "mm": [5, 7, 10, 11], "pitch": [5, 10, 11], "648": 5, "cui": 5, "devic": [0, 5], "tb009": 5, "508": 5, "02be": 5, "vlwxofp3u2wcfk5uckwtka": 5, "dc": [5, 10, 11], "convert": [5, 10, 11], "24v": 5, "15": [5, 7, 10, 11], "31": [5, 7], "16": [5, 6, 7, 10, 11], "tracopow": 5, "trn": 5, "1215": [5, 11], "traco": [5, 11], "power": [3, 5, 6, 7, 8, 10, 11], "yca": 5, "2faaymw02gquicgqj0ta": 5, "dip": [5, 6], "line": [5, 6, 10, 11], "socket": [5, 6], "72": 5, "mill": 5, "max": 5, "110": 5, "43": [5, 10, 11], "308": 5, "41": 5, "001000": 5, "iggadovctstu": 5, "2fqaur8narg": 5, "mgh": 5, "vip": 5, "gclid": 5, "eaiaiqobchmin_taxbcx8wivq5nvch2qaqfpeayyccabegjk1_d_bw": 5, "aqy211eh": 5, "84": 5, "36": [5, 7, 10, 11], "panason": 5, "industri": 5, "wktuvitrialgiu8hcm7dvq": 5, "449": 5, "796": 5, "preci": 5, "83": 5, "304": 5, "001101": 5, "2fha2pyfadujqkqx4wauig": 5, "2fmgndxmcnv": 5, "2f33nj0gbxroculucynpyong": 5, "mcp23008": 5, "593": 5, "sgaepimzzmskedp9slc0yyv4kpdpmd1hts4slctivmw": 5, "header": [5, 6, 10, 11], "1x10": 5, "samtec": 5, "ssw": 5, "02": [1, 5], "g": [5, 10, 11], "ru5fayqh": 5, "252be0w1orxzibqpw": 5, "smt": 5, "breakout": 5, "pcb": [0, 5, 6, 10, 11], "soic": 5, "1212": 5, "gurawfaegucaqqfvnvtyeg": 5, "eaiaiqobchmit8zjzr6x8wivgdnvch2vbwvseaqyayabegjqg_d_bw": 5, "ina282aid": 5, "ze4": 5, "2fufuz19ilfayzxocfra": 5, "thd": 5, "1211n": 5, "39": [5, 7, 10, 11], "2fha2pyfadugpyeg4idvm": 5, "2fmsr": 5, "252b7an": 5, "2f0t3ruis9pcaqjlt4": 5, "252bnrpuooeq": 5, "20": [5, 7, 10, 11], "53": 5, "ssq": 5, "120": 5, "d": [5, 10, 11], "252be1bmvd": 5, "252bdzonqg": 5, "pin": [5, 6, 10, 11], "strip": [5, 6, 7, 10, 11], "ejector": 5, "35": [5, 7], "blk": 5, "10120550": 5, "conrad": 5, "com": [3, 5, 8, 10, 11], "bkl": 5, "contact": [3, 5, 6, 8, 10, 11], "space": 5, "254": 5, "row": 5, "pc": 5, "741435": 5, "searchterm": 5, "searchtyp": 5, "suggest": [5, 6, 10, 11], "searchsuggest": 5, "male": [5, 6], "femal": [5, 10, 11], "spacer": [5, 7], "5m": [5, 7], "hexagonal": 5, "87": 5, "48": 5, "harwin": 5, "r25": 5, "3002002": 5, "w0yvoo0ixfenuv0hsdc4": 5, "2fq": 5, "86": 5, "437": 5, "1108331841001101": 5, "318": 5, "ftmup6kvi2tnqoeziaq": 5, "2fpa": 5, "figur": [3, 5, 8, 10, 11], "show": [5, 10, 11], "gener": [1, 3, 5, 6, 8, 10, 11], "schemat": [5, 11], "plug": [5, 10, 11], "plai": 5, "To": [3, 5, 6, 8, 10, 11], "two": [0, 3, 5, 6, 8, 10, 11], "one": [3, 5, 7, 8, 10, 11], "voltag": [3, 5, 7, 8, 10, 11], "propos": [5, 10, 11], "florsch": [5, 10, 11], "bit": [5, 10, 11], "adc": [5, 10, 11], "analog": [5, 10, 11], "digit": [5, 6, 10, 11], "adapt": [0, 3, 5, 8, 10, 11], "gain": [3, 5, 8, 10, 11], "advantag": 5, "input": [3, 5, 7, 8, 10, 11], "signal": [5, 10, 11], "valu": [5, 6, 10, 11], "could": [5, 7, 10, 11], "lie": [5, 10, 11], "between": [5, 6, 7, 10, 11], "114": [5, 10, 11], "v": [1, 3, 5, 7, 8], "directli": [5, 10, 11], "integr": 5, "ina282": 5, "realiz": 5, "precis": [5, 10, 11], "around": [3, 5, 8], "instal": [3, 5, 6, 7, 8], "solder": [5, 10, 11], "optic": 5, "suppli": [5, 6, 7, 10, 11], "12v": [1, 5, 6, 7, 11], "5v": [5, 10, 11], "tdh15": 5, "four": [3, 5, 8], "inpout": 5, "output": [3, 5, 7, 8, 10, 11], "three": [3, 5, 6, 8, 10, 11], "limit": [1, 3, 5, 8], "ma": [3, 5, 8, 10, 11], "higher": [5, 11], "than": [5, 10, 11], "just": [5, 11], "decreas": 5, "don": [3, 5, 8], "t": [3, 5, 8], "forget": [3, 5, 8], "chang": [0, 3, 5, 8], "config": [0, 3, 5, 8, 10, 11], "py": [0, 3, 5, 6, 8, 10, 11], "kei": 5, "r_shunt": 5, "ohmpi_config": 5, "dict": 5, "pre": [5, 7], "adjust": [5, 10, 11], "13": [5, 7, 10, 11], "17": [5, 7, 10, 11], "18": [3, 5, 7, 8, 10, 11], "19": [5, 7, 10, 11], "view": [5, 7], "fix": [5, 7], "dot": 5, "mark": [5, 7], "top": [3, 5, 7, 8], "left": [5, 7], "corner": 5, "21": [5, 7, 10, 11], "mount": [5, 6, 7, 10, 11], "22": [5, 7, 10, 11], "lm158": 5, "amplifi": [5, 10, 11], "ads115": [5, 10, 11], "right": [5, 7], "3x11": [], "wurth": [], "elektronik": [], "971110321": [], "305": [], "apm": [], "hexseal": [], "rm3x8mm": [], "2701": [], "jjse": [], "2f12mkns3vxsdryxuhw": [], "shutdown": 5, "unplug": 5, "bottom": [5, 10, 11], "11mm": 5, "m3": 5, "upper": 5, "port": [5, 7], "write": [0, 3, 5, 6, 8, 10, 11], "i2cdetect": [5, 6], "y": [5, 6], "everyth": 5, "address": [3, 5, 10, 11], "screen": [5, 10, 11], "equival": [5, 10, 11], "need": [3, 5, 6, 8, 10, 11], "1kohm": 5, "r2": [5, 10, 11], "220": 5, "r1": [5, 10, 11], "padboard": 5, "spool": 5, "prepar": [5, 6, 10, 11], "batteri": [3, 5, 7, 8, 10, 11], "red": [3, 5, 7, 8, 10, 11], "black": [5, 7, 10, 11], "ground": [5, 10, 11], "thonni": [3, 5, 8], "sample_measurement_exampl": 5, "exampl": [3, 5, 6, 7, 8, 10, 11], "result": [5, 10, 11], "channel": [6, 10, 11], "mechan": [3, 6, 8, 10, 11], "omron": 6, "g5le": 6, "vd": 6, "vdc": 6, "combin": 6, "zvn4206a": 6, "mofset": 6, "onli": [0, 6], "30": [6, 7, 10, 11], "enough": [6, 10, 11], "activ": [3, 6], "repres": [6, 10, 11], "512": 6, "expand": 6, "mcp23017": 6, "from": [3, 6, 7, 8, 10, 11], "128": [3, 6, 8], "own": 6, "0x70": 6, "0x77": 6, "0x71": 6, "0x72": 6, "0x73": 6, "140": [], "560": [], "62": [], "92": [], "1580994": [], "tru": [], "diod": 6, "1n4007": 6, "256": [], "091": [], "296": [], "incorpor": [3, 8], "sgaepimzzmueqxo7l": [], "2fbpyakboruumren": [], "56": [], "776": [], "205": [], "46": [], "103321": [], "5twgzeq9e7hsylqaljjyrw": [], "i": [3, 7, 8, 10, 11], "40": [3, 8, 10, 11], "732": [], "sgaepimzzmskedp9slc0yfx16nydmpxjueeogolbldi": [], "27": [7, 10, 11], "325": [], "over": [], "503811": [], "mosfet": 6, "nchannel": [], "471": [], "576": [], "vhuuswq2": [], "252bsz9b": [], "2ff6fcxt7g": [], "100k\u03c9": [], "061": [], "616": [], "beyschlag": [], "mba02040c1003frp00": [], "mzrxyrlhvdt9crf7zyf": [], "2f5q": [], "89": [], "2717": [], "sgaepimzzmsyydr3r27av4eqf73yoh": [], "252baqg": [], "252bz3hvktao": [], "10120558": [], "54": [], "No": [], "51": [], "741727": [], "10120862": [], "connector": [6, 7, 10, 11], "strain": [], "relief": [], "44": [], "742063": [], "10120158": [], "ribbon": 7, "x": [10, 11], "mm\u00b2": [10, 11], "multi": [3, 8, 10, 11], "colour": [], "1012015810": [], "127": [], "008": [], "1548658": [], "hex": 7, "25": [3, 7, 8, 10, 11], "79": [], "49": [], "keyston": [], "24300": [], "uwqyq": [], "2f2czwu0ejpozmzc2a": [], "745": [], "846": [], "614": [], "25515": [], "2f2czwuxuhumfr": [], "252bzuq": [], "55": [], "328": [], "uqd7xcvsscnr3hwd6fta8g": [], "100": [3, 6, 8, 10, 11], "duplic": 6, "everi": [3, 6, 8], "build": [6, 10, 11], "therefor": [6, 10, 11], "identifi": 6, "assign": 6, "alloc": 6, "here": [6, 7, 11], "default": [3, 6, 8], "jumper": 6, "note": [6, 7, 10, 11], "name": [0, 3, 6, 8, 10, 11], "zoom": [6, 7], "befor": [3, 6, 7, 8, 10, 11], "them": [3, 6, 8, 10, 11], "definit": 6, "simplifi": 6, "thing": [3, 6, 8], "do": [0, 3, 6, 7, 8], "50": [3, 6, 7, 8, 10, 11], "cm": [6, 7, 10, 11], "long": [6, 7], "flat": 6, "pole": [6, 10, 11], "detect": 6, "script": [0, 3, 6, 8], "test_mux_board": 6, "cut": 7, "compos": 7, "proper": 7, "length": [7, 10, 11], "about": 7, "correspond": [7, 10], "crimp": 7, "idc": 7, "suitabl": [3, 7, 8, 10, 11], "clamp": 7, "pai": [7, 10, 11], "attent": [7, 10, 11], "direct": [3, 7, 8, 10, 11], "unbalanc": 7, "perpendicular": 7, "possibl": [7, 10, 11], "same": [3, 7, 8, 10, 11], "flush": 7, "posit": [7, 10, 11], "abov": [7, 10, 11], "mux": [3, 7, 10, 11], "profil": 7, "color": 7, "yellow": 7, "tin": 7, "end": [7, 10, 11], "shown": [7, 10, 11], "pictur": 7, "ii": 7, "gnd": [7, 10, 11], "nois": 7, "often": 7, "heard": 7, "when": [0, 3, 7, 8, 10, 11], "clip": 7, "place": [0, 7, 10, 11], "second": [3, 7, 8, 10, 11], "b": [3, 7], "help": [0, 3, 7, 8], "previou": [3, 7, 8], "procedur": 7, "repeat": [3, 7, 8, 10, 11], "other": [3, 7, 8, 10, 11], "purpl": 7, "relev": [0, 7], "defin": [0, 3, 7, 8], "third": [3, 7, 8], "fourth": 7, "nylon": 7, "photograph": 7, "more": [3, 7, 8], "detail": [3, 7, 8, 10], "4th": 7, "togeth": [7, 10, 11], "tie": 7, "pvc": 7, "plate": 7, "minimum": 7, "dimens": 7, "200": 7, "150": [3, 7, 8, 10, 11], "drill": 7, "remain": [7, 10, 11], "metal": 7, "tighten": 7, "so": [7, 10, 11], "usb": 7, "hole": [7, 10, 11], "26": [7, 10, 11], "add": [7, 10, 11], "attach": 7, "washer": 7, "nut": 7, "28": [1, 7], "29": 7, "come": 7, "pass": [3, 7, 8], "brown": 7, "blue": [7, 10, 11], "block": [7, 10, 11], "secur": [3, 7, 8], "33": 7, "34": 7, "37": 7, "38": 7, "os": [3, 7, 8], "monitor": [3, 7, 8, 10, 11], "deliv": [7, 10, 11], "12vdc": 7, "enjoi": 7, "publish": [3, 8, 10], "journal": 10, "howev": [0, 10, 11], "correct": [10, 11], "bug": 10, "exist": [0, 10, 11], "explain": 10, "miss": 10, "point": [3, 8, 10, 11], "invit": 10, "v1": [3, 8, 10, 11], "offer": [3, 8, 10, 11], "commerci": [10, 11], "avail": [0, 3, 8, 10, 11], "field": [3, 8, 10, 11], "specif": [0, 10, 11], "temperatur": [3, 8, 10, 11], "c": [3, 8, 10, 11], "consumpt": [3, 8, 10, 11], "cpu": [3, 8, 10, 11], "control": [3, 8, 10, 11], "w": [3, 8, 10, 11], "min": [3, 8, 10, 11], "puls": [3, 8, 10, 11], "durat": [3, 8, 10, 11], "ms": [3, 8, 10, 11], "imped": [3, 8, 10, 11], "storag": [3, 8, 10, 11], "resolut": [3, 8, 10, 11], "o1": [10, 11], "step": [0, 10, 11], "youtub": [10, 11], "wjwzhv1v3pk": [10, 11], "noob": [10, 11], "simpl": [10, 11], "sure": [0, 3, 8, 10, 11], "unexpectedli": [10, 11], "boot": [10, 11], "cd": [10, 11], "gnu": [10, 11], "nano": [10, 11], "editor": [3, 8, 10, 11], "At": [10, 11], "op": [10, 11], "dl": [10, 11], "press": [10, 11], "ctrl": [10, 11], "enter": [10, 11], "escap": [10, 11], "return": [3, 8, 10, 11], "wa": [10, 11], "introduc": [0, 3, 8, 10, 11], "Its": [10, 11], "studi": [10, 11], "hous": [10, 11], "design": [0, 3, 8, 10, 11], "diagram": [10, 11], "displai": [10, 11], "mimic": [10, 11], "behavior": [10, 11], "soil": [10, 11], "subject": [10, 11], "r11": [10, 11], "r10": [10, 11], "r12": [10, 11], "constitut": [10, 11], "thei": [3, 8, 10, 11], "typic": [0, 3, 8, 10, 11], "made": [3, 8, 10, 11], "stainless": [10, 11], "steel": [10, 11], "seri": [10, 11], "part": [0, 3, 10, 11], "r9": [10, 11], "ad": [3, 8, 10, 11], "flow": [3, 8, 10, 11], "order": [0, 3, 8, 10, 11], "less": [10, 11], "sum": [10, 11], "inde": [10, 11], "000": [10, 11], "intens": [10, 11], "potenti": [10, 11], "calcul": [10, 11], "insert": [10, 11], "1115": [10, 11], "our": [3, 8, 10, 11], "a1": [10, 11], "a0": [10, 11], "increas": [10, 11], "track": [0, 10, 11], "divid": [10, 11], "bridg": [10, 11], "r5": [10, 11], "r8": [10, 11], "r6": [10, 11], "r7": [10, 11], "accord": [0, 10, 11], "n": [3, 8, 10, 11], "a2": [10, 11], "a3": [10, 11], "obtain": [10, 11], "ly": [10, 11], "rang": [0, 10, 11], "let": [10, 11], "equal": [10, 11], "multipli": [10, 11], "reduct": [10, 11], "section": [0, 3, 8, 10, 11], "despit": [10, 11], "high": [10, 11], "e": [3, 8, 10, 11], "accur": [10, 11], "still": [10, 11], "calibr": [10, 11], "voltmet": [10, 11], "variou": [10, 11], "These": [3, 8, 10, 11], "serv": [3, 8, 10, 11], "With": [10, 11], "disturb": [10, 11], "being": [10, 11], "estim": [10, 11], "mega": [10, 11], "shortcut": [10, 11], "excess": [10, 11], "whose": [3, 8, 10, 11], "lithium": [10, 11], "ion": [10, 11], "automobil": [10, 11], "lead": [10, 11], "acid": [10, 11], "strong": [10, 11], "hazard": [10, 11], "fuse": [10, 11], "repositori": [3, 8, 10, 11], "onto": [10, 11], "illustr": [3, 8, 10, 11], "ohmmet": [10, 11], "coeffici": [10, 11], "coef_p0": [10, 11], "coef_p1": [10, 11], "coef_p2": [10, 11], "coef_p3": [10, 11], "coef": [10, 11], "po": [10, 11], "p1": [10, 11], "r3": [10, 11], "r4": [10, 11], "p2": [10, 11], "p3": [10, 11], "r_ref": [10, 11], "slope": [10, 11], "convers": [10, 11], "p0": [10, 11], "accuraci": [10, 11], "both": [0, 10, 11], "addit": [3, 8, 10, 11], "lm358n": [10, 11], "appli": [10, 11], "prefer": [3, 8, 10, 11], "weaker": 10, "stronger": [10, 11], "tx": [10, 11], "rememb": [10, 11], "holder": [10, 11], "f": [10, 11], "consist": [10, 11], "circul": [10, 11], "through": [3, 8, 10, 11], "fig": [10, 11], "modul": [0, 10, 11], "switch": [10, 11], "common": [10, 11], "neg": [10, 11], "normal": [10, 11], "simultan": [10, 11], "role": [10, 11], "revers": [10, 11], "polar": [10, 11], "thu": [10, 11], "energ": [10, 11], "solut": [0, 10, 11], "manag": [3, 8, 10, 11], "next": [10, 11], "featur": [10, 11], "strict": [10, 11], "in1": [10, 11], "in2": [10, 11], "in3": [10, 11], "in4": [10, 11], "5vdc": [10, 11], "5vcc": [10, 11], "now": [10, 11], "mm2": [10, 11], "lastli": [10, 11], "congratul": [10, 11], "construct": [10, 11], "valid": [3, 10, 11], "conduct": [0, 10, 11], "manual": [3, 8, 10, 11], "practic": [0, 10, 11], "ert": [10, 11], "sever": [10, 11], "ten": [10, 11], "thousand": [10, 11], "arrai": [3, 8, 10, 11], "stuck": [10, 11], "enabl": [3, 8, 10, 11], "smaller": [10, 11], "hand": [10, 11], "entir": [3, 8, 10, 11], "cap": [10, 11], "produc": [10, 11], "clean": [10, 11], "distanc": [10, 11], "had": [10, 11], "extra": [10, 11], "As": [10, 11], "final": [10, 11], "actual": [10, 11], "singl": [0, 3, 8, 10, 11], "protocol": [3, 8, 10, 11], "horizont": [10, 11], "vertic": [10, 11], "06": [10, 11], "04": [10, 11], "09": [10, 11], "05": [10, 11], "din": [10, 11], "rail": [10, 11], "chosen": [10, 11], "consequ": [10, 11], "incom": [10, 11], "instead": [10, 11], "moreov": [10, 11], "turn": [10, 11], "bought": [10, 11], "down": [10, 11], "velleman": [10, 11], "wpm404": [10, 11], "potentiomet": [10, 11], "download": [3, 8, 10, 11], "scienc": [10, 11], "framework": [10, 11], "manuscript": [10, 11], "osf": [10, 11], "io": [10, 11], "dzwb4": [10, 11], "gitlab": [3, 8, 10, 11], "irstea": [10, 11], "unzip": [10, 11], "master": [10, 11], "readm": [10, 11], "assist": [10, 11], "disconnect": [10, 11], "handl": [3, 8, 10, 11], "charg": [10, 11], "full": [10, 11], "capac": [10, 11], "fewer": [10, 11], "bank": [10, 11], "2a": [10, 11], "ll": [10, 11], "insid": [10, 11], "abmn": [3, 8, 10, 11], "quadrupol": [3, 8, 10, 11], "numer": [10, 11], "some": [0, 1, 3, 8, 10, 11], "main": [3, 8, 10, 11], "optim": [10, 11], "attribut": [10, 11], "stack": [3, 8, 10, 11], "the9": [10, 11], "hear": [10, 11], "characterist": [10, 11], "sound": [10, 11], "permut": [10, 11], "csv": [10, 11], "nb_electrod": [3, 8, 10, 11], "maximum": [3, 8, 10, 11], "injection_dur": [3, 8, 10, 11], "nbr_mea": [3, 8, 10, 11], "sequenc": [3, 8, 10, 11], "sequence_delai": [3, 8, 10, 11], "delai": [10, 11], "repetit": [10, 11], "evolv": [10, 11], "littl": [10, 11], "public": [10, 11], "articl": [10, 11], "date": [1, 10, 11], "sainsmart": [], "canal": [], "pour": [], "arduino": [], "dsp": [], "avr": [], "pic": [], "arm": [], "99": [], "199": [], "sain": [], "smart": [], "101": [], "70": [], "103": [], "018": [], "1x1": [], "66": [], "1568649": [], "1x0": [], "71": [], "1565235": [], "68": [], "rs": [], "pro": [], "897": [], "1332": [], "858": [], "627": [], "52": [], "upw50b50rv": [], "1083": [], "7ah": [], "537": [], "5488": [], "lr20": [], "9v": [], "185": [], "4686": [], "ferrul": [], "500": [], "piec": [], "weidmul": [], "9004330000": [], "966067": [], "car": [], "littelfus": [], "fhac0002zxj": [], "96": [], "improv": [0, 3, 8, 11], "upgrad": [3, 8, 11], "01": [1, 3, 8, 11], "replac": [0, 11], "trn3": 11, "suppress": 11, "10v": 11, "fast": 11, "decoupl": 11, "last": 11, "veri": [0, 11], "prevent": 11, "overh": 11, "toler": 11, "orient": 11, "h": 11, "nf": 11, "tabl": [10, 11], "jason": 11, "ohmpi_param": 11, "json": [3, 8, 11], "export_path": 11, "desktop": 11, "0251001": [], "pat1l": [], "box": [3, 8], "mani": [3, 8], "dii": [3, 8], "laps": [3, 8], "seek": [3, 8], "share": [0, 3, 8], "wish": [3, 8], "2023": [1, 3, 8], "stop": [3, 8], "0x": [3, 8], "effort": [3, 8], "paramet": [3, 8], "80": [3, 8], "virtual": 3, "environ": 3, "packag": [3, 8], "id": [3, 8], "summar": [3, 8], "cover": [3, 8], "acquisit": [3, 8], "separ": [3, 8], "ohmpi_set": [3, 8], "central": [3, 8], "class": [0, 3, 8], "interact": [0, 3, 8], "handler": [3, 8], "layer": [3, 8], "releas": [1, 3, 8], "excel": [3, 8], "log": [3, 8], "implement": [0, 1, 3, 8], "broker": [3, 8], "zip": [3, 8], "rotat": [3, 8], "disk": [3, 8], "exec_logg": [3, 8], "data_logg": [3, 8], "plan": [3, 8], "state": [3, 8], "health": [3, 8], "soh": [3, 8], "futur": [3, 8], "By": [3, 8], "written": [3, 8], "consol": [3, 8], "like": [3, 8], "store": [0, 3, 8], "local": [3, 8], "dai": [3, 8], "size": [3, 8], "exce": [3, 8], "sent": [3, 8], "level": [3, 8], "advanc": [3, 8], "edit": [3, 8], "setup_logg": [3, 8], "custom": [3, 8], "desir": [3, 8], "usernam": [3, 8], "password": [3, 8], "One": [3, 8], "understand": [3, 8], "alter": [3, 8], "keep": [3, 8], "bash": [3, 8], "run_http_interfac": [3, 8], "sh": [3, 8], "api": [1, 3, 8], "import": [0, 3, 8], "iot": [3, 8], "messag": [3, 8], "friendli": [3, 8], "graphic": [3, 8], "quick": [3, 8], "easi": [3, 8], "wi": [3, 8], "fi": [3, 8], "ap": [3, 8], "webserv": [3, 8], "index": [3, 8], "html": [3, 8], "laptop": [3, 8], "mobil": [3, 8], "phone": [3, 8], "upload": [3, 8], "act": [3, 8], "raspap": [3, 8], "runonstart": [3, 8], "itself": [3, 8], "141": [3, 8], "8080": [3, 8], "pseudo": [3, 8], "evolut": [3, 8], "appar": [3, 8], "especi": [3, 8], "suit": [3, 8], "autom": [3, 8], "ipython": [3, 8], "ssh": [3, 8], "putti": [3, 8], "maco": [3, 8], "linux": [3, 8], "found": [3, 8], "np": [3, 8], "chdir": [3, 8], "object": [3, 8], "k": [3, 8], "load": [3, 8], "nb_stack": [3, 8], "half": [3, 8], "cycl": [3, 8], "updat": [3, 8], "update_set": [3, 8], "shape": [3, 8], "set_sequ": [3, 8], "n2": [3, 8], "string": [3, 8], "load_sequ": [3, 8], "rs_check": [3, 8], "synchron": [3, 8], "wait": [3, 8], "prompt": [3, 8], "run_sequ": [3, 8], "run_sequence_async": [3, 8], "thread": [3, 8], "immedi": [3, 8], "sleep": [3, 8], "interrupt": [3, 8], "kill": [3, 8], "asynchron": [3, 8], "given": [3, 8], "interv": [3, 8], "nb_mea": [3, 8], "run_multiple_sequ": [3, 8], "taken": [3, 8], "switch_mux_on": [3, 8], "run_measur": [3, 8], "switch_mux_off": [3, 8], "risk": [3, 8], "short": [3, 8], "argument": [3, 8], "autogain": [3, 8], "true": [3, 8], "good": [3, 8], "usag": [3, 8], "process": [3, 8], "sensor": [3, 8], "scope": [3, 8], "internet": [3, 8], "network": [3, 8], "auxiliari": [3, 8], "subscrib": [3, 8], "approach": [3, 8], "mosquitto": [3, 8], "server": [3, 8], "reachabl": [3, 8], "net": [3, 8], "servic": [3, 8], "install_local_mqtt_brok": [3, 8], "examin": [3, 8], "easili": [0, 3, 8], "parti": [3, 8], "explor": [3, 8], "receiv": [3, 8], "reboot": [3, 8], "further": [3, 8], "format": [3, 8], "kwarg": [3, 8], "cmd_id": [3, 8], "3fzxv121uitwgjwygcz4xw": [3, 8], "cmd": [3, 8], "3fzxv121uitwgjwygcz4yw": [3, 8], "tailor": [3, 8], "dashboard": [3, 8], "browser": [3, 8], "node": [3, 8], "complex": [3, 8], "properli": [3, 8], "palett": [3, 8], "noder": [3, 8], "doc": [3, 8], "guid": [3, 8], "ui": [3, 8], "visual": [3, 8], "cookbook": [3, 8], "draft": 0, "TO": 0, "BE": 0, "review": 0, "intend": 0, "advic": 0, "best": 0, "contribut": 0, "maintain": 0, "promot": 0, "exchang": 0, "reus": 0, "contributor": 0, "ideal": 0, "few": 0, "distinguish": 0, "deal": 0, "compli": 0, "Such": 0, "focu": 0, "reduc": 0, "newli": 0, "expos": 0, "minim": 0, "hardware_system": 0, "discuss": 0, "ohmpi_hardwar": 0, "initi": 0, "earli": 0, "stage": 0, "investig": 0, "strategi": 0, "readi": 0, "conceiv": 0, "kicad": 0, "schema": 0, "alwai": 0, "branch": 0, "python": 0, "similar": 0, "hardware_compon": 0, "abstract": 0, "abstract_hardware_compon": 0, "method": 0, "configur": [0, 1], "hardware_config": 0, "dictionari": 0, "config_xxx": 0, "xxx": 0, "nov": 1, "juli": 1, "2016": 1, "target": 1, "research": 1, "statu": 1, "matur": 1, "progress": 1, "offici": 1, "guidelin": 1, "tutori": 1, "content": 1, "partner": 1, "cite": 1, "introduct": 1, "technic": 1, "v2023": 1, "tow": 5, "led": 7, "consid": 7, "temporari": 7, "orang": 7}, "objects": {"": [[9, 0, 0, "-", "ohmpi"]]}, "objtypes": {"0": "py:module"}, "objnames": {"0": ["py", "module", "Python module"]}, "titleterms": {"ohmpi": [1, 2, 3, 7, 8, 10, 11], "project": 2, "author": 2, "partner": 2, "cite": 2, "introduct": 2, "step": [3, 4, 5, 6, 7, 8], "n": [4, 5, 6, 7], "1": [4, 10, 11], "raspberri": [4, 10, 11], "pi": [4, 10, 11], "configur": [3, 4, 8, 10, 11], "part": [4, 5, 6], "A": [4, 5, 6], "os": [4, 10, 11], "instal": [4, 10, 11], "b": [4, 5, 6, 10, 11], "virtual": [4, 10, 11], "environ": [4, 10, 11], "packag": [4, 10, 11], "c": [4, 5, 6], "activ": [4, 10, 11], "thonni": [4, 10, 11], "python": [3, 4, 8, 10, 11], "id": [4, 10, 11], "2": 5, "measur": [5, 10, 11], "board": [5, 6, 10, 11], "assembl": [5, 6, 7, 10, 11], "requir": [5, 6], "compon": [0, 5, 6, 10, 11], "list": [5, 10, 11], "descript": [5, 10, 11], "start": 5, "up": 5, "check": 5, "3": 6, "mux": 6, "address": 6, "valid": 6, "4": 7, "v": [10, 11], "01": 10, "limit": [10, 11], "32": [10, 11], "electrod": [3, 8, 10, 11], "The": [3, 8, 10, 11], "philosophi": [3, 8, 10, 11], "technic": [10, 11], "data": [10, 11], "current": [10, 11], "inject": [10, 11], "card": [10, 11], "connect": [10, 11], "electr": [10, 11], "resist": [1, 10, 11], "implement": [10, 11], "first": [10, 11], "four": [10, 11], "multiplex": [10, 11], "oper": [3, 8, 10, 11], "instruct": [10, 11], "preliminari": [10, 11], "procedur": [10, 11], "onli": [10, 11], "initi": [10, 11], "startup": [10, 11], "paramet": [10, 11], "complet": [10, 11], "tabl": [], "titl": [], "02": 11, "v2023": [3, 8], "64": [3, 8], "12v": [3, 8], "hardwar": [0, 1, 3, 8], "specif": [3, 8], "build": [3, 8], "an": [3, 8], "softwar": [0, 3, 8], "system": [3, 8], "architectur": [3, 8], "logger": [3, 8], "file": [3, 8], "interfac": [0, 3, 8], "applic": [3, 8], "web": [3, 8], "mqtt": [3, 8], "api": 9, "refer": 9, "new": 0, "open": 1, "sourc": 1, "meter": 1, "summari": 1, "document": 1, "center": 1}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}})
\ No newline at end of file
+Search.setIndex({"docnames": ["index", "source_rst/Ohmpi", "source_rst/V2023.x.x/V2023", "source_rst/V2023.x.x/V2023_step_01", "source_rst/V2023.x.x/V2023_step_02", "source_rst/V2023.x.x/V2023_step_03", "source_rst/V2023.x.x/V2023_step_04", "source_rst/V2024.x.x/V2024", "source_rst/api", "source_rst/developing_hardware_components", "source_rst/v1.xx/V1_01", "source_rst/v1.xx/V1_02"], "filenames": ["index.rst", "source_rst\\Ohmpi.rst", "source_rst\\V2023.x.x\\V2023.rst", "source_rst\\V2023.x.x\\V2023_step_01.rst", "source_rst\\V2023.x.x\\V2023_step_02.rst", "source_rst\\V2023.x.x\\V2023_step_03.rst", "source_rst\\V2023.x.x\\V2023_step_04.rst", "source_rst\\V2024.x.x\\V2024.rst", "source_rst\\api.rst", "source_rst\\developing_hardware_components.rst", "source_rst\\v1.xx\\V1_01.rst", "source_rst\\v1.xx\\V1_02.rst"], "titles": ["OHMPI: Open source and open hardware resistivity-meter", "OhmPi project", "OhmPi V2023 (64 electrodes and 12V)", "<strong>STEP n\u00b01</strong> : Raspberry Pi  configuration", "<strong>STEP n\u00b02</strong>: Measurement board", "<strong>STEP n\u00b03:</strong> MUX board", "<strong>STEP n\u00b04:</strong> assemble the OhmPi", "OhmPi V2023 (64 electrodes and 12V)", "API reference", "Software interface to new hardware components", "OhmPi V 1.01 (limited to 32 electrodes)", "OhmPi V 1.02 (limited to 32 electrodes)"], "terms": {"r\u00e9mi": [0, 1], "clement": [0, 1], "vivien": [0, 1], "duboi": [0, 1], "nicola": [0, 1], "forquet": [0, 1], "inra": 1, "reversa": [1, 10, 11], "villeurbann": 1, "franc": 1, "yannick": [0, 1], "fargier": [0, 1], "ger": 1, "rro": 1, "univ": 1, "gustav": 1, "eiffel": 1, "ifsttar": 1, "lyon": 1, "h\u00e9l\u00e8ne": [0, 1], "guyard": [0, 1], "ig": 1, "grenobl": 1, "universit\u00e9": 1, "alp": 1, "olivi": [0, 1], "kaufmann": [0, 1], "arnaud": [0, 1], "watlet": [0, 1], "de": 1, "mon": 1, "belgium": 1, "guillaum": [0, 1], "blanchi": [0, 1], "ilvo": 1, "merelbek": 1, "julien": 1, "ganc": 1, "emil": 1, "gro": 1, "et": [1, 4], "al": 1, "an": [1, 3, 4, 5, 6, 9, 10, 11], "open": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "sourc": [1, 3, 9, 10, 11], "data": [0, 1, 2, 7], "logger": [1, 10, 11], "dedic": [1, 2, 7], "applic": [1, 9], "electr": [1, 4], "resist": [1, 2, 4, 6, 7], "imag": [1, 3], "small": [1, 2, 4, 6, 7, 10, 11], "laboratori": [1, 2, 6, 7, 10, 11], "scale": 1, "hardwarex": 1, "elsevi": 1, "2020": 1, "8": [1, 2, 3, 4, 5, 6, 7, 10, 11], "24": [1, 4, 5, 6, 10, 11], "p": [1, 4, 5], "ff10": 1, "1016": 1, "j": 1, "ohx": 1, "e00122ff": 1, "particip": [1, 2, 3, 4, 5, 6, 7, 10, 11], "all": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "requir": [1, 2, 3, 6, 7, 9, 10, 11], "skill": [1, 2, 3, 4, 5, 6, 7, 10, 11], "electron": [1, 2, 3, 4, 5, 6, 7, 10, 11], "respect": [1, 2, 3, 4, 5, 6, 7, 10, 11], "safeti": [1, 2, 3, 4, 5, 6, 7, 10, 11], "rule": [1, 2, 3, 4, 5, 6, 7, 10, 11], "must": [1, 2, 3, 4, 5, 6, 7, 10, 11], "assembl": [0, 1, 2, 3, 7], "profession": [1, 2, 3, 4, 5, 6, 7, 10, 11], "context": [1, 2, 3, 4, 5, 6, 7, 10, 11], "peopl": [1, 2, 3, 4, 5, 6, 7, 10, 11], "compet": [1, 2, 3, 4, 5, 6, 7, 10, 11], "The": [0, 1, 3, 4, 5, 6, 9], "team": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "cannot": [1, 2, 3, 4, 5, 6, 7, 10, 11], "held": [1, 2, 3, 4, 5, 6, 7, 10, 11], "respons": [1, 2, 3, 4, 5, 6, 7, 10, 11], "ani": [1, 2, 3, 4, 5, 6, 7, 10, 11], "materi": [1, 2, 3, 4, 5, 6, 7, 10, 11], "human": [1, 2, 3, 4, 5, 6, 7, 10, 11], "damag": [1, 2, 3, 4, 5, 6, 7, 10, 11], "which": [1, 2, 3, 4, 5, 6, 7, 10, 11], "would": [1, 2, 3, 4, 5, 6, 7, 10, 11], "associ": [1, 2, 3, 4, 5, 6, 7, 10, 11], "us": [1, 2, 3, 4, 5, 6, 7, 10, 11], "equip": [1, 2, 3, 4, 5, 6, 7, 10, 11], "doe": [1, 2, 3, 4, 5, 6, 7, 10, 11], "work": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "after": [1, 2, 3, 4, 5, 6, 7, 10, 11], "you": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "mai": [1, 2, 3, 7, 10, 11], "redistribut": 1, "modifi": [1, 9, 10, 11], "thi": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11], "document": [1, 2, 7, 10], "make": [1, 2, 5, 7, 9, 10, 11], "product": [1, 4, 5], "under": [1, 6, 10, 11], "term": [1, 9], "cern": 1, "ohl": 1, "v2": 1, "http": [2, 3, 4, 5, 7, 10, 11], "ch": [], "distribut": 1, "without": [1, 5, 10, 11], "express": [1, 9], "OR": 1, "impli": [1, 5], "warranti": 1, "includ": [1, 2, 3, 5, 7, 9, 10, 11], "OF": 1, "merchant": 1, "satisfactori": 1, "qualiti": 1, "AND": 1, "fit": 1, "FOR": 1, "A": [1, 2, 6, 7, 9, 10, 11], "particular": 1, "purpos": [1, 6, 10, 11], "pleas": [1, 2, 6, 7, 10, 11], "see": [1, 2, 7, 10, 11], "condit": 1, "present": [1, 5, 6, 9, 10, 11], "develop": [0, 1, 2, 3, 4, 7, 9, 10, 11], "low": [1, 2, 7, 10, 11], "cost": [1, 4, 5, 9, 10, 11], "hardwar": [1, 10, 11], "meter": [1, 2, 6, 7, 10, 11], "provid": [1, 2, 7, 10, 11], "scientif": 1, "commun": [1, 2, 7], "robust": [1, 2, 7, 10, 11], "flexibl": 1, "tool": [1, 2, 7], "experi": [1, 2, 7, 10, 11], "call": [1, 2, 3, 5, 6, 7], "basic": [1, 9], "meterfeatur": 1, "current": [0, 1, 2, 4, 7], "inject": [0, 1, 2, 7], "measur": [0, 1, 2, 3, 5, 6, 7], "function": [1, 2, 7, 9, 10, 11], "multiplex": [0, 1, 2, 5, 6, 7], "allow": [1, 2, 4, 5, 7, 10, 11], "perform": [1, 3, 9, 10, 11], "automat": [1, 2, 7, 10, 11], "up": [1, 2, 3, 5, 7, 10, 11], "64": [0, 1, 5, 10, 11], "electrod": [0, 1, 4, 5, 6], "s": [1, 2, 4, 5, 7, 10, 11], "philosophi": [0, 1], "fulli": 1, "toolto": 1, "surfac": 1, "anyon": 1, "who": 1, "want": [1, 11], "get": [1, 2, 3, 4, 7, 10, 11], "involv": [1, 2, 7], "welcom": [1, 9], "join": 1, "ohmpi": [3, 4, 5, 9], "project": [0, 2, 3, 4, 5, 6, 7, 9, 10, 11], "compon": [0, 2, 3, 7], "quantiti": [3, 10, 11], "4": [2, 3, 4, 5, 7, 10, 11], "model": [3, 4, 10, 11], "micro": [2, 3, 7, 10, 11], "sd": [2, 3, 6, 7, 10, 11], "32": [0, 2, 3, 6, 7], "go": [2, 3, 5, 7], "hdmi": [3, 6], "cabl": [3, 4, 5, 6, 10, 11], "comput": [3, 10, 11], "mous": [3, 6, 10, 11], "keyboard": [3, 6, 10, 11], "first": [2, 3, 5, 6, 7, 9], "start": [0, 2, 3, 5, 7, 9, 10, 11], "board": [2, 3, 6, 7, 9], "oper": [0, 3, 4, 6, 9], "system": [3, 9, 10, 11], "For": [2, 3, 4, 5, 7, 10, 11], "instruct": [0, 2, 3, 7], "ar": [2, 3, 4, 6, 7, 9, 10, 11], "well": [2, 3, 7, 10, 11], "describ": [3, 4, 6, 9, 10, 11], "websit": [3, 10, 11], "watch": [3, 10, 11], "video": [3, 10, 11], "how": [3, 10, 11], "set": [2, 3, 4, 7, 10, 11], "your": [3, 4, 5, 9, 10, 11], "author": [0, 3, 10, 11], "recommend": [2, 3, 7, 9, 10, 11], "latest": [3, 10, 11], "stabl": [3, 10, 11], "complet": [0, 2, 3, 4, 7], "version": [2, 3, 4, 7, 9, 10, 11], "previous": [3, 6, 10, 11], "raspbian": [3, 10, 11], "can": [2, 3, 6, 7, 10, 11], "visit": 3, "raspberrypi": 3, "org": [2, 3, 7], "en": 3, "test": [2, 3, 4, 5, 6, 7, 9, 10, 11], "were": [3, 4, 10, 11], "3": [2, 3, 4, 6, 7, 9, 10, 11], "we": [2, 3, 4, 5, 7, 10, 11], "follow": [2, 3, 4, 5, 6, 7, 9, 10, 11], "onc": [2, 3, 7, 10, 11], "ha": [2, 3, 5, 7, 10, 11], "been": [2, 3, 5, 7, 10, 11], "wire": [3, 5, 6, 10, 11], "spi": [3, 10, 11], "gpio": [3, 5, 6, 10, 11], "remot": [2, 3, 7, 10, 11], "option": [2, 3, 7, 10, 11], "deactiv": [3, 10, 11], "i2c": [3, 4, 5], "via": [3, 10, 11], "gui": [3, 10, 11], "menu": [3, 10, 11], "failur": [3, 10, 11], "carri": [3, 10, 11], "out": [3, 6, 10, 11], "task": [3, 10, 11], "caus": [3, 10, 11], "relai": [3, 4, 5, 10, 11], "shield": [3, 10, 11], "card": [0, 2, 3, 5, 6, 7], "dure": [3, 10, 11], "wai": [3, 9, 10, 11], "have": [2, 3, 4, 5, 7, 9, 10, 11], "multipl": [2, 3, 7], "parallel": 3, "instanc": 3, "interpret": [3, 4, 10, 11], "each": [3, 5, 6, 10, 11], "differ": [2, 3, 4, 5, 6, 7, 10, 11], "contain": [2, 3, 6, 7, 10, 11], "discret": 3, "copi": [2, 3, 7, 9], "its": [2, 3, 5, 6, 7, 10, 11], "support": 3, "util": [2, 3, 7], "It": [2, 3, 5, 7, 9, 10, 11], "also": [2, 3, 7, 9, 10, 11], "protect": 3, "case": [2, 3, 7, 9, 10, 11], "problem": 3, "depend": [2, 3, 7, 10, 11], "specifi": [3, 10, 11], "txt": [2, 3, 7, 10, 11], "below": [2, 3, 6, 7, 10, 11], "should": [2, 3, 4, 5, 6, 7, 9, 10, 11], "type": [2, 3, 5, 7, 9, 10, 11], "termin": [2, 3, 4, 5, 6, 7, 10, 11], "necessari": [3, 5, 6, 9, 10, 11], "ensur": [3, 10, 11], "libatla": [3, 10, 11], "base": [2, 3, 5, 7, 9, 10, 11], "dev": [3, 10, 11], "librari": [3, 10, 11], "sudo": [3, 10, 11], "apt": [3, 10, 11], "strongli": [3, 10, 11], "user": [0, 2, 3, 7, 10, 11], "creat": [2, 3, 7, 9, 10, 11], "run": [2, 3, 4, 5, 6, 7, 10, 11], "code": [3, 5, 9, 10, 11], "done": [2, 3, 7, 10, 11], "either": [3, 10, 11], "directori": [2, 3, 7, 9, 10, 11], "gather": [3, 10, 11], "within": [2, 3, 7, 9, 10, 11], "python3": [3, 10, 11], "m": [3, 4, 5, 6, 10, 11], "venv": [3, 10, 11], "command": [2, 3, 7, 10, 11], "bin": [3, 10, 11], "suffici": [3, 10, 11], "meet": [3, 10, 11], "export": 3, "cflag": 3, "fcommon": 3, "pip": [3, 10, 11], "rpi": [3, 6, 10, 11], "adafruit": [3, 4, 5, 10, 11], "blinka": [3, 10, 11], "numpi": [2, 3, 7, 10, 11], "panda": [3, 10, 11], "circuitpython": [3, 10, 11], "ads1x15": [3, 10, 11], "tca9548a": [3, 5], "mcp230xx": 3, "gpiozero": 3, "check": [2, 3, 7, 10, 11], "met": [3, 10, 11], "list": [0, 3], "leav": [3, 10, 11], "simpli": [3, 6, 10, 11], "If": [3, 4, 9, 10, 11], "decid": [3, 10, 11], "setup": [3, 10, 11], "time": [2, 3, 5, 7, 10, 11], "softwar": [0, 3, 10, 11], "click": [3, 10, 11], "access": [2, 3, 6, 7, 10, 11], "program": [3, 6, 10, 11], "pythonid": [3, 10, 11], "2": [2, 3, 5, 6, 7, 9, 10, 11], "root": [3, 10, 11], "7": [3, 4, 5, 6, 10, 11], "usr": [3, 10, 11], "select": [3, 5, 10, 11], "new": [0, 2, 3, 7, 10, 11], "window": [2, 3, 7, 10, 11], "On": [3, 10, 11], "altern": [3, 10, 11], "5": [2, 3, 4, 5, 6, 7, 10, 11], "button": [3, 10, 11], "appear": [3, 4, 5, 10, 11], "locat": [3, 10, 11], "anoth": [3, 10, 11], "execut": [2, 3, 7, 10, 11], "6": [3, 4, 5, 6, 10, 11], "find": [3, 10, 11], "folder": [3, 10, 11], "where": [2, 3, 7, 9, 10, 11], "file": [3, 4, 9, 10, 11], "home": [2, 3, 7, 10, 11], "In": [2, 3, 4, 5, 7, 9, 10, 11], "known": [3, 10, 11], "tab": [2, 3, 7, 10, 11], "path": [3, 9, 10, 11], "close": [3, 10, 11], "ok": [3, 10, 11], "9": [2, 3, 4, 5, 6, 7, 10, 11], "save": [3, 10, 11], "modif": [3, 6, 10, 11], "number": [2, 4, 5, 7, 10, 11], "per": [4, 5, 10, 11], "unit": [2, 4, 5, 7, 10, 11], "total": [4, 5, 10, 11], "manufactur": [4, 5, 10, 11], "refer": [0, 2, 4, 5, 6, 7, 10, 11], "web": [4, 5], "raspberri": [0, 2, 4, 5, 6, 7], "pi": [0, 2, 4, 6, 7], "1": [0, 2, 4, 5, 6, 7, 9], "58": [4, 10, 11], "75": 4, "www": [4, 5, 10, 11], "mouser": [4, 5], "fr": [4, 5, 10, 11], "productdetail": [4, 5], "seeed": 4, "studio": 4, "102110421": 4, "qs": [4, 5], "7mvldsj5uaxen3lyyh3sqw": 4, "3d": [4, 5], "lm158n": 4, "amp": [4, 10, 11], "o": [2, 4, 5, 7, 10, 11], "14": [4, 5, 6], "texa": [4, 10, 11], "instrument": [2, 4, 7, 10, 11], "lm358an": [4, 10, 11], "nopb": [4, 10, 11], "lm158j": 4, "x1j7hmvl2zh8vpefml8": 4, "2ffq": 4, "print": [2, 4, 5, 7, 10, 11], "circuit": [2, 4, 5, 7, 10, 11], "12": [2, 4, 5, 6, 7, 10, 11], "asler": [4, 5, 10, 11], "ads1115": [4, 10, 11], "11": [4, 6, 10, 11], "23": [4, 5, 6, 10, 11], "1085": 4, "2fha2pyfaduh": 4, "2fogzutwiq9iz5vjaqfoyugqalgxpeckigrqvf4hn": 4, "252bg": 4, "capacitor": [4, 11], "100nf": [4, 11], "50vdc": [4, 11], "10": [2, 4, 5, 6, 7, 10, 11], "ceram": [4, 11], "0": [2, 4, 5, 7, 10, 11], "kemet": [4, 11], "c320c104k1": [4, 11], "c320c104k1r5ta7303": 4, "c4uyot": 4, "2flq1th4mcyoetma": 4, "resistor": [4, 5, 10, 11], "kohm": [4, 5, 10, 11], "5w": [4, 10, 11], "te": [4, 5, 10, 11], "connect": [0, 2, 4, 5, 6, 7], "h81k0bya": [4, 10, 11], "holsworthi": 4, "2fha2pyfaduhuylh7az": 4, "2fmjfh2xjoums6wztux4som": 4, "252bii": 4, "h81k5bya": [4, 10, 11], "2fha2pyfadugy9twham3ru9hmijohywhbin95knm": 4, "252bx": 4, "2fm": 4, "vishai": [4, 5], "ccf071k50gke36": 4, "dale": 4, "qkeozdl6eqpa6lzrlqfvow": 4, "mohm": [2, 4, 7, 10, 11], "762": 4, "524": 4, "cmf651m0000fkek143": 4, "ciayqk2gdckzia2levalkg": 4, "ohm": [2, 4, 7, 10, 11], "shunt": 4, "42": 4, "ohmit": 4, "41f2r0e": 4, "im6toxqzgoauedprb19mha": 4, "dual": [4, 5, 10, 11], "screw": [4, 5, 6, 10, 11], "08": [4, 5], "mm": [4, 5, 6, 10, 11], "pitch": [4, 5, 10, 11], "648": [4, 5, 10, 11], "cui": [4, 5], "devic": [4, 5, 9], "tb009": [4, 5], "508": [4, 5], "02be": [4, 5], "vlwxofp3u2wcfk5uckwtka": [4, 5], "dc": [4, 5, 10, 11], "convert": [4, 10, 11], "24v": [4, 11], "15": [4, 5, 6, 10, 11], "31": [4, 5, 6], "16": [4, 5, 6, 10, 11], "tracopow": [4, 11], "trn": [4, 11], "1215": [4, 11], "traco": [4, 11], "power": [2, 4, 5, 6, 7, 10, 11], "yca": 4, "2faaymw02gquicgqj0ta": 4, "dip": [4, 5], "line": [4, 5, 10, 11], "socket": [4, 5], "72": [4, 11], "mill": 4, "max": 4, "110": [4, 5, 10, 11], "43": [4, 10, 11], "308": 4, "41": [4, 5], "001000": 4, "iggadovctstu": 4, "2fqaur8narg": 4, "mgh": 4, "vip": 4, "gclid": 4, "eaiaiqobchmin_taxbcx8wivq5nvch2qaqfpeayyccabegjk1_d_bw": 4, "aqy211eh": 4, "84": [4, 5], "36": [4, 6, 10, 11], "panason": 4, "industri": 4, "wktuvitrialgiu8hcm7dvq": 4, "449": 4, "796": 4, "preci": [4, 5], "83": 4, "304": 4, "001101": [4, 5], "2fha2pyfadujqkqx4wauig": 4, "2fmgndxmcnv": 4, "2f33nj0gbxroculucynpyong": 4, "mcp23008": 4, "593": 4, "sgaepimzzmskedp9slc0yyv4kpdpmd1hts4slctivmw": 4, "header": [4, 5, 10, 11], "1x10": [4, 10, 11], "samtec": [4, 10, 11], "ssw": [4, 10, 11], "02": [0, 4, 10], "g": [4, 10, 11], "ru5fayqh": 4, "252be0w1orxzibqpw": 4, "smt": 4, "breakout": 4, "pcb": [4, 5, 9, 10, 11], "soic": 4, "1212": 4, "gurawfaegucaqqfvnvtyeg": 4, "eaiaiqobchmit8zjzr6x8wivgdnvch2vbwvseaqyayabegjqg_d_bw": 4, "ina282aid": 4, "ze4": 4, "2fufuz19ilfayzxocfra": 4, "thd": 4, "1211n": 4, "39": [4, 5, 6, 10, 11], "2fha2pyfadugpyeg4idvm": 4, "2fmsr": 4, "252b7an": 4, "2f0t3ruis9pcaqjlt4": 4, "252bnrpuooeq": 4, "20": [4, 6, 10, 11], "53": [4, 11], "ssq": 4, "120": [4, 5], "d": [4, 10, 11], "252be1bmvd": 4, "252bdzonqg": 4, "pin": [4, 5, 10, 11], "strip": [4, 5, 6, 10, 11], "ejector": [4, 5], "35": [4, 6], "blk": [4, 5], "10120550": [4, 5], "conrad": [4, 5], "com": [2, 4, 5, 7, 10, 11], "bkl": [4, 5], "contact": [2, 4, 5, 7, 10, 11], "space": [4, 5], "254": [4, 5], "row": [4, 5], "pc": [4, 5], "741435": [4, 5], "searchterm": [4, 5], "searchtyp": [4, 5], "suggest": [4, 5, 10, 11], "searchsuggest": [4, 5], "male": [4, 5], "femal": [4, 5, 10, 11], "spacer": [4, 5, 6], "5m": [4, 6], "hexagonal": 4, "87": [4, 5], "48": [4, 10, 11], "harwin": 4, "r25": 4, "3002002": 4, "w0yvoo0ixfenuv0hsdc4": 4, "2fq": 4, "86": [4, 5], "437": 4, "1108331841001101": 4, "318": 4, "ftmup6kvi2tnqoeziaq": 4, "2fpa": 4, "figur": [2, 4, 7, 10, 11], "show": [4, 10, 11], "gener": [0, 2, 4, 5, 7, 10, 11], "schemat": [4, 11], "plug": [4, 10, 11], "plai": 4, "To": [2, 4, 5, 7, 10, 11], "two": [2, 4, 5, 7, 9, 10, 11], "one": [2, 4, 6, 7, 10, 11], "voltag": [2, 4, 6, 7, 10, 11], "propos": [4, 10, 11], "florsch": [4, 10, 11], "bit": [4, 10, 11], "adc": [4, 10, 11], "analog": [4, 10, 11], "digit": [4, 5, 10, 11], "adapt": [2, 4, 7, 9, 10, 11], "gain": [2, 4, 7, 10, 11], "advantag": 4, "input": [2, 4, 6, 7, 10, 11], "signal": [4, 10, 11], "valu": [4, 5, 10, 11], "could": [4, 6, 10, 11], "lie": [4, 10, 11], "between": [4, 5, 6, 10, 11], "114": [4, 10, 11], "v": [0, 2, 4, 5, 6, 7], "directli": [4, 10, 11], "integr": 4, "ina282": 4, "realiz": 4, "precis": [4, 10, 11], "around": [2, 4, 7], "instal": [2, 4, 5, 6, 7], "solder": [4, 10, 11], "optic": 4, "suppli": [4, 5, 6, 10, 11], "12v": [0, 4, 5, 6, 10, 11], "5v": [4, 10, 11], "tdh15": 4, "four": [2, 4, 7], "inpout": 4, "output": [2, 4, 6, 7, 10, 11], "three": [2, 4, 5, 7, 10, 11], "limit": [0, 2, 4, 7], "ma": [2, 4, 7, 10, 11], "higher": [4, 11], "than": [4, 10, 11], "just": [4, 11], "decreas": 4, "don": [2, 4, 7], "t": [2, 4, 5, 7], "forget": [2, 4, 7], "chang": [2, 4, 5, 7, 9], "config": [2, 4, 7, 9, 10, 11], "py": [2, 4, 5, 7, 9, 10, 11], "kei": 4, "r_shunt": 4, "ohmpi_config": 4, "dict": 4, "pre": [4, 6], "adjust": [4, 10, 11], "13": [4, 5, 6, 10, 11], "17": [4, 6, 10, 11], "18": [2, 4, 6, 7, 10, 11], "19": [4, 6, 10, 11], "view": [4, 6], "fix": [4, 6], "dot": 4, "mark": [4, 6], "top": [2, 4, 6, 7], "left": [4, 6], "corner": 4, "21": [4, 6, 10, 11], "mount": [4, 5, 6, 10, 11], "22": [4, 6, 10, 11], "lm158": 4, "amplifi": [4, 10, 11], "ads115": [4, 10, 11], "right": [4, 6], "3x11": 4, "wurth": 4, "elektronik": 4, "971110321": 4, "305": [4, 5], "apm": [4, 5], "hexseal": [4, 5], "rm3x8mm": [4, 5], "2701": [4, 5], "jjse": [4, 5], "2f12mkns3vxsdryxuhw": [4, 5], "shutdown": 4, "unplug": 4, "bottom": [4, 10, 11], "11mm": 4, "m3": [4, 5], "upper": 4, "port": [4, 6], "write": [2, 4, 5, 7, 9, 10, 11], "i2cdetect": [4, 5], "y": [4, 5], "everyth": 4, "address": [2, 4, 10, 11], "screen": [4, 10, 11], "equival": [4, 10, 11], "need": [2, 4, 5, 7, 10, 11], "1kohm": 4, "r2": [4, 10, 11], "220": 4, "r1": [4, 10, 11], "padboard": 4, "spool": 4, "prepar": [4, 5, 10, 11], "batteri": [2, 4, 6, 7, 10, 11], "red": [2, 4, 6, 7, 10, 11], "black": [4, 6, 10, 11], "ground": [4, 10, 11], "thonni": [2, 4, 7], "sample_measurement_exampl": 4, "exampl": [2, 4, 5, 6, 7, 10, 11], "result": [4, 10, 11], "channel": [5, 10, 11], "mechan": [2, 5, 7, 10, 11], "omron": 5, "g5le": 5, "vd": 5, "vdc": 5, "combin": 5, "zvn4206a": 5, "mofset": 5, "onli": [5, 9], "30": [5, 6, 10, 11], "enough": [5, 10, 11], "activ": [2, 5], "repres": [5, 10, 11], "512": 5, "expand": 5, "mcp23017": 5, "from": [2, 5, 6, 7, 10, 11], "128": [2, 5, 7], "own": 5, "0x70": 5, "0x77": 5, "0x71": 5, "0x72": 5, "0x73": 5, "140": 5, "560": 5, "62": 5, "92": [5, 10, 11], "1580994": 5, "tru": [5, 10, 11], "diod": 5, "1n4007": 5, "256": 5, "091": 5, "296": 5, "incorpor": [2, 5, 7], "sgaepimzzmueqxo7l": 5, "2fbpyakboruumren": 5, "56": 5, "776": 5, "205": 5, "46": 5, "103321": 5, "5twgzeq9e7hsylqaljjyrw": 5, "i": [2, 5, 6, 7, 10, 11], "40": [2, 5, 7, 10, 11], "732": 5, "sgaepimzzmskedp9slc0yfx16nydmpxjueeogolbldi": 5, "27": [5, 6, 10, 11], "325": 5, "over": 5, "503811": 5, "mosfet": 5, "nchannel": 5, "471": 5, "576": [5, 10], "vhuuswq2": 5, "252bsz9b": 5, "2ff6fcxt7g": 5, "100k\u03c9": 5, "061": 5, "616": 5, "beyschlag": 5, "mba02040c1003frp00": 5, "mzrxyrlhvdt9crf7zyf": 5, "2f5q": 5, "89": 5, "2717": 5, "sgaepimzzmsyydr3r27av4eqf73yoh": 5, "252baqg": 5, "252bz3hvktao": 5, "10120558": 5, "54": 5, "No": 5, "51": 5, "741727": 5, "10120862": 5, "connector": [5, 6, 10, 11], "strain": 5, "relief": 5, "44": [5, 10, 11], "742063": 5, "10120158": 5, "ribbon": [5, 6], "x": [5, 10, 11], "mm\u00b2": [5, 10, 11], "multi": [2, 5, 7, 10, 11], "colour": 5, "1012015810": 5, "127": 5, "008": 5, "1548658": 5, "hex": [5, 6], "25": [2, 5, 6, 7, 10, 11], "79": 5, "49": 5, "keyston": 5, "24300": 5, "uwqyq": 5, "2f2czwu0ejpozmzc2a": 5, "745": 5, "846": 5, "614": 5, "25515": 5, "2f2czwuxuhumfr": 5, "252bzuq": 5, "55": [5, 10, 11], "328": 5, "uqd7xcvsscnr3hwd6fta8g": 5, "100": [2, 5, 7, 10, 11], "duplic": 5, "everi": [2, 5, 7], "build": [5, 10, 11], "therefor": [5, 10, 11], "identifi": 5, "assign": 5, "alloc": 5, "here": [5, 6, 11], "default": [2, 5, 7], "jumper": 5, "note": [5, 6, 10, 11], "name": [2, 5, 7, 9, 10, 11], "zoom": [5, 6], "befor": [2, 5, 6, 7, 10, 11], "them": [2, 5, 7, 10, 11], "definit": 5, "simplifi": 5, "thing": [2, 5, 7], "do": [2, 5, 6, 7, 9], "50": [2, 5, 6, 7, 10, 11], "cm": [5, 6, 10, 11], "long": [5, 6], "flat": 5, "pole": [5, 10, 11], "detect": 5, "script": [2, 5, 7, 9], "test_mux_board": 5, "cut": 6, "compos": 6, "proper": 6, "length": [6, 10, 11], "about": 6, "correspond": [6, 10], "crimp": [6, 10, 11], "idc": 6, "suitabl": [2, 6, 7, 10, 11], "clamp": 6, "pai": [6, 10, 11], "attent": [6, 10, 11], "direct": [2, 6, 7, 10, 11], "unbalanc": 6, "perpendicular": 6, "possibl": [6, 10, 11], "same": [2, 6, 7, 10, 11], "flush": 6, "posit": [6, 10, 11], "abov": [6, 10, 11], "mux": [2, 6, 10, 11], "profil": 6, "color": 6, "yellow": 6, "tin": 6, "end": [6, 10, 11], "shown": [6, 10, 11], "pictur": 6, "ii": 6, "gnd": [6, 10, 11], "nois": 6, "often": 6, "heard": 6, "when": [2, 6, 7, 9, 10, 11], "clip": 6, "place": [6, 9, 10, 11], "second": [2, 6, 7, 10, 11], "b": [2, 6], "help": [2, 6, 7, 9], "previou": [2, 6, 7], "procedur": 6, "repeat": [2, 6, 7, 10, 11], "other": [2, 6, 7, 10, 11], "purpl": 6, "relev": [6, 9], "defin": [2, 6, 7, 9], "third": [2, 6, 7], "fourth": 6, "nylon": 6, "photograph": 6, "more": [2, 6, 7], "detail": [2, 6, 7, 10], "4th": 6, "togeth": [6, 10, 11], "tie": 6, "pvc": 6, "plate": 6, "minimum": 6, "dimens": 6, "200": 6, "150": [2, 6, 7, 10, 11], "drill": 6, "remain": [6, 10, 11], "metal": 6, "tighten": 6, "so": [6, 10, 11], "usb": 6, "hole": [6, 10, 11], "26": [6, 10, 11], "add": [6, 10, 11], "attach": 6, "washer": 6, "nut": 6, "28": [0, 6], "29": [6, 10, 11], "come": 6, "pass": [2, 6, 7], "brown": 6, "blue": [6, 10, 11], "block": [6, 10, 11], "secur": [2, 6, 7], "33": 6, "34": 6, "37": [6, 10, 11], "38": [6, 10, 11], "os": [2, 6, 7], "monitor": [2, 6, 7, 10, 11], "deliv": [6, 10, 11], "12vdc": 6, "enjoi": 6, "publish": [2, 7, 10], "journal": 10, "howev": [9, 10, 11], "correct": [10, 11], "bug": 10, "exist": [9, 10, 11], "explain": 10, "miss": 10, "point": [2, 7, 10, 11], "invit": 10, "v1": [2, 7, 10, 11], "offer": [2, 7, 10, 11], "commerci": [10, 11], "avail": [2, 7, 9, 10, 11], "field": [2, 7, 10, 11], "specif": [9, 10, 11], "temperatur": [2, 7, 10, 11], "c": [2, 7, 10, 11], "consumpt": [2, 7, 10, 11], "cpu": [2, 7, 10, 11], "control": [2, 7, 10, 11], "w": [2, 7, 10, 11], "min": [2, 7, 10, 11], "puls": [2, 7, 10, 11], "durat": [2, 7, 10, 11], "ms": [2, 7, 10, 11], "imped": [2, 7, 10, 11], "storag": [2, 7, 10, 11], "resolut": [2, 7, 10, 11], "o1": [10, 11], "step": [9, 10, 11], "youtub": [10, 11], "wjwzhv1v3pk": [10, 11], "noob": [10, 11], "simpl": [10, 11], "sure": [2, 7, 9, 10, 11], "unexpectedli": [10, 11], "boot": [10, 11], "cd": [10, 11], "gnu": [10, 11], "nano": [10, 11], "editor": [2, 7, 10, 11], "At": [10, 11], "op": [10, 11], "dl": [10, 11], "press": [10, 11], "ctrl": [10, 11], "enter": [10, 11], "escap": [10, 11], "return": [2, 7, 10, 11], "wa": [10, 11], "introduc": [2, 7, 9, 10, 11], "Its": [10, 11], "studi": [10, 11], "hous": [10, 11], "design": [2, 7, 9, 10, 11], "diagram": [10, 11], "displai": [10, 11], "mimic": [10, 11], "behavior": [10, 11], "soil": [10, 11], "subject": [10, 11], "r11": [10, 11], "r10": [10, 11], "r12": [10, 11], "constitut": [10, 11], "thei": [2, 7, 10, 11], "typic": [2, 7, 9, 10, 11], "made": [2, 7, 10, 11], "stainless": [10, 11], "steel": [10, 11], "seri": [10, 11], "part": [2, 9, 10, 11], "r9": [10, 11], "ad": [2, 7, 10, 11], "flow": [2, 7, 10, 11], "order": [2, 7, 9, 10, 11], "less": [10, 11], "sum": [10, 11], "inde": [10, 11], "000": [10, 11], "intens": [10, 11], "potenti": [10, 11], "calcul": [10, 11], "insert": [10, 11], "1115": [10, 11], "our": [2, 7, 10, 11], "a1": [10, 11], "a0": [10, 11], "increas": [10, 11], "track": [9, 10, 11], "divid": [10, 11], "bridg": [10, 11], "r5": [10, 11], "r8": [10, 11], "r6": [10, 11], "r7": [10, 11], "accord": [9, 10, 11], "n": [2, 7, 10, 11], "a2": [10, 11], "a3": [10, 11], "obtain": [10, 11], "ly": [10, 11], "rang": [9, 10, 11], "let": [10, 11], "equal": [10, 11], "multipli": [10, 11], "reduct": [10, 11], "section": [2, 7, 9, 10, 11], "despit": [10, 11], "high": [10, 11], "e": [2, 7, 10, 11], "accur": [10, 11], "still": [10, 11], "calibr": [10, 11], "voltmet": [10, 11], "variou": [10, 11], "These": [2, 7, 10, 11], "serv": [2, 7, 10, 11], "With": [10, 11], "disturb": [10, 11], "being": [10, 11], "estim": [10, 11], "mega": [10, 11], "shortcut": [10, 11], "excess": [10, 11], "whose": [2, 7, 10, 11], "lithium": [10, 11], "ion": [10, 11], "automobil": [10, 11], "lead": [10, 11], "acid": [10, 11], "strong": [10, 11], "hazard": [10, 11], "fuse": [10, 11], "repositori": [2, 7, 10, 11], "onto": [10, 11], "illustr": [2, 7, 10, 11], "ohmmet": [10, 11], "coeffici": [10, 11], "coef_p0": [10, 11], "coef_p1": [10, 11], "coef_p2": [10, 11], "coef_p3": [10, 11], "coef": [10, 11], "po": [10, 11], "p1": [10, 11], "r3": [10, 11], "r4": [10, 11], "p2": [10, 11], "p3": [10, 11], "r_ref": [10, 11], "slope": [10, 11], "convers": [10, 11], "p0": [10, 11], "accuraci": [10, 11], "both": [9, 10, 11], "addit": [2, 7, 10, 11], "lm358n": [10, 11], "appli": [10, 11], "prefer": [2, 7, 10, 11], "weaker": 10, "stronger": [10, 11], "tx": [10, 11], "rememb": [10, 11], "holder": [10, 11], "f": [10, 11], "consist": [10, 11], "circul": [10, 11], "through": [2, 7, 10, 11], "fig": [10, 11], "modul": [9, 10, 11], "switch": [10, 11], "common": [10, 11], "neg": [10, 11], "normal": [10, 11], "simultan": [10, 11], "role": [10, 11], "revers": [10, 11], "polar": [10, 11], "thu": [10, 11], "energ": [10, 11], "solut": [9, 10, 11], "manag": [2, 7, 10, 11], "next": [10, 11], "featur": [10, 11], "strict": [10, 11], "in1": [10, 11], "in2": [10, 11], "in3": [10, 11], "in4": [10, 11], "5vdc": [10, 11], "5vcc": [10, 11], "now": [10, 11], "mm2": [10, 11], "lastli": [10, 11], "congratul": [10, 11], "construct": [10, 11], "valid": [2, 10, 11], "conduct": [9, 10, 11], "manual": [2, 7, 10, 11], "practic": [9, 10, 11], "ert": [10, 11], "sever": [10, 11], "ten": [10, 11], "thousand": [10, 11], "arrai": [2, 7, 10, 11], "stuck": [10, 11], "enabl": [2, 7, 10, 11], "smaller": [10, 11], "hand": [10, 11], "entir": [2, 7, 10, 11], "cap": [10, 11], "produc": [10, 11], "clean": [10, 11], "distanc": [10, 11], "had": [10, 11], "extra": [10, 11], "As": [10, 11], "final": [10, 11], "actual": [10, 11], "singl": [2, 7, 9, 10, 11], "protocol": [2, 7, 10, 11], "horizont": [10, 11], "vertic": [10, 11], "06": [10, 11], "04": [10, 11], "09": [10, 11], "05": [10, 11], "din": [10, 11], "rail": [10, 11], "chosen": [10, 11], "consequ": [10, 11], "incom": [10, 11], "instead": [10, 11], "moreov": [10, 11], "turn": [10, 11], "bought": [10, 11], "down": [10, 11], "velleman": [10, 11], "wpm404": [10, 11], "potentiomet": [10, 11], "download": [2, 7, 10, 11], "scienc": [10, 11], "framework": [10, 11], "manuscript": [10, 11], "osf": [10, 11], "io": [10, 11], "dzwb4": [10, 11], "gitlab": [2, 7, 10, 11], "irstea": [10, 11], "unzip": [10, 11], "master": [10, 11], "readm": [10, 11], "assist": [10, 11], "disconnect": [10, 11], "handl": [2, 7, 10, 11], "charg": [10, 11], "full": [10, 11], "capac": [10, 11], "fewer": [10, 11], "bank": [10, 11], "2a": [10, 11], "ll": [10, 11], "insid": [10, 11], "abmn": [2, 7, 10, 11], "quadrupol": [2, 7, 10, 11], "numer": [10, 11], "some": [0, 2, 7, 9, 10, 11], "main": [2, 7, 10, 11], "optim": [10, 11], "attribut": [10, 11], "stack": [2, 7, 10, 11], "the9": [10, 11], "hear": [10, 11], "characterist": [10, 11], "sound": [10, 11], "permut": [10, 11], "csv": [10, 11], "nb_electrod": [2, 7, 10, 11], "maximum": [2, 7, 10, 11], "injection_dur": [2, 7, 10, 11], "nbr_mea": [2, 7, 10, 11], "sequenc": [2, 7, 10, 11], "sequence_delai": [2, 7, 10, 11], "delai": [10, 11], "repetit": [10, 11], "evolv": [10, 11], "littl": [10, 11], "public": [10, 11], "articl": [10, 11], "date": [0, 10, 11], "sainsmart": [10, 11], "canal": 10, "pour": 10, "arduino": 10, "dsp": 10, "avr": 10, "pic": 10, "arm": 10, "99": [10, 11], "199": [10, 11], "sain": [10, 11], "smart": [10, 11], "101": [10, 11], "70": [10, 11], "103": [10, 11], "018": [10, 11], "1x1": [10, 11], "66": [10, 11], "1568649": [10, 11], "1x0": [10, 11], "71": [10, 11], "1565235": [10, 11], "68": [10, 11], "rs": [10, 11], "pro": [10, 11], "897": [10, 11], "1332": [10, 11], "858": [10, 11], "627": [10, 11], "52": [10, 11], "upw50b50rv": [10, 11], "1083": [10, 11], "7ah": [10, 11], "537": [10, 11], "5488": [10, 11], "lr20": [10, 11], "9v": [10, 11], "185": [10, 11], "4686": [10, 11], "ferrul": [10, 11], "500": [10, 11], "piec": [10, 11], "weidmul": [10, 11], "9004330000": [10, 11], "966067": [10, 11], "car": 10, "littelfus": [10, 11], "fhac0002zxj": 10, "96": 10, "improv": [2, 7, 9, 11], "upgrad": [2, 7, 11], "01": [0, 2, 7, 11], "replac": [9, 11], "trn3": 11, "suppress": 11, "10v": 11, "fast": 11, "decoupl": 11, "last": 11, "veri": [9, 11], "prevent": 11, "overh": 11, "toler": 11, "orient": 11, "h": 11, "nf": 11, "tabl": 11, "jason": 11, "ohmpi_param": 11, "json": [2, 7, 11], "export_path": 11, "desktop": 11, "0251001": 11, "pat1l": 11, "box": [2, 7], "mani": [2, 7], "dii": [2, 7], "laps": [2, 7], "seek": [2, 7], "share": [2, 7, 9], "wish": [2, 7], "2023": [0, 2, 7], "stop": [2, 7], "0x": [2, 7], "effort": [2, 7], "paramet": [2, 7], "80": [2, 7], "virtual": 2, "environ": 2, "packag": [2, 7], "id": [2, 7], "summar": [2, 7], "cover": [2, 7], "acquisit": [2, 7], "separ": [2, 7], "ohmpi_set": [2, 7], "central": [2, 7], "class": [2, 7, 9], "interact": [2, 7, 9], "handler": [2, 7], "layer": [2, 7], "releas": [0, 2, 7], "excel": [2, 7], "log": [2, 7], "implement": [0, 2, 7, 9], "broker": [2, 7], "zip": [2, 7], "rotat": [2, 7], "disk": [2, 7], "exec_logg": [2, 7], "data_logg": [2, 7], "plan": [2, 7], "state": [2, 7], "health": [2, 7], "soh": [2, 7], "futur": [2, 7], "By": [2, 7], "written": [2, 7], "consol": [2, 7], "like": [2, 7], "store": [2, 7, 9], "local": [2, 7], "dai": [2, 7], "size": [2, 7], "exce": [2, 7], "sent": [2, 7], "level": [2, 7], "advanc": [2, 7], "edit": [2, 7], "setup_logg": [2, 7], "custom": [2, 7], "desir": [2, 7], "usernam": [2, 7], "password": [2, 7], "One": [2, 7], "understand": [2, 7], "alter": [2, 7], "keep": [2, 7], "bash": [2, 7], "run_http_interfac": [2, 7], "sh": [2, 7], "api": [0, 2, 7], "import": [2, 7, 9], "iot": [2, 7], "messag": [2, 7], "friendli": [2, 7], "graphic": [2, 7], "quick": [2, 7], "easi": [2, 7], "wi": [2, 7], "fi": [2, 7], "ap": [2, 7], "webserv": [2, 7], "index": [2, 7], "html": [2, 7], "laptop": [2, 7], "mobil": [2, 7], "phone": [2, 7], "upload": [2, 7], "act": [2, 7], "raspap": [2, 7], "runonstart": [2, 7], "itself": [2, 7], "141": [2, 7], "8080": [2, 7], "pseudo": [2, 7], "evolut": [2, 7], "appar": [2, 7], "especi": [2, 7], "suit": [2, 7], "autom": [2, 7], "ipython": [2, 7], "ssh": [2, 7], "putti": [2, 7], "maco": [2, 7], "linux": [2, 7], "found": [2, 7], "np": [2, 7], "chdir": [2, 7], "object": [2, 7], "k": [2, 7], "load": [2, 7], "nb_stack": [2, 7], "half": [2, 7], "cycl": [2, 7], "updat": [2, 7], "update_set": [2, 7], "shape": [2, 7], "set_sequ": [2, 7], "n2": [2, 7], "string": [2, 7], "load_sequ": [2, 7], "rs_check": [2, 7], "synchron": [2, 7], "wait": [2, 7], "prompt": [2, 7], "run_sequ": [2, 7], "run_sequence_async": [2, 7], "thread": [2, 7], "immedi": [2, 7], "sleep": [2, 7], "interrupt": [2, 7], "kill": [2, 7], "asynchron": [2, 7], "given": [2, 7], "interv": [2, 7], "nb_mea": [2, 7], "run_multiple_sequ": [2, 7], "taken": [2, 7], "switch_mux_on": [2, 7], "run_measur": [2, 7], "switch_mux_off": [2, 7], "risk": [2, 7], "short": [2, 7], "argument": [2, 7], "autogain": [2, 7], "true": [2, 7], "good": [2, 7], "usag": [2, 7], "process": [2, 7], "sensor": [2, 7], "scope": [2, 7], "internet": [2, 7], "network": [2, 7], "auxiliari": [2, 7], "subscrib": [2, 7], "approach": [2, 7], "mosquitto": [2, 7], "server": [2, 7], "reachabl": [2, 7], "net": [2, 7], "servic": [2, 7], "install_local_mqtt_brok": [2, 7], "examin": [2, 7], "easili": [2, 7, 9], "parti": [2, 7], "explor": [2, 7], "receiv": [2, 7], "reboot": [2, 7], "further": [2, 7], "format": [2, 7], "kwarg": [2, 7], "cmd_id": [2, 7], "3fzxv121uitwgjwygcz4xw": [2, 7], "cmd": [2, 7], "3fzxv121uitwgjwygcz4yw": [2, 7], "tailor": [2, 7], "dashboard": [2, 7], "browser": [2, 7], "node": [2, 7], "complex": [2, 7], "properli": [2, 7], "palett": [2, 7], "noder": [2, 7], "doc": [2, 7], "guid": [2, 7], "ui": [2, 7], "visual": [2, 7], "cookbook": [2, 7], "draft": 9, "TO": 9, "BE": 9, "review": 9, "intend": 9, "advic": 9, "best": 9, "contribut": 9, "maintain": 9, "promot": 9, "exchang": 9, "reus": 9, "contributor": 9, "ideal": 9, "few": 9, "distinguish": 9, "deal": 9, "compli": 9, "Such": 9, "focu": 9, "reduc": 9, "newli": 9, "expos": 9, "minim": 9, "hardware_system": 9, "discuss": 9, "ohmpi_hardwar": 9, "initi": 9, "earli": 9, "stage": 9, "investig": 9, "strategi": 9, "readi": 9, "conceiv": 9, "kicad": 9, "schema": 9, "alwai": 9, "branch": 9, "python": 9, "similar": 9, "hardware_compon": 9, "abstract": 9, "abstract_hardware_compon": 9, "method": 9, "configur": [0, 9], "hardware_config": 9, "dictionari": 9, "config_xxx": 9, "xxx": 9, "nov": 0, "juli": 0, "2016": 0, "target": 0, "research": 0, "statu": 0, "matur": 0, "progress": 0, "offici": 0, "guidelin": 0, "tutori": 0, "content": 0, "partner": 0, "cite": 0, "introduct": 0, "technic": 0, "v2023": 0, "tow": 4, "led": 6, "consid": 6, "temporari": 6, "orang": 6, "interfac": 0}, "objects": {"": [[8, 0, 0, "-", "ohmpi"]]}, "objtypes": {"0": "py:module"}, "objnames": {"0": ["py", "module", "Python module"]}, "titleterms": {"ohmpi": [0, 1, 2, 6, 7, 10, 11], "project": 1, "author": 1, "partner": 1, "cite": 1, "introduct": 1, "step": [2, 3, 4, 5, 6, 7], "n": [3, 4, 5, 6], "1": [3, 10, 11], "raspberri": [3, 10, 11], "pi": [3, 10, 11], "configur": [2, 3, 7, 10, 11], "part": [3, 4, 5], "A": [3, 4, 5], "os": [3, 10, 11], "instal": [3, 10, 11], "b": [3, 4, 5, 10, 11], "virtual": [3, 10, 11], "environ": [3, 10, 11], "packag": [3, 10, 11], "c": [3, 4, 5], "activ": [3, 10, 11], "thonni": [3, 10, 11], "python": [2, 3, 7, 10, 11], "id": [3, 10, 11], "2": 4, "measur": [4, 10, 11], "board": [4, 5, 10, 11], "assembl": [4, 5, 6, 10, 11], "requir": [4, 5], "compon": [4, 5, 9, 10, 11], "list": [4, 5, 10, 11], "descript": [4, 10, 11], "start": 4, "up": 4, "check": 4, "3": 5, "mux": 5, "address": 5, "valid": 5, "4": 6, "v": [10, 11], "01": 10, "limit": [10, 11], "32": [10, 11], "electrod": [2, 7, 10, 11], "The": [2, 7, 10, 11], "philosophi": [2, 7, 10, 11], "technic": [10, 11], "data": [10, 11], "current": [10, 11], "inject": [10, 11], "card": [10, 11], "connect": [10, 11], "electr": [10, 11], "resist": [0, 10, 11], "implement": [10, 11], "first": [10, 11], "four": [10, 11], "multiplex": [10, 11], "oper": [2, 7, 10, 11], "instruct": [10, 11], "preliminari": [10, 11], "procedur": [10, 11], "onli": [10, 11], "initi": [10, 11], "startup": [10, 11], "paramet": [10, 11], "complet": [10, 11], "tabl": 10, "titl": 10, "02": 11, "v2023": [2, 7], "64": [2, 7], "12v": [2, 7], "hardwar": [0, 2, 7, 9], "specif": [2, 7], "build": [2, 7], "an": [2, 7], "softwar": [2, 7, 9], "system": [2, 7], "architectur": [2, 7], "logger": [2, 7], "file": [2, 7], "interfac": [2, 7, 9], "applic": [2, 7], "web": [2, 7], "mqtt": [2, 7], "api": 8, "refer": 8, "new": 9, "open": 0, "sourc": 0, "meter": 0, "summari": 0, "document": 0, "center": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}})
\ No newline at end of file
diff --git a/doc/build/html/source_rst/V2023.x.x/V2023_step_02.html b/doc/build/html/source_rst/V2023.x.x/V2023_step_02.html
index 3f2f0ca2a0154e2780774ccfbe39a970c9dab61d..6f76d7dde2144e95bd9cc194141fd8f42e002485 100644
--- a/doc/build/html/source_rst/V2023.x.x/V2023_step_02.html
+++ b/doc/build/html/source_rst/V2023.x.x/V2023_step_02.html
@@ -575,6 +575,46 @@ corners)</p></td>
 </tr>
 </tbody>
 </table>
+<table class="docutils align-default" id="id2">
+<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id2" title="Permalink to this table"></a></caption>
+<colgroup>
+<col style="width: 8%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 9%" />
+<col style="width: 9%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Component</p></th>
+<th class="head"><p>Number</p></th>
+<th class="head"><p>Cost per unit €</p></th>
+<th class="head"><p>Total cost €</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>Manufacturer s reference</p></th>
+<th class="head"><p>Web reference</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>Spacer 3x11 mm</p></td>
+<td><p>8</p></td>
+<td><p>0.39</p></td>
+<td><p>3.12</p></td>
+<td><p>Wurth Elektronik</p></td>
+<td><p>971110321</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Seeed-Studio/102110421?qs=7MVldsJ5UaxeN3LYyh3sqw%3D%3D">https://www.mouser.fr/ProductDetail/Seeed-Studio/102110421?qs=7MVldsJ5UaxeN3LYyh3sqw%3D%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>Screw</p></td>
+<td><p>4</p></td>
+<td><p>0.305</p></td>
+<td><p>1.22</p></td>
+<td><p>APM HEXSEAL</p></td>
+<td><p>RM3X8MM-2701</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/APM-HEXSEAL/RM3X8MM-2701?qs=JJSE%2F12mKnS3VxSDrYXUHw%3D%3D">https://www.mouser.fr/ProductDetail/APM-HEXSEAL/RM3X8MM-2701?qs=JJSE%2F12mKnS3VxSDrYXUHw%3D%3D</a></p></td>
+</tr>
+</tbody>
+</table>
 <table class="docutils align-center">
 <tbody>
 <tr class="row-odd"><td rowspan="2"><p>1</p></td>
diff --git a/doc/build/html/source_rst/V2023.x.x/V2023_step_03.html b/doc/build/html/source_rst/V2023.x.x/V2023_step_03.html
index f3c7e95c7d0455ef7d0aa32431f5a03c61ea8c42..81f98e4879bcdd66d88c5e46b89549b30c5306e4 100644
--- a/doc/build/html/source_rst/V2023.x.x/V2023_step_03.html
+++ b/doc/build/html/source_rst/V2023.x.x/V2023_step_03.html
@@ -110,6 +110,180 @@ In the following presentation for an OhmPi 64 electrodes, we will use the addres
 <figure class="align-center">
 <a class="reference internal image-reference" href="../../_images/MUX_board_components.jpg"><img alt="alternate text" src="../../_images/MUX_board_components.jpg" style="width: 600px; height: 650px;" /></a>
 </figure>
+<table class="docutils align-default" id="id1">
+<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id1" title="Permalink to this table"></a></caption>
+<colgroup>
+<col style="width: 8%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 9%" />
+<col style="width: 9%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Component</p></th>
+<th class="head"><p>Number</p></th>
+<th class="head"><p>Cost per unit €</p></th>
+<th class="head"><p>Total cost €</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>Manufacturer s reference</p></th>
+<th class="head"><p>Web reference</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>Printed circuit board</p></td>
+<td><p>4</p></td>
+<td><p>140</p></td>
+<td><p>560</p></td>
+<td><p>Asler</p></td>
+<td><ul class="simple">
+<li></li>
+</ul>
+</td>
+<td><ul class="simple">
+<li></li>
+</ul>
+</td>
+</tr>
+<tr class="row-odd"><td><p>Pin strip no ejector  16 pins</p></td>
+<td><p>16</p></td>
+<td><p>0.62</p></td>
+<td><p>9.92</p></td>
+<td><p>BLK electronic</p></td>
+<td><p>1580994</p></td>
+<td><p><a class="reference external" href="https://www.conrad.com/p/tru-components-1580994-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-16-no-of-rows-2-1-pcs-1580994">https://www.conrad.com/p/tru-components-1580994-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-16-no-of-rows-2-1-pcs-1580994</a></p></td>
+</tr>
+<tr class="row-even"><td><p>diode-1n4007</p></td>
+<td><p>256</p></td>
+<td><p>0.091</p></td>
+<td><p>23.296</p></td>
+<td><p>Diodes Incorporated</p></td>
+<td><p>1N4007-T</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Diodes-Incorporated/1N4007-T?qs=sGAEpiMZZMueQxo7L%2FBPyAkbORUUMREn">https://www.mouser.fr/ProductDetail/Diodes-Incorporated/1N4007-T?qs=sGAEpiMZZMueQxo7L%2FBPyAkbORUUMREn</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>Pin strip no ejector  6 pins</p></td>
+<td><p>4</p></td>
+<td><p>0.39</p></td>
+<td><p>1.56</p></td>
+<td><p>BLK electronic</p></td>
+<td><p>10120550</p></td>
+<td><p><a class="reference external" href="https://www.conrad.com/p/bkl-electronic-10120550-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-6-no-of-rows-2-1-pcs-741435">https://www.conrad.com/p/bkl-electronic-10120550-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-6-no-of-rows-2-1-pcs-741435</a></p></td>
+</tr>
+<tr class="row-even"><td><p>Dual screw terminal (5.08-mm pitch)</p></td>
+<td><p>12</p></td>
+<td><p>0.648</p></td>
+<td><p>7.776</p></td>
+<td><p>CUI Devices</p></td>
+<td><p>TB009-508-02BE</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/CUI-Devices/TB009-508-02BE?qs=vLWxofP3U2wCFk5uCkWTkA%3D%3D">https://www.mouser.fr/ProductDetail/CUI-Devices/TB009-508-02BE?qs=vLWxofP3U2wCFk5uCkWTkA%3D%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>Generic male header - 3 pins</p></td>
+<td><p>12</p></td>
+<td><p>0.205</p></td>
+<td><p>2.46</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>4-103321-5</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/TE-Connectivity/4-103321-5?qs=5TwgZeq9E7HSYLqaljJYrw%3D%3D">https://www.mouser.fr/ProductDetail/TE-Connectivity/4-103321-5?qs=5TwgZeq9E7HSYLqaljJYrw%3D%3D</a></p></td>
+</tr>
+<tr class="row-even"><td><p>MCP23017 I2C I/O Expander</p></td>
+<td><p>16</p></td>
+<td><p>2.5</p></td>
+<td><p>40</p></td>
+<td><p>Adafruit</p></td>
+<td><p>732</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Adafruit/732?qs=sGAEpiMZZMsKEdP9slC0Yfx16nYdMpXJueeOGoLBlDI%3D">https://www.mouser.fr/ProductDetail/Adafruit/732?qs=sGAEpiMZZMsKEdP9slC0Yfx16nYdMpXJueeOGoLBlDI%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>Omron G5LE-1-VD 12 VDC PCB relay 12 V DC 8 A 1</p></td>
+<td><p>256</p></td>
+<td><p>1.27</p></td>
+<td><p>325.12</p></td>
+<td><p>Omron</p></td>
+<td><p>G5LE-1-VD 12 VDC</p></td>
+<td><p><a class="reference external" href="https://www.conrad.com/p/omron-g5le-1-vd-12-vdc-pcb-relay-12-v-dc-8-a-1-change-over-1-pcs-503811">https://www.conrad.com/p/omron-g5le-1-vd-12-vdc-pcb-relay-12-v-dc-8-a-1-change-over-1-pcs-503811</a></p></td>
+</tr>
+<tr class="row-even"><td><p>ZVN4206A   MOSFET-NCHANNEL</p></td>
+<td><p>256</p></td>
+<td><p>0.471</p></td>
+<td><p>120.576</p></td>
+<td><p>Diodes Incorporated</p></td>
+<td><p>ZVN4206A</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Diodes-Incorporated/ZVN4206A?qs=vHuUswq2%252Bsz9b%2Ff6fcXt7g%3D%3D">https://www.mouser.fr/ProductDetail/Diodes-Incorporated/ZVN4206A?qs=vHuUswq2%252Bsz9b%2Ff6fcXt7g%3D%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>100kΩ Resistor</p></td>
+<td><p>256</p></td>
+<td><p>0.061</p></td>
+<td><p>15.616</p></td>
+<td><p>Vishay / Beyschlag</p></td>
+<td><p>MBA02040C1003FRP00</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Vishay-Beyschlag/MBA02040C1003FRP00?qs=mzRxyRlhVdt9crF7Zyf%2F5Q%3D%3D">https://www.mouser.fr/ProductDetail/Vishay-Beyschlag/MBA02040C1003FRP00?qs=mzRxyRlhVdt9crF7Zyf%2F5Q%3D%3D</a></p></td>
+</tr>
+<tr class="row-even"><td><p>Adafruit TCA9548A</p></td>
+<td><p>4</p></td>
+<td><p>5.89</p></td>
+<td><p>23.56</p></td>
+<td><p>Adafruit</p></td>
+<td><p>2717</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Adafruit/2717?qs=sGAEpiMZZMsyYdr3R27aV4EQf73yOH%252Baqg%252BZ3hVktao%3D">https://www.mouser.fr/ProductDetail/Adafruit/2717?qs=sGAEpiMZZMsyYdr3R27aV4EQf73yOH%252Baqg%252BZ3hVktao%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>BKL Electronic 10120558 Pin strip no ejector Contact spacing: 2.54 mm Total number of pins: 16 No. of rows: 2 1 pc(s)</p></td>
+<td><p>16</p></td>
+<td><p>0.51</p></td>
+<td><p>8.16</p></td>
+<td><p>BLK electronic</p></td>
+<td><p>10120558</p></td>
+<td><p><a class="reference external" href="https://www.conrad.com/p/bkl-electronic-10120558-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-16-no-of-rows-2-1-pcs-741727?searchTerm=741727&amp;searchType=suggest&amp;searchSuggest=product">https://www.conrad.com/p/bkl-electronic-10120558-pin-strip-no-ejector-contact-spacing-254-mm-total-number-of-pins-16-no-of-rows-2-1-pcs-741727?searchTerm=741727&amp;searchType=suggest&amp;searchSuggest=product</a></p></td>
+</tr>
+<tr class="row-even"><td><p>BKL Electronic 10120862 Pin connector + strain relief Contact spacing: 2.54 mm Total number of pins: 6 No. of rows: 2 1</p></td>
+<td><p>16</p></td>
+<td><p>0.84</p></td>
+<td><p>13.44</p></td>
+<td><p>BLK electronic</p></td>
+<td><p>10120862</p></td>
+<td><p><a class="reference external" href="https://www.conrad.com/p/bkl-electronic-10120862-pin-connector-strain-relief-contact-spacing-254-mm-total-number-of-pins-6-no-of-rows-2-1-742063">https://www.conrad.com/p/bkl-electronic-10120862-pin-connector-strain-relief-contact-spacing-254-mm-total-number-of-pins-6-no-of-rows-2-1-742063</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>BKL Electronic 10120158/10 Ribbon cable Contact spacing: 1.27 mm 16 x 0.08 mm² Multi-coloured 10 m</p></td>
+<td><p>1</p></td>
+<td><p>27</p></td>
+<td><p>27</p></td>
+<td><p>BLK electronic</p></td>
+<td><p>10120158/10</p></td>
+<td><p><a class="reference external" href="https://www.conrad.com/p/bkl-electronic-1012015810-ribbon-cable-contact-spacing-127-mm-16-x-008-mm-multi-coloured-10-m-1548658?searchTerm=1548658&amp;searchType=suggest&amp;searchSuggest=product">https://www.conrad.com/p/bkl-electronic-1012015810-ribbon-cable-contact-spacing-127-mm-16-x-008-mm-multi-coloured-10-m-1548658?searchTerm=1548658&amp;searchType=suggest&amp;searchSuggest=product</a></p></td>
+</tr>
+<tr class="row-even"><td><p>spacer 5.5 HEX 25 mm M3 male/female</p></td>
+<td><p>31</p></td>
+<td><p>2.79</p></td>
+<td><p>86.49</p></td>
+<td><p>Keystone Electronics</p></td>
+<td><p>24300</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Keystone-Electronics/24300?qs=UWqYQ%2F2cZWu0ejpOzmZC2A%3D%3D">https://www.mouser.fr/ProductDetail/Keystone-Electronics/24300?qs=UWqYQ%2F2cZWu0ejpOzmZC2A%3D%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>Screw</p></td>
+<td><p>9</p></td>
+<td><p>0.305</p></td>
+<td><p>2.745</p></td>
+<td><p>APM HEXSEAL</p></td>
+<td><p>RM3X8MM-2701</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/APM-HEXSEAL/RM3X8MM-2701?qs=JJSE%2F12mKnS3VxSDrYXUHw%3D%3D">https://www.mouser.fr/ProductDetail/APM-HEXSEAL/RM3X8MM-2701?qs=JJSE%2F12mKnS3VxSDrYXUHw%3D%3D</a></p></td>
+</tr>
+<tr class="row-even"><td><p>spacer 5.5 HEX 25 mm M3 female/female</p></td>
+<td><p>9</p></td>
+<td><p>0.846</p></td>
+<td><p>7.614</p></td>
+<td><p>Keystone Electronics</p></td>
+<td><p>25515</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Keystone-Electronics/25515?qs=UWqYQ%2F2cZWuxuhUmfr%252BZuQ%3D%3D">https://www.mouser.fr/ProductDetail/Keystone-Electronics/25515?qs=UWqYQ%2F2cZWuxuhUmfr%252BZuQ%3D%3D</a></p></td>
+</tr>
+<tr class="row-odd"><td><p>DIP dual-in-line 2*14</p></td>
+<td><p>16</p></td>
+<td><p>1.55</p></td>
+<td><p>24.8</p></td>
+<td><p>Preci-dip</p></td>
+<td><p>110-87-328-41-001101</p></td>
+<td><p><a class="reference external" href="https://www.mouser.fr/ProductDetail/Preci-dip/110-87-328-41-001101?qs=uQD7XCvsSCNr3HWD6fta8g%3D%3D">https://www.mouser.fr/ProductDetail/Preci-dip/110-87-328-41-001101?qs=uQD7XCvsSCNr3HWD6fta8g%3D%3D</a></p></td>
+</tr>
+</tbody>
+</table>
 <table class="docutils align-center">
 <tbody>
 <tr class="row-odd"><td rowspan="2"><p>1</p></td>
diff --git a/doc/build/html/source_rst/V2024.x.x/V2024.html b/doc/build/html/source_rst/V2024.x.x/V2024.html
index 204abc787241bdfd6101afd3e1568442a763e956..e0123cbbd40b27777b40a1394b7c58499db36dc7 100644
--- a/doc/build/html/source_rst/V2024.x.x/V2024.html
+++ b/doc/build/html/source_rst/V2024.x.x/V2024.html
@@ -71,6 +71,7 @@
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="../api.html">API reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../developing_hardware_components.html">Software interface to new hardware components</a></li>
 </ul>
 
         </div>
diff --git a/doc/build/html/source_rst/developing_hardware_components.html b/doc/build/html/source_rst/developing_hardware_components.html
new file mode 100644
index 0000000000000000000000000000000000000000..7ee431e6d75a571a7f7a5a6429f4d5867ff01374
--- /dev/null
+++ b/doc/build/html/source_rst/developing_hardware_components.html
@@ -0,0 +1,144 @@
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Software interface to new hardware components &mdash; OhmPi open hardware resistivity-meter documentation</title>
+      <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+        <script src="../_static/doctools.js"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="prev" title="API reference" href="api.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+
+          
+          
+          <a href="../index.html" class="icon icon-home">
+            OhmPi
+          </a>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="Ohmpi.html">OhmPi project</a></li>
+<li class="toctree-l1"><a class="reference internal" href="v1.xx/V1_01.html">OhmPi V 1.01 (limited to 32 electrodes)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="v1.xx/V1_02.html">OhmPi V 1.02 (limited to 32 electrodes)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="V2023.x.x/V2023.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="V2024.x.x/V2024.html">OhmPi V2023 (64 electrodes and 12V)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="api.html">API reference</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Software interface to new hardware components</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">OhmPi</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Software interface to new hardware components</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="../_sources/source_rst/developing_hardware_components.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="software-interface-to-new-hardware-components">
+<h1>Software interface to new hardware components<a class="headerlink" href="#software-interface-to-new-hardware-components" title="Permalink to this heading"></a></h1>
+<p><a href="#id1"><span class="problematic" id="id2">**</span></a>* DRAFT VERSION - TO BE REVIEWED *
+This section is intended for developers of a new hardware component as part of an OhmPi system.</p>
+<p>It presents some advices and best practices that should help developing new hardware components to work
+within an OhmPi system.</p>
+<p>OhmPi is an open source system and contributions in terms of hardware and software are welcome. However, in order to
+maintain the project on tracks and promote exchange and reuse, it is necessary that contributors
+Developing a new hardware component should ideally follow a few basic steps.</p>
+<p>Two cases should be distinguished when dealing with hardware development components:</p>
+<p>1- Developments of a hardware component that comply with the way the OhmPi Hardware System works. Such developments typically
+focus on improving an existing component (reduce cost, improve performance, adapt range to specific applications,
+design with easily available parts…). The newly created hardware component will expose the minimal functionalities required
+by hardware_system for this type of component.</p>
+<p>2- Developments of a hardware component that introduce changes in the way the OhmPi Hardware System works. Such
+developments do not only focus on improving a single component but also on the way to operate the system. A
+discussion with developers of the OhmPi_Hardware and OhmPi classes should be initiated at a very early stage to investigate
+the best ways to design and implement a working solution.</p>
+<p>If you are dealing with case 1 or have designed a development path and strategy, you are ready to start.</p>
+<p>First the hardware board/device should be conceived and designed. The Ohmpi team recommends that contributors design or
+import their boards within KiCAD and that both schemas and PCB are shared.</p>
+<p>When developing a new component Class, always start your development in a new branch.
+1- Create a new python file or make a copy and modify an existing similar component file. All hardware component modules
+are stored in the ohmpi/hardware_component directory.
+In the newly created python file, define a new class based on the relevant abstract class of abstract_hardware_components.py.
+Implement the abstract methods to interact with your hardware. Name the file according to the name of the component.
+Make sure to place this new python module in the ohmpi/hardware_component directory.</p>
+<p>2- Create a new configuration file or make a copy and modify an existing configuration file. All existing config files
+are stored in the ohmpi/hardware_component directory.
+In this newly created config file, describe your system including the new component in the HARDWARE_CONFIG dictionary.
+Name it config_XXX.py where XXX should be replaced by an expression describing the system.
+Make sure to place your new config file in the ohmpi/configs directory.</p>
+<p>3- Create a new script or make a copy and modify of an existing script for testing the component.
+In this script, write python code where you will conduct the tests of the required functionalities of the new component.</p>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="api.html" class="btn btn-neutral float-left" title="API reference" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2022, the OhmPi Team..</p>
+  </div>
+
+  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    provided by <a href="https://readthedocs.org">Read the Docs</a>.
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/doc/build/html/source_rst/v1.xx/V1_01.html b/doc/build/html/source_rst/v1.xx/V1_01.html
index 7ad64b08ba1a525fe09c9c7b2a03c3de48522dad..8a6d66e0f7c3dceded418a855cc7a119a2b8f272 100644
--- a/doc/build/html/source_rst/v1.xx/V1_01.html
+++ b/doc/build/html/source_rst/v1.xx/V1_01.html
@@ -574,6 +574,168 @@ are displayed on the screen. A measurement file is automatically created and nam
 <p class="admonition-title">Warning</p>
 <p>The list evolve a little bit after the publication of the article, it is necessary to refer to this list, the article is out of date</p>
 </div>
+<table class="docutils align-default" id="id9">
+<caption><span class="caption-text">Table Title</span><a class="headerlink" href="#id9" title="Permalink to this table"></a></caption>
+<colgroup>
+<col style="width: 8%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Component</p></th>
+<th class="head"><p>Number</p></th>
+<th class="head"><p>Cost per unit</p></th>
+<th class="head"><p>Total cost</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>Manufacturer s reference</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>Raspberry Pi 3 Model B+</p></td>
+<td><p>1</p></td>
+<td><p>37</p></td>
+<td><p>37</p></td>
+<td><p>Raspberry</p></td>
+<td><p>Raspberry Pi 3 Model B</p></td>
+</tr>
+<tr class="row-odd"><td><p>Raspberry Pi 1 2 and 3 Power Supply</p></td>
+<td><p>1</p></td>
+<td><p>8.37</p></td>
+<td><p>8.37</p></td>
+<td><p>Raspberry</p></td>
+<td><p>Raspberry Pi 1 2 and 3 Power Supply</p></td>
+</tr>
+<tr class="row-even"><td><p>SainSmart 16-Channel Canal 12V Relay Relais Module pour Arduino DSP AVR PIC ARM</p></td>
+<td><p>8</p></td>
+<td><p>24.99</p></td>
+<td><p>199.92</p></td>
+<td><p>Sain Smart</p></td>
+<td><p>101-70-103</p></td>
+</tr>
+<tr class="row-odd"><td><p>4-Channel 5V Relay Module</p></td>
+<td><p>1</p></td>
+<td><p>7.99</p></td>
+<td><p>7.99</p></td>
+<td><p>Sain Smart</p></td>
+<td><p>20-018-101-CMS</p></td>
+</tr>
+<tr class="row-even"><td><p>cable 1X1 mm2 (50 m)</p></td>
+<td><p>1</p></td>
+<td><p>19.66</p></td>
+<td><p>19.66</p></td>
+<td><p>TRU COMPONENTS</p></td>
+<td><p>1568649</p></td>
+</tr>
+<tr class="row-odd"><td><p>cable 1X0.5 mm2 (100 m)</p></td>
+<td><p>1</p></td>
+<td><p>29.71</p></td>
+<td><p>29.71</p></td>
+<td><p>TRU COMPONENTS</p></td>
+<td><p>1565235</p></td>
+</tr>
+<tr class="row-even"><td><p>Printed circuit board (packaging quantity x 3)</p></td>
+<td><p>1</p></td>
+<td><p>12</p></td>
+<td><p>12</p></td>
+<td><p>Asler</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>Header sets 1x10</p></td>
+<td><p>1</p></td>
+<td><p>2.68</p></td>
+<td><p>2.68</p></td>
+<td><p>Samtec</p></td>
+<td><p>SSW-110-02-G-S</p></td>
+</tr>
+<tr class="row-even"><td><p>Dual screw terminal (3.5-mm pitch)</p></td>
+<td><p>7</p></td>
+<td><p>0.648</p></td>
+<td><p>4.55</p></td>
+<td><p>RS PRO</p></td>
+<td><p>897-1332</p></td>
+</tr>
+<tr class="row-odd"><td><p>Resistor 1 Kohm 0.5W +- 0.1%</p></td>
+<td><p>4</p></td>
+<td><p>0.858</p></td>
+<td><p>3.44</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>H81K0BYA</p></td>
+</tr>
+<tr class="row-even"><td><p>Resistor 1.5 Kohms +- 0.1%</p></td>
+<td><p>4</p></td>
+<td><p>0.627</p></td>
+<td><p>2.52</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>H81K5BYA</p></td>
+</tr>
+<tr class="row-odd"><td><p>Resistor 50 +- 0.1%</p></td>
+<td><p>1</p></td>
+<td><p>8.7</p></td>
+<td><p>8.7</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>UPW50B50RV</p></td>
+</tr>
+<tr class="row-even"><td><p>LM358N AMP-o</p></td>
+<td><p>4</p></td>
+<td><p>0.8</p></td>
+<td><p>2.4</p></td>
+<td><p>Texas Instruments</p></td>
+<td><p>LM358AN/NOPB</p></td>
+</tr>
+<tr class="row-odd"><td><p>ADS1115</p></td>
+<td><p>1</p></td>
+<td><p>11.9</p></td>
+<td><p>11.9</p></td>
+<td><p>Adafruit</p></td>
+<td><p>1083</p></td>
+</tr>
+<tr class="row-even"><td><p>12V battery 7ah</p></td>
+<td><p>1</p></td>
+<td><p>19.58</p></td>
+<td><p>19.58</p></td>
+<td><p>RS PRO</p></td>
+<td><p>537-5488</p></td>
+</tr>
+<tr class="row-odd"><td><p>Battery Holder Type D LR20 (9V)</p></td>
+<td><p>1</p></td>
+<td><p>3.43</p></td>
+<td><p>3.43</p></td>
+<td><p>RS PRO</p></td>
+<td><p>185-4686</p></td>
+</tr>
+<tr class="row-even"><td><p>Ferrule Crimp Terminal (1 mm2) (500 pieces)</p></td>
+<td><p>1</p></td>
+<td><p>30.48</p></td>
+<td><p>30.48</p></td>
+<td><p>WEIDMULLER</p></td>
+<td><p>9004330000</p></td>
+</tr>
+<tr class="row-odd"><td><p>Electrical Crimp Terminal (0.5 mm2) (100 piece)</p></td>
+<td><p>1</p></td>
+<td><p>6.38</p></td>
+<td><p>6.38</p></td>
+<td><p>AMP - TE CONNECTIVITY</p></td>
+<td><p>966067-1</p></td>
+</tr>
+<tr class="row-even"><td><p>Car Fuse 1.0 A</p></td>
+<td><p>1</p></td>
+<td><p>0.2</p></td>
+<td></td>
+<td><p>LITTELFUSE</p></td>
+<td><p>LITTELFUSE</p></td>
+</tr>
+<tr class="row-odd"><td><p>Fuse holder (576-FHAC0002ZXJ)</p></td>
+<td><p>1</p></td>
+<td><p>4.96</p></td>
+<td><p>4.96</p></td>
+<td><p>LITTELFUSE</p></td>
+<td><p>FHAC0002ZXJ</p></td>
+</tr>
+</tbody>
+</table>
 </section>
 </section>
 
diff --git a/doc/build/html/source_rst/v1.xx/V1_02.html b/doc/build/html/source_rst/v1.xx/V1_02.html
index a53c97a3684b7e4ce1cd5f2accf5623dfc65040f..9abfed134ef6aeec9bddc5ca5ade45e5073babf7 100644
--- a/doc/build/html/source_rst/v1.xx/V1_02.html
+++ b/doc/build/html/source_rst/v1.xx/V1_02.html
@@ -187,7 +187,7 @@ For this step, the installation instructions are well described on the Raspberry
 <p class="admonition-title">Note</p>
 <p>All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:</p>
 <figure class="align-center">
-<a class="reference internal image-reference" href="source_rst/v1.xx/raspbian_version.jpg"><img alt="alternate text" src="source_rst/v1.xx/raspbian_version.jpg" style="width: 800px; height: 400px;" /></a>
+<a class="reference internal image-reference" href="../../_images/raspbian_version1.jpg"><img alt="alternate text" src="../../_images/raspbian_version1.jpg" style="width: 800px; height: 400px;" /></a>
 </figure>
 </div>
 <div class="admonition warning">
@@ -265,21 +265,21 @@ to leave the virtual environment simply type:</p>
 <p>1- Run the Thonny Python IDE software, Click on raspberry access <strong>menu &gt; programming&gt; Thonny pythonIDE</strong></p>
 <p>2- Thonny opens, Python runs on the root (Python 3.7.3 (/usr/bin/python3))</p>
 <figure class="align-center">
-<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_first_interface.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_first_interface.jpg" style="width: 600px; height: 450px;" /></a>
+<a class="reference internal image-reference" href="../../_images/thonny_first_interface2.jpg"><img alt="alternate text" src="../../_images/thonny_first_interface2.jpg" style="width: 600px; height: 450px;" /></a>
 </figure>
 <p>3-Click on <strong>Run&gt;select interpreter</strong>, a new window opens click on interpret</p>
 <figure class="align-center">
-<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_option.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_option.jpg" style="width: 600px; height: 450px;" /></a>
+<a class="reference internal image-reference" href="../../_images/thonny_option1.jpg"><img alt="alternate text" src="../../_images/thonny_option1.jpg" style="width: 600px; height: 450px;" /></a>
 </figure>
 <p>4-On the new open windows select <strong>alternative Python3 or virtual environment</strong></p>
 <figure class="align-center">
-<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_interpreter.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_interpreter.jpg" style="width: 600px; height: 450px;" /></a>
+<a class="reference internal image-reference" href="../../_images/thonny_interpreter1.jpg"><img alt="alternate text" src="../../_images/thonny_interpreter1.jpg" style="width: 600px; height: 450px;" /></a>
 </figure>
 <p>5- New buttons appeared, selected <strong>“locate another python executable “</strong></p>
 <p>6- A new window opens, find the folder where there is the python 3 file in the virtual environment folder previously created <strong>/home/pi/ohmpi/bin/python3</strong>.</p>
 <p>7- In the <strong>known interpreter</strong> tab the path of the virtual environment should appear</p>
 <figure class="align-center">
-<a class="reference internal image-reference" href="source_rst/v1.xx/thonny_interpreter_folder.jpg"><img alt="alternate text" src="source_rst/v1.xx/thonny_interpreter_folder.jpg" style="width: 600px; height: 450px;" /></a>
+<a class="reference internal image-reference" href="../../_images/thonny_interpreter_folder1.jpg"><img alt="alternate text" src="../../_images/thonny_interpreter_folder1.jpg" style="width: 600px; height: 450px;" /></a>
 </figure>
 <p>8- Close the window by clicking on <strong>ok</strong>.</p>
 <p>9- Close thonny to save modifications</p>
@@ -328,7 +328,7 @@ We also added 4 capacitors on the +12v inputs of the fast operational amplifiers
 between each power supply terminal and ground. The last point, we have added a four very high resistances of 10 MOhm, between the ground and
 the signal input on the operational amplifiers. This prevents the operational amplifiers from overheating.</p>
 <figure class="align-center" id="id1">
-<a class="reference internal image-reference" href="source_rst/v1.xx/schema_measurement_board1_02.png"><img alt="alternate text" src="source_rst/v1.xx/schema_measurement_board1_02.png" style="width: 800px; height: 400px;" /></a>
+<a class="reference internal image-reference" href="../../_images/schema_measurement_board1_02.png"><img alt="alternate text" src="../../_images/schema_measurement_board1_02.png" style="width: 800px; height: 400px;" /></a>
 <figcaption>
 <p><span class="caption-text">Measurement board (Ohmpi version 1.02)</span><a class="headerlink" href="#id1" title="Permalink to this image"></a></p>
 </figcaption>
@@ -383,13 +383,13 @@ Once all the components have been soldered together, the measurement board can b
 battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to
 place a fuse holder with a 1.5-A fuse for safety purposes.</p>
 <figure class="align-center" id="id2">
-<a class="reference internal image-reference" href="source_rst/v1.xx/measurement_board1-02.jpg"><img alt="alternate text" src="source_rst/v1.xx/measurement_board1-02.jpg" style="width: 800px; height: 700px;" /></a>
+<a class="reference internal image-reference" href="../../_images/measurement_board1-02.jpg"><img alt="alternate text" src="../../_images/measurement_board1-02.jpg" style="width: 800px; height: 700px;" /></a>
 <figcaption>
 <p><span class="caption-text">Measurement circuit board assembly: a) printed circuit board, b) adding the 1-KOhm resistors ± 1%, c)adding the 1.5-KOhm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers</span><a class="headerlink" href="#id2" title="Permalink to this image"></a></p>
 </figcaption>
 </figure>
 <figure class="align-center" id="id3">
-<a class="reference internal image-reference" href="source_rst/v1.xx/measurement_board-2-V1-02.jpg"><img alt="alternate text" src="source_rst/v1.xx/measurement_board-2-V1-02.jpg" style="width: 800px; height: 700px;" /></a>
+<a class="reference internal image-reference" href="../../_images/measurement_board-2-V1-02.jpg"><img alt="alternate text" src="../../_images/measurement_board-2-V1-02.jpg" style="width: 800px; height: 700px;" /></a>
 <figcaption>
 <p><span class="caption-text">Measurement board installation with Raspberry Pi</span><a class="headerlink" href="#id3" title="Permalink to this image"></a></p>
 </figcaption>
@@ -410,7 +410,7 @@ the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by t
 the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized,
 they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.</p>
 <figure class="align-center" id="id4">
-<a class="reference internal image-reference" href="source_rst/v1.xx/current_board.jpg"><img alt="alternate text" src="source_rst/v1.xx/current_board.jpg" style="width: 800px; height: 400px;" /></a>
+<a class="reference internal image-reference" href="../../_images/current_board.jpg"><img alt="alternate text" src="../../_images/current_board.jpg" style="width: 800px; height: 400px;" /></a>
 <figcaption>
 <p><span class="caption-text">Wiring of the 4-channel relay module board for current injection management</span><a class="headerlink" href="#id4" title="Permalink to this image"></a></p>
 </figcaption>
@@ -423,7 +423,7 @@ the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspbe
 shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively
 to terminals B and A of the measurement board.</p>
 <figure class="align-center" id="id5">
-<a class="reference internal image-reference" href="source_rst/v1.xx/installation_current_board_1_02.jpg"><img alt="alternate text" src="source_rst/v1.xx/installation_current_board_1_02.jpg" style="width: 800px; height: 700px;" /></a>
+<a class="reference internal image-reference" href="../../_images/installation_current_board_1_02.jpg"><img alt="alternate text" src="../../_images/installation_current_board_1_02.jpg" style="width: 800px; height: 700px;" /></a>
 <figcaption>
 <p><span class="caption-text">Current injection board installation with Raspberry Pi</span><a class="headerlink" href="#id5" title="Permalink to this image"></a></p>
 </figcaption>
@@ -449,7 +449,7 @@ configuration enables making smaller multiplexers (8 or 16 electrodes only). On
 which is entirely possible, a GPIO channel multiplier will have to be used.
 To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.</p>
 <figure class="align-center" id="id6">
-<a class="reference internal image-reference" href="source_rst/v1.xx/multiplexer_implementation.jpg"><img alt="alternate text" src="source_rst/v1.xx/multiplexer_implementation.jpg" style="width: 800px; height: 500px;" /></a>
+<a class="reference internal image-reference" href="../../_images/multiplexer_implementation.jpg"><img alt="alternate text" src="../../_images/multiplexer_implementation.jpg" style="width: 800px; height: 500px;" /></a>
 <figcaption>
 <p><span class="caption-text">Schematic diagram of the wiring of two 16-channel relay shields</span><a class="headerlink" href="#id6" title="Permalink to this image"></a></p>
 </figcaption>
@@ -463,7 +463,7 @@ for activating each relay (Fig. 12). However, we will be activating several rela
 see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.</p>
 <blockquote>
 <div><figure class="align-center" id="id7">
-<a class="reference internal image-reference" href="source_rst/v1.xx/connection.jpg"><img alt="alternate text" src="source_rst/v1.xx/connection.jpg" style="width: 800px; height: 400px;" /></a>
+<a class="reference internal image-reference" href="../../_images/connection.jpg"><img alt="alternate text" src="../../_images/connection.jpg" style="width: 800px; height: 400px;" /></a>
 <figcaption>
 <p><span class="caption-text">Connection to the 16-channel relay shield</span><a class="headerlink" href="#id7" title="Permalink to this image"></a></p>
 </figcaption>
@@ -528,7 +528,7 @@ The next step consists of connecting the relay card inputs to the Raspberry Pi a
 According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming
 connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.</p>
 <figure class="align-center" id="id8">
-<a class="reference internal image-reference" href="source_rst/v1.xx/cable.jpg"><img alt="alternate text" src="source_rst/v1.xx/cable.jpg" style="width: 800px; height: 300px;" /></a>
+<a class="reference internal image-reference" href="../../_images/cable.jpg"><img alt="alternate text" src="../../_images/cable.jpg" style="width: 800px; height: 300px;" /></a>
 <figcaption>
 <p><span class="caption-text">Wire cabling for multiplexer and terminal screw connection</span><a class="headerlink" href="#id8" title="Permalink to this image"></a></p>
 </figcaption>
@@ -537,7 +537,7 @@ connections. Instead of having four cables connecting an electrode terminal to e
 must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block.
 This operation must be repeated for all 32 electrodes.</p>
 <figure class="align-center" id="id9">
-<a class="reference internal image-reference" href="source_rst/v1.xx/electrode_cable.jpg"><img alt="alternate text" src="source_rst/v1.xx/electrode_cable.jpg" style="width: 800px; height: 800px;" /></a>
+<a class="reference internal image-reference" href="../../_images/electrode_cable.jpg"><img alt="alternate text" src="../../_images/electrode_cable.jpg" style="width: 800px; height: 800px;" /></a>
 <figcaption>
 <p><span class="caption-text">Example of a multiplexer connection to the screw terminal for electrode no. 1.</span><a class="headerlink" href="#id9" title="Permalink to this image"></a></p>
 </figcaption>
@@ -587,6 +587,175 @@ are displayed on the screen. A measurement file is automatically created and nam
 <p class="admonition-title">Warning</p>
 <p>The list evolve a little bit after the publication of the article, it is necessary to refer to this list, the article is out of date</p>
 </div>
+<table class="docutils align-default" id="id10">
+<caption><span class="caption-text">List of components</span><a class="headerlink" href="#id10" title="Permalink to this table"></a></caption>
+<colgroup>
+<col style="width: 8%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+<col style="width: 18%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Component</p></th>
+<th class="head"><p>Number</p></th>
+<th class="head"><p>Cost per unit</p></th>
+<th class="head"><p>Total cost</p></th>
+<th class="head"><p>Manufacturer</p></th>
+<th class="head"><p>Manufacturer s reference</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>Raspberry Pi 3 Model B+</p></td>
+<td><p>1</p></td>
+<td><p>37</p></td>
+<td><p>37</p></td>
+<td><p>Raspberry</p></td>
+<td><p>Raspberry Pi 3 Model B</p></td>
+</tr>
+<tr class="row-odd"><td><p>Raspberry Pi 1 2 and 3 Power Supply</p></td>
+<td><p>1</p></td>
+<td><p>8.37</p></td>
+<td><p>8.37</p></td>
+<td><p>Raspberry</p></td>
+<td><p>Raspberry Pi 1 2 and 3 Power Supply</p></td>
+</tr>
+<tr class="row-even"><td><p>SainSmart 16-Channel 12V Relay</p></td>
+<td><p>8</p></td>
+<td><p>24.99</p></td>
+<td><p>199.92</p></td>
+<td><p>Sain Smart</p></td>
+<td><p>101-70-103</p></td>
+</tr>
+<tr class="row-odd"><td><p>4-Channel 5V Relay Module</p></td>
+<td><p>1</p></td>
+<td><p>7.99</p></td>
+<td><p>7.99</p></td>
+<td><p>Sain Smart</p></td>
+<td><p>20-018-101-CMS</p></td>
+</tr>
+<tr class="row-even"><td><p>cable 1X1 mm2 (50 m)</p></td>
+<td><p>1</p></td>
+<td><p>19.66</p></td>
+<td><p>19.66</p></td>
+<td><p>TRU COMPONENTS</p></td>
+<td><p>1568649</p></td>
+</tr>
+<tr class="row-odd"><td><p>cable 1X0.5 mm2 (100 m)</p></td>
+<td><p>1</p></td>
+<td><p>29.71</p></td>
+<td><p>29.71</p></td>
+<td><p>TRU COMPONENTS</p></td>
+<td><p>1565235</p></td>
+</tr>
+<tr class="row-even"><td><p>Printed circuit board (packaging quantity x 3)</p></td>
+<td><p>1</p></td>
+<td><p>12</p></td>
+<td><p>12</p></td>
+<td><p>Asler</p></td>
+<td><p>0</p></td>
+</tr>
+<tr class="row-odd"><td><p>Header sets 1x10</p></td>
+<td><p>1</p></td>
+<td><p>2.68</p></td>
+<td><p>2.68</p></td>
+<td><p>Samtec</p></td>
+<td><p>SSW-110-02-G-S</p></td>
+</tr>
+<tr class="row-even"><td><p>Dual screw terminal (3.5-mm pitch)</p></td>
+<td><p>7</p></td>
+<td><p>0.648</p></td>
+<td><p>4.55</p></td>
+<td><p>RS PRO</p></td>
+<td><p>897-1332</p></td>
+</tr>
+<tr class="row-odd"><td><p>Resistor 1 Kohm 0.5W +- 0.1%</p></td>
+<td><p>4</p></td>
+<td><p>0.858</p></td>
+<td><p>3.44</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>H81K0BYA</p></td>
+</tr>
+<tr class="row-even"><td><p>Resistor 1.5 Kohms +- 0.1%</p></td>
+<td><p>4</p></td>
+<td><p>0.627</p></td>
+<td><p>2.52</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>H81K5BYA</p></td>
+</tr>
+<tr class="row-odd"><td><p>Resistor 50 +- 0.1%</p></td>
+<td><p>1</p></td>
+<td><p>8.7</p></td>
+<td><p>8.7</p></td>
+<td><p>TE Connectivity</p></td>
+<td><p>UPW50B50RV</p></td>
+</tr>
+<tr class="row-even"><td><p>LM358N AMP-o</p></td>
+<td><p>4</p></td>
+<td><p>0.8</p></td>
+<td><p>2.4</p></td>
+<td><p>Texas Instruments</p></td>
+<td><p>LM358AN/NOPB</p></td>
+</tr>
+<tr class="row-odd"><td><p>ADS1115</p></td>
+<td><p>1</p></td>
+<td><p>11.9</p></td>
+<td><p>11.9</p></td>
+<td><p>Adafruit</p></td>
+<td><p>1083</p></td>
+</tr>
+<tr class="row-even"><td><p>12V battery 7ah</p></td>
+<td><p>1</p></td>
+<td><p>19.58</p></td>
+<td><p>19.58</p></td>
+<td><p>RS PRO</p></td>
+<td><p>537-5488</p></td>
+</tr>
+<tr class="row-odd"><td><p>Battery Holder Type D LR20 (9V)</p></td>
+<td><p>1</p></td>
+<td><p>3.43</p></td>
+<td><p>3.43</p></td>
+<td><p>RS PRO</p></td>
+<td><p>185-4686</p></td>
+</tr>
+<tr class="row-even"><td><p>Ferrule Crimp Terminal (1 mm2) (500 pieces)</p></td>
+<td><p>1</p></td>
+<td><p>30.48</p></td>
+<td><p>30.48</p></td>
+<td><p>WEIDMULLER</p></td>
+<td><p>9004330000</p></td>
+</tr>
+<tr class="row-odd"><td><p>Electrical Crimp Terminal (0.5 mm2) (100 piece)</p></td>
+<td><p>1</p></td>
+<td><p>6.38</p></td>
+<td><p>6.38</p></td>
+<td><p>AMP - TE CONNECTIVITY</p></td>
+<td><p>966067-1</p></td>
+</tr>
+<tr class="row-even"><td><p>Fuse 1.0 A</p></td>
+<td><p>1</p></td>
+<td><p>0.2</p></td>
+<td></td>
+<td><p>LITTELFUSE</p></td>
+<td><p>0251001.PAT1L</p></td>
+</tr>
+<tr class="row-odd"><td><p>Capacitor 100nF 50Vdc 10% Ceramic</p></td>
+<td><p>4</p></td>
+<td><p>0.2</p></td>
+<td><p>0.8</p></td>
+<td><p>KEMET</p></td>
+<td><p>C320C104K1</p></td>
+</tr>
+<tr class="row-even"><td><p>DC/DC converter 12 to 24V</p></td>
+<td><p>2</p></td>
+<td><p>26.72</p></td>
+<td><p>53.44</p></td>
+<td><p>TracoPower</p></td>
+<td><p>TRN 3-1215</p></td>
+</tr>
+</tbody>
+</table>
 </section>
 </section>
 
diff --git a/doc/source/index.rst b/doc/source/index.rst
index eadff7d22eaefe5be13cbd763b1fac76a41fa219..69402149bb4fcbc75d752e8a45db0036d9acd391 100644
--- a/doc/source/index.rst
+++ b/doc/source/index.rst
@@ -39,6 +39,7 @@ Contents:
    source_rst/V2023.x.x/V2023
    source_rst/V2024.x.x/V2024
    source_rst/api
+   source_rst/developing_hardware_components.rst
   
 
   
diff --git a/doc/source/source_rst/V2023.x.x/V2023_step_02.rst b/doc/source/source_rst/V2023.x.x/V2023_step_02.rst
index ca79eaeb05e427b2a5fc56ffed080b5316cc7820..035548079dd75ba44c43270e318862d39412ab70 100644
--- a/doc/source/source_rst/V2023.x.x/V2023_step_02.rst
+++ b/doc/source/source_rst/V2023.x.x/V2023_step_02.rst
@@ -301,7 +301,7 @@ which allows to realize precise current measurement around a shunt resistor. The
 +------------------------------------------------------------------------+
 
 .. csv-table:: List of components
-   :file: step_n_2/b/test_2_xx.csv
+   :file: ../../img/v2023.x.x/step_n_2/b/test_2_xx.csv
    :widths: 30, 70, 70, 70, 70, 35, 35
    :header-rows: 1
 
diff --git a/doc/source/source_rst/V2023.x.x/V2023_step_03.rst b/doc/source/source_rst/V2023.x.x/V2023_step_03.rst
index c268d128380cdaf9e750e66e02edff5dfd22acfd..f77e9b5e8786204fb5e14c6ca00e47abe022c22f 100644
--- a/doc/source/source_rst/V2023.x.x/V2023_step_03.rst
+++ b/doc/source/source_rst/V2023.x.x/V2023_step_03.rst
@@ -30,7 +30,7 @@ Required components
 
 
 .. csv-table:: List of components
-   :file: step_n_3/a/MUX_board_list_2_xx.csv
+   :file: ../../img/v2023.x.x/step_n_3/a/MUX_board_list_2_xx.csv
    :widths: 30, 70, 70, 70, 70, 35, 35
    :header-rows: 1 
    
diff --git a/doc/source/source_rst/developing_hardware_components.rst b/doc/source/source_rst/developing_hardware_components.rst
new file mode 100644
index 0000000000000000000000000000000000000000..fa97c06af7b7d85f415e829f9b9acc560960621f
--- /dev/null
+++ b/doc/source/source_rst/developing_hardware_components.rst
@@ -0,0 +1,46 @@
+Software interface to new hardware components
+=============================================
+
+*** DRAFT VERSION - TO BE REVIEWED *
+This section is intended for developers of a new hardware component as part of an OhmPi system.
+
+It presents some advices and best practices that should help developing new hardware components to work
+within an OhmPi system.
+
+OhmPi is an open source system and contributions in terms of hardware and software are welcome. However, in order to
+maintain the project on tracks and promote exchange and reuse, it is necessary that contributors
+Developing a new hardware component should ideally follow a few basic steps.
+
+Two cases should be distinguished when dealing with hardware development components:
+
+1- Developments of a hardware component that comply with the way the OhmPi Hardware System works. Such developments typically
+focus on improving an existing component (reduce cost, improve performance, adapt range to specific applications,
+design with easily available parts...). The newly created hardware component will expose the minimal functionalities required
+by hardware_system for this type of component.
+
+2- Developments of a hardware component that introduce changes in the way the OhmPi Hardware System works. Such
+developments do not only focus on improving a single component but also on the way to operate the system. A
+discussion with developers of the OhmPi_Hardware and OhmPi classes should be initiated at a very early stage to investigate
+the best ways to design and implement a working solution.
+
+If you are dealing with case 1 or have designed a development path and strategy, you are ready to start.
+
+First the hardware board/device should be conceived and designed. The Ohmpi team recommends that contributors design or
+import their boards within KiCAD and that both schemas and PCB are shared.
+
+When developing a new component Class, always start your development in a new branch.
+1- Create a new python file or make a copy and modify an existing similar component file. All hardware component modules
+are stored in the ohmpi/hardware_component directory.
+In the newly created python file, define a new class based on the relevant abstract class of abstract_hardware_components.py.
+Implement the abstract methods to interact with your hardware. Name the file according to the name of the component.
+Make sure to place this new python module in the ohmpi/hardware_component directory.
+
+2- Create a new configuration file or make a copy and modify an existing configuration file. All existing config files
+are stored in the ohmpi/hardware_component directory.
+In this newly created config file, describe your system including the new component in the HARDWARE_CONFIG dictionary.
+Name it config_XXX.py where XXX should be replaced by an expression describing the system.
+Make sure to place your new config file in the ohmpi/configs directory.
+
+3- Create a new script or make a copy and modify of an existing script for testing the component.
+In this script, write python code where you will conduct the tests of the required functionalities of the new component.
+
diff --git a/doc/source/source_rst/v1.xx/V1_01.rst b/doc/source/source_rst/v1.xx/V1_01.rst
index 3c8d95940b68fcd85dd5ff435d394a3a4e4cfaf4..1829d683ca5e110f3d9303c8da9b71c403096b29 100644
--- a/doc/source/source_rst/v1.xx/V1_01.rst
+++ b/doc/source/source_rst/v1.xx/V1_01.rst
@@ -524,7 +524,7 @@ Complete list of components
 
 
 .. csv-table:: Table Title
-   :file: list.csv
+   :file: ../../bom_list/list.csv
    :widths: 30, 70, 70, 70, 70,70
    :header-rows: 1
 
diff --git a/doc/source/source_rst/v1.xx/V1_02.rst b/doc/source/source_rst/v1.xx/V1_02.rst
index 6dad02c86ccf2e61b98712c1b419467572497792..a486b855f6f4e36a316d04debb2b2876a9066277 100644
--- a/doc/source/source_rst/v1.xx/V1_02.rst
+++ b/doc/source/source_rst/v1.xx/V1_02.rst
@@ -64,7 +64,7 @@ For this step, the installation instructions are well described on the Raspberry
 .. note:: 
      All the development tests were performed on Raspberry Pi 3 Model B, we used the following version of Raspbian:
 
-     .. figure:: raspbian_version.jpg
+     .. figure:: ../../img/raspbian_version.jpg
        :width: 800px
        :align: center
        :height: 400px
@@ -164,7 +164,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 2- Thonny opens, Python runs on the root (Python 3.7.3 (/usr/bin/python3))
 
-.. figure:: thonny_first_interface.jpg
+.. figure:: ../../img/thonny_first_interface.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -173,7 +173,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 3-Click on **Run>select interpreter**, a new window opens click on interpret
 
-.. figure:: thonny_option.jpg
+.. figure:: ../../img/thonny_option.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -182,7 +182,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 4-On the new open windows select **alternative Python3 or virtual environment**
 
-.. figure:: thonny_interpreter.jpg
+.. figure:: ../../img/thonny_interpreter.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -195,7 +195,7 @@ If you decided to use a virtual environment, it is necessary to setup Thonny Pyt
 
 7- In the **known interpreter** tab the path of the virtual environment should appear
 
-.. figure:: thonny_interpreter_folder.jpg
+.. figure:: ../../img/thonny_interpreter_folder.jpg
        :width: 600px
        :align: center
        :height: 450px
@@ -253,7 +253,7 @@ We also added 4 capacitors on the +12v inputs of the fast operational amplifiers
 between each power supply terminal and ground. The last point, we have added a four very high resistances of 10 MOhm, between the ground and 
 the signal input on the operational amplifiers. This prevents the operational amplifiers from overheating.
 
-.. figure:: schema_measurement_board1_02.png
+.. figure:: ../../img/v1.xx/schema_measurement_board1_02.png
    :width: 800px
    :align: center
    :height: 400px
@@ -317,7 +317,7 @@ Once all the components have been soldered together, the measurement board can b
 battery terminal, according to Figure 9. Between the battery and the TX+ terminal of the measurement board, remember to 
 place a fuse holder with a 1.5-A fuse for safety purposes.
 
-.. figure:: measurement_board1-02.jpg
+.. figure:: ../../img/v1.xx/measurement_board1-02.jpg
    :width: 800px
    :align: center
    :height: 700px
@@ -326,7 +326,7 @@ place a fuse holder with a 1.5-A fuse for safety purposes.
 
    Measurement circuit board assembly: a) printed circuit board, b) adding the 1-KOhm resistors ± 1%, c)adding the 1.5-KOhm resistors ± 1%, d) adding the black female 1 x 10 header and the 7-blue screw terminal block(2 pin, 3.5-mm pitch), e) adding the 50-ohm reference resistor ± 0.1%, and f) adding the ADS1115 and the LM358N low-power dual operational amplifiers
    
-.. figure:: measurement_board-2-V1-02.jpg
+.. figure:: ../../img/v1.xx/measurement_board-2-V1-02.jpg
    :width: 800px
    :align: center
    :height: 700px
@@ -350,7 +350,7 @@ the polarity at electrodes A and B. Thus, when relays 3 and 4 are energized by t
 the positive battery pole is connected to electrode A and the negative pole to electrode B. When not energized, 
 they remain in the normally closed position. This set-up offers a simple and robust solution to inject current.
 
-.. figure:: current_board.jpg
+.. figure:: ../../img/v1.xx/current_board.jpg
    :width: 800px
    :align: center
    :height: 400px
@@ -367,7 +367,7 @@ the relay card’s 4 channels respectively to the GND pin and 5Vcc of the Raspbe
 shown in the diagram, using 1-mm2 cables (red and black in Fig. 10). Lastly, connect the inputs of relay 1 and 2 respectively
 to terminals B and A of the measurement board.   
 
-.. figure:: installation_current_board_1_02.jpg
+.. figure:: ../../img/v1.xx/installation_current_board_1_02.jpg
    :width: 800px
    :align: center
    :height: 700px
@@ -404,7 +404,7 @@ configuration enables making smaller multiplexers (8 or 16 electrodes only). On
 which is entirely possible, a GPIO channel multiplier will have to be used. 
 To prepare the multiplexer, the channels of the two relay boards must be connected according to the wiring diagram shown below.
 
-.. figure:: multiplexer_implementation.jpg
+.. figure:: ../../img/v1.xx/multiplexer_implementation.jpg
    :width: 800px
    :align: center
    :height: 500px
@@ -423,7 +423,7 @@ Once the operation has been completed, the 16 control pins of each 16-channel re
 for activating each relay (Fig. 12). However, we will be activating several relays with a single GPIO (to limit the number of GPIOs used on Raspberry Pi,
 see Section 2.4). To execute this step, it will be necessary to follow the protocol presented in Figure.
  
- .. figure:: connection.jpg
+ .. figure:: ../../img/v1.xx/connection.jpg
    :width: 800px
    :align: center
    :height: 400px
@@ -465,7 +465,7 @@ At this point, all that remains is to connect the electrodes of each multiplexer
 According to the chosen multiplexer configuration, all the relays of each multiplexer will be connected to an electrode and, consequently, each electrode will have four incoming 
 connections. Instead of having four cables connecting an electrode terminal to each multiplexer, we recommend using the cable assembly shown in the following Figure.
 
-.. figure:: cable.jpg
+.. figure:: ../../img/v1.xx/cable.jpg
    :width: 800px
    :align: center
    :height: 300px
@@ -478,7 +478,7 @@ the next figure provides an example of multiplexer relay connections for electro
 must be connected to electrode no. 1 of MUX N, which in turn must be connected to electrode no. 1 of MUX M. Lastly, electrode no. 1 of MUX M is connected to the terminal block. 
 This operation must be repeated for all 32 electrodes.
 
-.. figure:: electrode_cable.jpg
+.. figure:: ../../img/v1.xx/electrode_cable.jpg
    :width: 800px
    :align: center
    :height: 800px
@@ -539,7 +539,7 @@ Complete list of components
 
 
 .. csv-table:: List of components
-   :file: list - 1_02.csv
+   :file: ../../bom_list/list - 1_02.csv
    :widths: 30, 70, 70, 70, 70,70
    :header-rows: 1