Practical Electronics/Circuits to make/MMC

The Modular Multifunction Counter or MMC is a custom device that combines several counting functions in a format that that is compact and highly extendable.

The functions performed by the MMC are:


 * Binary/BCD
 * Up/Down
 * Presetable
 * Resetable
 * Able to be extended to an arbitrary number of digits
 * Decoding and display of the counter

The MMC is a modular design, which means that it is made up of several components which can be interchanged to give different functionality. It is made up in two dimensions of blocks of three digits: the boards stack vertically for every block of three digits, performing all functions for those digits, while they also join horizontally for extension to larger numbers.

The bottom board of rightmost stack controls the settings for all digits to the left of it. By plugging a board in to the left-hand side of the bottom board, the new board automatically becomes a slave to the old board (all settings on the new board are overridden), and vice versa.

Each stack is made up of at least four boards:


 * Settings - this board either allows the user to select the mode of counting or accepts settings from a master board and implements those.
 * Counter - this board contains the 4029 counters and gives a BCD output.
 * Decoder - this board takes the BCD from the 4029 counters and converts it to 7-segment inputs.
 * Display - this board displays the decoded count.

Please bear in mind that the last two boards can be changed for something else, for example a board that outputs a binary number as a row of red or green LEDs.

Because of the large size, circuit diagrams and any notes on the design of the cicuit are located here.

PCB artwork and component layouts are available here. You will need Adobe Acrobat to read some of them. This is available at Adobe's website.

There is also a photo gallery.

Improvements
If you think you can improve on any part of this circuit, please do not hesitate to contact User:Inductiveload to suggest it. This could be as small as a way to lose a jumper wire on a PCB or as large as a suggested new module option.