home  general  lard  ArdweeNET  MAXX  the QUUB  Gecko  SiiMAN
        hubs  nodes  interface  backplane  enclosure





Monitoring And Control System (aka MAXX)

MAXX is an open-source microcontroller monitoring and control
system with nodes that are easily configurable to match the
IO needs of any application.


MAXX is a system of IO devices that is designed for monitoring and control of "commercial" or "light industrial" grade environments such as home control, hydroponics, aquariums or model railways.

It uses a system of hubs that are interconnected using the BUSnet protocol and RS-485 links. Each hub has an interface PCB that handles the power supply and RS-485 interface for the nodes resident in the hub.

A total of 256 MAXX nodes can be connected to a network. Each of these nodes can in — theory at least — have an unlimited number of IO points.

The current enclosure allows for three nodes per hub, each of which can handle up to around 20 IO connections (depending on the size of the connectors used).

A fourth node can be used in the hub enclosure as long as it doesn't need any physical IO, examples would be a real time clock, data logger or GPS.

The use of hubs

Nodes can be independent and implement the power supply and RS-485 interface themselves, this does however add expense and complexity to a node's design.

Therefore MAXX uses what are known as hubs to interface with the network and power supply, the hub interface board then passes on regulated voltages and TTL-level serial data to the nodes resident in the hub.

Nodes therefore are smaller and cheaper than they would otherwise be.

Another benefit to this design is that the nodes can be galvanically isolated from the network simply by using an isolated interface board.

Also different physical-level interfaces can be easily implemented, once again by using a different interface board.



Ideally the hubs should be connected in a ring configuration, a bus topology is also allowed but this is not as robust because a bus is essentially a ring that has already been cut once.

The wiring between nodes is point-to-point using full-duplex RS-485 links.

Each hub has up to four nodes, electrically there is no practical limit to the number of nodes per hub but the current enclosure only allows this many.

Similarly there is no electrical limit to the number of IO points per node. The only limit is a mechanical one, that being the size of the node PCB and the size of the current enclosure.



Stubs, branches, stars etc. are not allowed in the normal sense of the terms because each inter-hub link is a full duplex point-to-point connection. A "stub" can be implemented by running two cables to the remote hub(s).

While the two cables can be run together as drawn, in many cases it makes sense to run them in physically separate ducting, thus if one is cut the network is still functional.


    Features that enhance network robustness    

The MAXX system incorporates many features that will make a system robust. The system is not supposed to be a mil-spec or TMR (Triplicated Modular Redundant) system so maybe you would ask "Why bother spending so much effort in making it robust?".

I suppose the simple answer is that's the sort of thing I like doing, but also I see little point in designing something that is not robust. A MAXX system may not have to survive a SAM missile hit, but if all your fish die when the aquarium control system fails simply because a wire was accidentally unplugged you would be very upset.

So MAXX is not about averting real disasters, but it should be able to handle the events that do happen. For example if an out of control forklift trashes a cable duct the safety interlocks on nearby machinery should still work.

That is the level of robustness MAXX is aiming for.

Galvanic isolation

MAXX hardware is not isolated by default, however the MAXX architecture lends itself to easy upgrading to a fully- or partly-isolated system.

As every hub communicates to the network via the A and B links all that needs to be done is to use a version of the hub interface PCB that isolates these links and power supply.

Also individual nodes can be made to be isolated, thus the "isolation granularity" can be increased such that individual IO points can be isolated even if others on the same node are not.

No single point of failure

As long as nodes have independent power supplies there is no single point on a network that can cause the entire network to fail. Naturally having multiple power supplies increases the cost as does any redundancy, but this is optional and often a hybrid system is the answer.

For example a network in a factory that is essentially split into two networks by virtue of the fact that there is a group of nodes at one end of the workshop and another group of nodes at the other end, and the two groups are connected with a cable that crosses the workshop on a suspended wire.

The connections within the two groups are considered to be reliable but this wire is a potential weak point, so if both groups have independent power supplies a break in the cable will not stop the nodes in both groups operating in their own mini-network.

Fault isolation

Isolation also refers to the containment of faults. The point-to-point and ring topology of the network lends itself to isolating wiring, hardware and software faults.

All PIPEs constantly test for properly-operating neighbours on both the A and B links. If a neighbour goes off line for any reason the PIPE will continue to communicate with its other neighbour while testing the offline link.

If the link should come back online (maybe the node was unplugged for maintenance) the two will reestablish the connection.


In the MAXX context encapsulation refers to the fact that every level of the network is a self-contained mini system. The nodes on a hub can talk to each other regardless of whether the network is working or even exists.

Therefore you can organise node functions to handle events with no network involvement. For example an emergency stop switch on some machinery, if the node that reads the button and the node that actuates a shut-off relay are on the same hub the event/action is handled with no network involvement.

Taking this to a finer level of granularity, if the input and output are on the same node then it doesn't even matter if the other nodes on the hub are working.

If the network is working such events are still published for data logging or other purposes, but that is incidental to the primary function of shutting down the machine.

The worm

The same principal applies to the network as a whole, a single cut to the cable has no affect in the network traffic. With multiple cuts the network degrades to multiple independent networks, those nodes that are still connected to each other carry on regardless.

So like an earthworm, if you cut it into pieces the individual parts continue to operate.



Top of Page


  home  general  lard  ArdweeNET  MAXX  the QUUB  Gecko  SiiMAN
        hubs  nodes  interface  backplane  enclosure

Copyright © 1973-2019 Rob Gray, All rights reserved.
PO Box 450, Gin Gin, QLD, Australia.