is coming soon


info (at)






What is MoCo?


Moco is a scaleable software system for monitoring and control of analog and digital I/O points.  It is equally at home on a single computer or multiple computers networked world-wide.  The computers' operating systems may be Linux, Unix, Mac, or Windows.


MoCo is built at MoCoWorks with no-cost open source software, and it works with affordable I/O hardware.  Its scalable architecture is suited for a wide range of applications, such as a home automation system, energy management projects, irrigation systems, lighting control, microbrewery, or for a variety of distributed applications in a manufacturing plant – in other words, for industrial SCADA (Supervisory Control And Data Acquisition) systems.


MoCo, at its present stage of development, is a functional monitoring and control engine.  While it does provide tabular status and history reports, users who want customized color graphical reports will need to do this work themselves.  MoCo architecture enables user interface embellishments to be added with traditional unix/linux techniques – and without the need to modify MoCo software.



System Design Goals


MoCo's designer gained his knowledge and beliefs about monitoring and control system design from experiences in sawmill automation, IC manufacturing automation, and from corporate building automation.  After retiring from the corporate world, he designed MoCo, a system that strives to meet the following objectives:


- Zero cost software that can be enhanced by supportive users.

- Features that are needed for complex enterprise-level environments.

- Yet, be usable for small projects such as home automation or alternative energy projects.

- Runnable on Unix, Linux, Mac OS-X, and yes, even Windows.

- Be fully remotely operable via standard means, such as ssh or web interfaces.

- An architecture that can be enhanced and expanded by world-wide individual contributors.

- Reliable history logging, safe control, and quick recovery from hardware glitches.

- Relatively easy to maintain.

- Built upon supported software layers that will not soon become obsolete.

- Speed resolution of better than 1 second at single-computer level and 5 sec at Internet level.

- Easily adapted for use in non-English countries.



Design Strategies and Tactics


No system is perfect for all situations.  Even if there were a perfect system, never will a group of control engineers agree.  MoCo is just one of many solutions that can do a job.  The following strategies and tactics reveal how MoCo's objectives are being achieved, and if it can meet your needs:


External Aspects:

- Less expensive that the norm (in other words, low total cost per point for software and hardware).

- Points available at this time: Input, Output, Calculation, Time Clocks, Setpoints, and System Points.

- Calculations, available now: math functions, math expressions, logic, ladder logic, perl snippets.

- Future capabilities: program sequences, finite state machine, modulated pulses. PID loops, ramps.

- All points have industrial-strength features, such as: overrides, averaging, hysteresis, resolution, etc.

- Multiple alarm capabilities per point, with capabilities like command execution and sending email.

- Point data shareable, between MoCo systems on a multiplicity of computers..

- Inexpensive ethernet I/O interfaces: HA7Net, WebControl, OM-SERVER (pending), ISY-99i, etc.

- Inexpensive devices: 1-wire, Insteon, and X-10, as well as the traditional industrial standards.

- Versatile command-line interface, easily expanded to web page or GUI interface in the future.

- Versatile status/history command-line reports, designed to feed graphic reports and web screens.

- Graphic reports to be layered on top of cmd-line reports, often developed by future users.

- Localizable for non-English environments.


Under the Hood:

- A kernel that can be reliably be built upon by others.

- Built with a reliable, fully-portable programming language that has adequate speed.  Perl.

- Usage of external [perl] software modules, available for the targeted operating systems.

- Consistent programming practices and data interfaces, for easier enhancements by users.

- Extensively commented code, with intentional avoidance of "programmer's tricks."

- Simple design, whenever possible, yet complex when needed to meet objectives.

- A multi-tasking architecture that works on all platforms.

- I/O software that works at higher levels without platform-specific code.  Ethernet.

- Interprocess communication that works on any platform and cross-computer.  SQL database.

- Data storage that can be extended from single computer to world-wide network:  SQL database.

- Parameter files that are human readable, human editable, and machine readable.

- Extensive configurability for expandability, with defaults for easier small-system implementation.

- Detailed system logging, with ability to increase reporting verbosity as needed.



Current Status


MoCo has been running 24x7 for the last year in a structure that houses a microbrewery, future restaurant, and residence.  Presently, there are approximately 40 inputs and outputs and 40 calculation and time points.  MoCo is connected to numerous temperature sensors in the brewery and on the HVAC system.  It is interfaced with a Davis weather station.  And, it has over a half dozen other digital and analog I/Os.


MoCo has never crashed in the above application.  It is well documented, although the manual has not yet been released.  An alpha release could be forthcoming.


That said, there is still work to be done.  The system has many features, and each one needs to be tested after the software is frozen, and before the software is released.  Installation procedures for all platforms need to be fine-tuned and documented.


Manufactures of I/O bridges who would like to become involved are invited to make early contact.  Other interested parties should feel free to send an email or give a call, as well.


Reed White


info (at), 719-695-0880