RS485 networking

A couple of years ago I built the first version of my tube time display which shows the time of the next train at my local Underground Station.  This was connected to a Raspberry PI via a USB connection.  I found the Raspberry PI not the most reliable piece of hardware in the world and it was also a bit of an over kill for a simple display so I’ve been working on a new version of my display that uses RS485 to communicate with a computer which can be a long way away from it.

The original tube time display thing.
The original tube time display thing.

For this I decided on a token bus type network where each device sends out a token to the next device telling it that it can use the communication channel. This allows me to attach other AVR/Arduino based devices to the same piece of cable (I’m using CAT5 ethernet cable). I also have one device on the network acting as a superviser which will create tokens for a device if the token is given to a device that doesn’t exist.

So far I’ve managed to send text between two AVR32U4 boards over the bus so it’s going quite well so far. I think things can be further optimised so the bus is faster but it’s certainly good enough for my tube time display.