diff --git a/UniBoard2_I2C.py b/UniBoard2_I2C.py
index 3d13d895cd6d0158bc5d1f54cbdd693279153b04..27efb6543fd9ddfa9c0a21dd2a0483452e2eb81c 100644
--- a/UniBoard2_I2C.py
+++ b/UniBoard2_I2C.py
@@ -1,33 +1,73 @@
+#******************************************#
+# I2C address, registers and ports for UNB2c
+# Created: 2021-05-11
+#******************************************#
 
-EEPROM_I2C_ADDR = 0x50 #"1010000"
+###################################
+# General, Point of load converters
+###################################
+LOC_POWER_CORE    = 0x01
+LOC_POWER_ERAM    = 0x0D
+LOC_POWER_TR_R    = 0x0E
+LOC_POWER_TR_T    = 0x0F
+LOC_POWER_BAT     = 0x10
+LOC_POWER_IO      = 0x11
 
-LOC_POWER_CORE = 0x01 #"0000001" # 0x01
-LOC_POWER_ERAM = 0x0D #"0001101" # 0x0D
-LOC_POWER_TR_R = 0x0E #"0001110" # 0x0E
-LOC_POWER_TR_T = 0x0F #"0001111" # 0x0F
-LOC_POWER_BAT  = 0x10 #"0010000" # 0x10
-LOC_POWER_IO   = 0x11 #"0010001" # 0x11
+CTR_POWER_S_1V0   = 0x0E
+CTR_POWER_S_1V2   = 0x0F
+CTR_POWER_CLK     = 0x0D
+CTR_POWER_QSFP_01 = 0x01
+CTR_POWER_QSFP_23 = 0x02
 
+LP_VOUT_MODE      = 0x20
+LP_VOUT           = 0x8B #
+LP_temp           = 0x8D #
+LP_IOUT           = 0x8C
 
-SWI_POWER_CORE  = 0x0F #"0001111" # 0x0F
-SWI_POWER_IO    = 0x0E #"0001110" # 0x0E
-CLK_PWR         = 0x0D #"000000D" # 0x00
-QSFP_BOT_PWR    = 0x50 #"0000002" # 0x02
-BRICK_PWR       = 0x2c #"0000002" # 0x02
+###################################
+# Central I2C Devices
+###################################
+EEPROM            = 0x50
 
-LP_VOUT_MODE = 0x20
-LP_VOUT = 0x8B # 
-LP_temp = 0x8D # 
-LP_IOUT = 0x8C
 
-QSFP_I2C_ADDR = 0x50 #"1010000"
-QSFP_TEMP = 0x16 #"00010110"  # (Byte1*256+Byte2)/256
-QSFP_VOLT = 0x1A #"00011010"  # (Byte1*256+Byte2)*0.0001
+################
+# Main I2C switch
+################
+MAIN_I2C_SWITCH   = 0x071
+NODE=[]
+NODE.append(0x01)
+NODE.append(0x02)
+NODE.append(0x04)
+NODE.append(0x08)
+FRONT_LED         = 0x20
+CTRL_POWER        = 0x10
 
-ETH_TEMP_I2C_ADDR   = 0x4C #"1001100" # 0x29
+################
+# Front panel LED
+################
+LED_DRIVER        = 0x41
+LED_COLORS = {"red": 0x01, "blue": 0x02, "green" : 0x04, "magenta": 0x03, "yellow": 0x06, "cyaan": 0x05}
 
-ETH_LOC_TEMP        = 0x00 #"00000000"
-ETH_TEMP            = 0x01 #"00000001"
+################
+# Node I2C switch
+################
+NODE_I2C_SWITCH = 0x072
+QSFP_PORT=[]
+QSFP_PORT.append(0x08)
+QSFP_PORT.append(0x04)
+QSFP_PORT.append(0x02)
+QSFP_PORT.append(0x01)
+QSFP_PORT.append(0x40)
+QSFP_PORT.append(0x80)
+DDR4              = 0x10
+LOC_POWER         = 0x20
+
+###################################
+# Node I2C Devices
+###################################
+QSFP_I2C_ADDR = 0x50
+QSFP_TEMP = 0x16
+QSFP_VOLT = 0x1A
 
 MB_I_TEMP_I2C_ADDR = 0x18
 MB_II_TEMP_I2C_ADDR = 0x19
@@ -39,11 +79,6 @@ MB_DATE_bytes = 2
 MB_TYPE_NR = 0x149
 MB_TYPE_NR_bytes = 20
 
-PWR_CLK_I2C_ADDR    = "0001101"  # 0x0D
-PWR_S3V3_I2C_ADDR   = "0001110"  # 0x0E
-PWR_S1V2_I2C_ADDR   = "0001111"  # 0x0E
-
-
 ######################
 # Functions
 ######################
diff --git a/rd_unb2c.py b/rd_unb2c.py
index 79923713dc637edda0c19495b9690ec3b9419cd5..db0a2dfd9b48608b5ad2ceee2bde18eaf1005925 100644
--- a/rd_unb2c.py
+++ b/rd_unb2c.py
@@ -15,16 +15,9 @@ else:
 from UniBoard2_I2C import *
 I2CBUSNR=3
 
-QSFP_PORT=[]
-QSFP_PORT.append(0x08)
-QSFP_PORT.append(0x04)
-QSFP_PORT.append(0x02)
-QSFP_PORT.append(0x01)
-QSFP_PORT.append(0x40)
-QSFP_PORT.append(0x80)
 
 def rw_eeprom(value=0xAB):
-    I2C_eeprom = I2C(0x53)
+    I2C_eeprom = I2C(EEPROM)
     I2C_eeprom.bus = I2CBUSNR
     ret_ack, ret_value = I2C_eeprom.read_bytes(0)
     if ret_ack < 1:
@@ -37,20 +30,20 @@ def rw_eeprom(value=0xAB):
         stri = "Wrote to EEPROM: 0x{0:X}, Read from EEPROM: 0x{1} ".format(value, ret_value)
         print(stri)
 
-def front_led(value=0xFF):
-    main_switch = I2C(0x71)
+def front_led(collor):
+    main_switch = I2C(MAIN_I2C_SWITCH)
     main_switch.bus = I2CBUSNR
     ret_ack = main_switch.write_bytes(0x20,0x20) #select LED
     if ret_ack < 1:
         print("Main I2C switch not found")
     else:
-        front = I2C(0x41)
+        front = I2C(LED_DRIVER)
         front.bus = I2CBUSNR
         ret_ack = front.write_bytes(0x03, 0)
         if ret_ack < 1:
             print("Front LED driver not found")
         else:
-            front.write_bytes(0x01, value)
+            front.write_bytes(0x01, collor)
             sleep(0.5)
             for cnt in range(6):
                 front.write_bytes(0x01, (1 << cnt%3)^0xff)
@@ -61,14 +54,14 @@ def front_led(value=0xFF):
 
 def read_pol(node_nr, i2c_addr):
     if node_nr >= 0:
-        main_switch = I2C(0x71)
+        main_switch = I2C(MAIN_I2C_SWITCH)
         main_switch.bus = I2CBUSNR
         ret_ack = main_switch.write_bytes(0x0, 0x01<<node_nr) #select Node
         if ret_ack < 1:
             print("Main I2C switch not found")
             return False
         else:
-            node_switch = I2C(0x72)
+            node_switch = I2C(NODE_I2C_SWITCH)
             node_switch.bus = I2CBUSNR
             ret_ack = node_switch.write_bytes(0x0, 0x20) #select DDR4
             if ret_ack < 1:
@@ -76,7 +69,7 @@ def read_pol(node_nr, i2c_addr):
                 return False
     else:
         print("Central POL")
-        main_switch = I2C(0x71)
+        main_switch = I2C(MAIN_I2C_SWITCH)
         main_switch.bus = I2CBUSNR
         ret_ack = main_switch.write_bytes(0x0, 0x10) #select Pol
         if ret_ack < 1:
@@ -114,13 +107,13 @@ def read_pol(node_nr, i2c_addr):
     return True
  
 def read_ddr(node_nr = 0, module=0):
-    main_switch = I2C(0x71)
+    main_switch = I2C(MAIN_I2C_SWITCH)
     main_switch.bus = I2CBUSNR
     ret_ack = main_switch.write_bytes(0x0, 0x01<<node_nr) #select Node
     if ret_ack < 1:
         print("Main I2C switch not found")
     else:
-        node_switch = I2C(0x72)
+        node_switch = I2C(NODE_I2C_SWITCH)
         node_switch.bus = I2CBUSNR
         ret_ack = node_switch.write_bytes(0x0, 0x10) #select DDR4
         if ret_ack < 1:
@@ -143,13 +136,13 @@ def read_ddr(node_nr = 0, module=0):
             print(stri)
 
 def read_qsfp(node_nr = 0, module=0):
-    main_switch = I2C(0x71)
+    main_switch = I2C(MAIN_I2C_SWITCH)
     main_switch.bus = I2CBUSNR
     ret_ack = main_switch.write_bytes(0x00, 0x01<<node_nr) #select Node
     if ret_ack < 1:
         print("Main I2C switch not found")
     else:
-        node_switch = I2C(0x72)
+        node_switch = I2C(NODE_I2C_SWITCH)
         node_switch.bus = I2CBUSNR
         ret_ack = node_switch.write_bytes(0x0, QSFP_PORT[module]) #select QSFP cage 1
         if ret_ack < 1:
@@ -175,16 +168,16 @@ def read_qsfp(node_nr = 0, module=0):
                 stri =  "Voltage QSFP in slot {0} node  {1} is {2:3.2f} V".format(module, node_nr, Power_in_mod)
                 print(stri)
 
-if 0:
+if 1:
     rw_eeprom(0xCD)
-    front_led()
+    front_led(LED_COLORS["green"])
     for node_cnt in range(4):
         for module_cnt in range(2):
             read_ddr(node_nr=node_cnt,module=module_cnt)
     for node_cnt in range(4):
         for qsfp_cnt in range(6):
             read_qsfp(node_nr = node_cnt, module=qsfp_cnt)
-else:
+#else:
     for node_cnt in range(4):
         read_pol(node_cnt, LOC_POWER_CORE)
-read_pol(-1,0x01)
+    read_pol(-1,0x01)