Colour Maximite Features
This page describes the features and capabilities of the Colour Maximite.
For more information on the Colour Maximite you can click on these links:
You can use the Colour Maximite in three different roles.
As a Fun, Small Computer
Think of it as a modern version of the Tandy TRS-80, Commodore 64 and other personal computers that were popular many year ago. You can plug the Colour Maximite into a VGA monitor, add a standard IBM PC style keyboard and away you go ! It includes its own BASIC interpreter and does not need an operating system so you can immediately type in your program and run it on the spot.
The Colour Maximite also has a slot for an SD memory card so you can save your programs and data to the card for later retrieval. These cards are cheap and offer capacities into many gigabytes - something the Tandy's and Commodore's of yesterday could only dream about.
The BASIC interpreter is modelled on Microsoft BASIC so you can download many programs from the internet and try them out. If you are new to programming you will find that the BASIC language provides the easiest introduction to this skill. It was specifically designed to provide an easy learning environment while still having real power so that you can move beyond the simple learning steps.
In this role you can have fun discovering a simple but powerful computer, use it to teach children how to program, play games, balance your chequebook or whatever.
As a Controller
The Colour Maximite has 20 input/output pins on the back panel and an additional 20 on the Arduino compatible connector. These input/outputs can be used to measure voltages, count frequency, detect switch closure and use that information to turn on lights, relays, pumps, etc. All under the control of your BASIC program. You can use the Colour Maximite as a multi channel digital voltmeter to measure temperatures, pressure, acceleration and many other types of data from sensors with analog outputs. In this role you can use it to control an industrial process, construct an intelligent burglar alarm, log temperatures and a million and one other similar jobs.
The Colour Maximite can be set to automatically run a program on power up (without keyboard and video connected) and in this mode it makes a powerful embedded controller. There are a lot of low cost 5 and 7 inch VGA/composite displays available on eBay and they would make a great graphics display screen for a device based on an embedded Maximite.
The Maximite supports a wide range of communications protocols (serial, I2C, SPI and 1-wire). These are mostly used for communicating between semiconductor chips so, using the Colour Maximite, you can easily measure temperatures, log data or interface with a test instrument.
Because the Maximite is so cheap you can use it for the simplest of tasks such as an intelligent battery charge controller or monitoring temperatures inside you house. It is also powerful enough that you could control the environment in your greenhouse or log data from your racing car !
As a Game Playing Computer
The Colour Maximite should also encourage another group of users who enjoy writing and playing animated games. Colour is especially useful for games and the Colour Maximite has a special high speed colour mode designed for that use.
Version 4.0 of MMBasic also has some special commands (BLIT and SPRITE) designed to move video images around the screen, just what you need for an animated game.
This small game created by Fabrice Muller in France will give you the idea, everything including the sound effects is generated by the Colour Maximite:
The key features are:
- A fast 32 bit CPU with 128K of RAM running a powerful BASIC interpreter.
- The BASIC interpreter is full featured with floating point and string variables, long variable names, arrays of floats or strings with multiple dimensions, extensive string handling and full file I/O features. Typically it can handle a program of over 1000 lines and will execute it at up to 30,000 lines per second.
- Video output is in eight colours (including black and white) and uses a standard VGA display to display 480x432 pixels. The character set is the full upper and lower case ASCII character set and the screen displays 33 lines with 80 characters per line.
- A high speed games playing mode is provided which supports eight colours and a 240x213 pixel display. Game playing primitives include BLIT (high speed video bitmap copy), SPRITES (animated graphics that are independent of the background image) and the ability to display colour BMP files.
- Video graphics commands in the BASIC interpreter provide the ability to turn any pixel on or off, draw lines, boxes, filled rectangles, circles and position text anywhere on the screen and with any colour.
- Input is from a standard IBM PS2 keyboard including support for the numeric keypad, caps lock and other features.
- Sound output is high quality stereo. Music or sound effect files in the MOD format can be played using the built in synthesiser, alternatively high quality sine waves from 1Hz to 20KHz can be generated using this output.
- The USB socket is for connection to a desktop computer. The Maximite appears as a virtual serial port to the bigger computer and anything typed onto this port will be used by the Maximite just as if it has been typed on the keyboard. Similarly, any output from the Maximite will be sent to both the video and USB outputs. This facility can be used to upload/download programs and data.
- The SD/MMC/SDHC memory card slot has support for FAT16 and FAT32 file systems up to 64GB. Using this you can save and load programs and under program control you can read and write data to the memory card with up to 10 files simultaneously open. The file system and data is compatible with Windows, Apple and Linux so the card can be read by any of these computers.
- An internal "drive" is created from the flash memory of the PIC32 microcontroller for storing data and programs separately from the SD card. Its size is about 180KB and files can be copied back and forth between this and the SD card.
- 20 input/output pins are available on an IDC connector on the back panel. These can be independently configured as digital input or output, analog input, frequency or period measurement and counting. 10 of the pins can be used to measure voltages and another 10 can be used to interface with 5V systems.
- An additional 20 input/output pins are made available on the Arduino compatible I/O connector on the top of the PC board. These can be used to measure voltages and as digital input/outputs.
- A wide range of communications protocols are implemented including I2C, serial (RS232 and RS485 with a suitable driver chip), SPI, 1-Wire and CAN. These can be used to communicate with many devices including test equipment.
- Two PWM channels (using the sound connector) can be used to generate computer controlled voltages for driving equipment that uses an analogue input (power supplies, motor speed controllers, etc).
- The firmware can be upgraded from any Windows/Mac/Linux computer via the USB interface. As bugs are found and new features added the firmware and programming software will be made available on this website.
- Power is 7V to 16V DC and can be supplied by the USB connector, a plug pack, wall wart or from a car battery.
For information on the Colour Maximite click on these links:
Other useful pages:
- MMBasic introduction
- The MMBasic home page at http://mmbasic.com
- Firmware downloads
- Frequently Asked Questions
- The Maximite Story (how it came about)