We managed to properly send and receive information between the two Arduinos even though the distance between the transmitting LED and the receiving photodiode could only go up to about 20 centimeters and a good line of sight was required for the system to properly work. Of course this was merely a prototype setup so this distance while reasonable for our purpose is not suitable for a real life application. If the distance is to be extended, then a more powerful transmitting light source than an LED should be used and some precautions should be taken on the receiving end in terms of ensuring the visibility of the transmitter even at higher distances.
There was also an issue in the edge counting interrupt routine which has issue properly counting the edges that represent a "0" after receiving a "1" so we added a manual compensation in the receiving firmware and then everything worked. Below there are some pictures representing the data sent from the GUI application and then shown on the serial monitor of the receiving Arduino.

res1 res2 res3