Control a Motor Matrix
In this example, we will explain how VEMIO1 and VEMIO2 can be wired to DC Motors in a Matrix configuration to optimize Output Reuse and thus be able to control a greater number of motors.
The picture below show how a 2x2 Matrix can be wired to allow controlling 4 motors using only 2 Driver Low and 2 Driver High Outputs.
The picture refers to a VEMIO2, but the same principle can be used in VEMIO1, differing of course in the maximum number of motors that can be controlled.

If the motor has a "home" position (pulse), VEMIO can read it in the inputs by the command I. If you want continuous input reports you can send I1.
With the following Wiring depicted above, to activate motor 1, it would be necessary to activate Driver Low Output 1 and Driver High Output 1. Now to activate motor 2, it would be necessary to activate Driver Low Output 2 and Driver High Output 1, and so on.
This configuration allows the control of up to 96 motors on VEMIO2 and up to 32 motors on VEMIO1.
VEMIO 2 60 Motor Control Example

In the picture above is a matrix example for controlling 60 motors of a vending machine. With this number of motors it is necessary to use VEMIO2.
Since VEMIO2 has 8 Driver High Outputs and 12 Driver Low Outputs, this means that it can support up to 96 motors.
So if we want to activate the first motor of the bottom shelf (Shelf 1) we send two commands:
O25,1 # (sets Driver High to High)
O2,1 # (Sets Driver Low to High)
Now to shutdown the same motor we set both Driver Low/High to 0 by sending:
O2,0 # (unsets Driver High to High)
O25,0 # (unsets Driver Low to High)