MoJo : Advanced MoJo Programming

The Advanced MoJo unit is the same as the Basic unit, with the same zSensor inputs, but with the addition of a programmable component called an Arduino Leonardo board. This means that more complex processing is possible, and the Advanced MoJo has a USB connector to connect to a PC. It is also usual to have a “Magic Eye” display to assist with this more advanced control. 

The Arduino is a very popular standard microprocessor board that is used around the world. They come in various designs and the one used in the MoJo is a ‘Leonardo’ type, as it supports USB features. The software running on this Master Processor is supplied by Celtic Magic and is available for anyone to customise in any way at all, from very simple changes to make the MoJo suitable for a particular users needs to - well, anything at all if you are a boffin programmer. It’s what makes the Advanced MoJo fully customisable.

The Arduino Leonardo controls the whole unit, linking and combining the inputs and controlling all the outputs, whether that is via USB, relays or analogue connections. It comes pre-programmed with default functions, which can be customised using a freely-available software toolkit. When the MoJo is connected to a PC, it can mimic a joystick, and can be used to control any software written for a PC that takes joystick inputs via a USB connection. Joystick movement can be readily converted to Mouse movements if required.

The Advanced MoJo uses the Arduino Leonardo board to combine and co-ordinate the inputs from the internal boards, then controls all outputs. It is programmable using open source code and a freely downloadable Integrated Development Environment (IDE), which has to be installed on a PC. The MoJo will be supplied with a suitable version of this IDE, plus a number of programs called Encoders to carry out functions such as Buttons and Joysticks. The Encoders have default behaviour that can be changed, such as the speed of movement, or sensitivity to pressure.

To use the USB connection as a mouse, 3rd party software will be required to convert joystick movements to mouse control. Links for these and other useful tools can be found at the end of this document in the Useful Third Party Products section.

To program the User Code the Arduino IDE (Integrated Development Environment) must be installed on a PC. The IDE is updated by the Arduino community and to ensure compatibility please only use the version supplied by Celtic Magic. The IDE communicates with the MoJo over the same USB link simultaneously with MoJo using it to be a Joystick to the PC.