So for the past couple week's I have been working on building up the circuitry, previously I designed, ordered and built up the RS485 board as shown on the right.
The board worked first time thanks to my careful testing and after some debugging of my own stupid mistake which I made not once but twice it worked like a charm.
To test it I hooked up three Arduino's in a daisy chain with the three identical RS485 boards in Receive mode, and hooked up a USB to RS485 adaptor I bought on eBay, the code was simple, if it gets a 0x00 byte it turns off a LED, if it gets 0x01 it turns on the LED, and surprisingly it worked!
You can see in this diagram how the process worked, and the above image shows the CAT5 cable passthrough connection which means the devices daisy chain easily.
The interesting part of RS-485 is that it uses differential signalling, put basically as you can see on the right the two signals are opposites of each other, which means that the signal is more resilient to noise as the idea is that the two cables are twisted pair (like CAT5) and so they both experience the same noise but are polar opposite signals so the binary output can be determined by looking at the difference between both, this eradicates noise issues.
The board I have been working on this week and a bit of last is the standalone Arduino circuitry. As I am not a micro controller or electronics guru, I want to stick with what I know which is Arduino, however these boards are quite expensive and offer more than I need. My intention is to build a basic Arduino into the circuitry of my project. To do this I needed to do a lot of research and understand what parts are essential.
I have designed and tested on a breadboard the schematic for a basic Arduino and today sent it to be manufactured like the last, I hope it works as well as the last PCB I made so I don't have to wait another two weeks to get it back, however the idea of making multiple smaller boards that are modular is I will combine them together in one design at the end to make one unit which means it should just work rather than having to mix multiple parts together that might make it harder to debug.