The DuinoMite

The DuinoMite is a series of boards made by Olimex in Bulgaria that run my MMBasic interpreter.

They are a clone of my original (monochrome) Maximite design and include a number of unique features. Some of the features (such as a sophisticated power supply) are quite useful but in adding them Olimex compromised other features of the Maximite.

If you got here from another website it might be better for you to have a look at my web page for the original Maximite first, then return here, as that will give you some background on the device that the DuinoMite cloned.

A Little History

The DuinoMite design was based on my Maximite design but Olimex decided to "improve" it by adding features which had the unfortunate side effect of compromising the I/O capabilities of the original Maximite. It also meant that a special version of MMBasic was required to support their board.

To make matters worse Olimex and their distributor indulged in some dubious business practices to advance their aims. You can read about this in my page "Problems in Open Source".

To create their own firmware they took my version 2.7 of MMBasic and named it DMBasic. They added a few features but the project eventually faltered leaving the purchasers of the DuinoMite with a buggy and incomplete implementation of my BASIC language.

At about the same time I ported MMBasic version 3.1 to the DuinoMite. My intention was to rescue the purchasers of the DuinoMite and also provide prospective Maximite users with an assembled and cheap alternative to building a Maximite from a kit of parts. Since then I have updated both the DuinoMite and the Maximite versions of MMBasic at the same time so that both versions are compatible and have the same features.

The Good and the Bad

On the positive side the DuinoMite is cheap and well built. Olimex are good engineers and the board is solid and reliable. The DuinoMite also has a number of extra features which can be quite useful. These include a sophisticated power supply, hardware serial ports, RS232 driver, battery backup, and more.

The main problem with the DuinoMite involves Olimex's claim that it has twenty or more general purpose I/O pins. The original Maximite (that the DuinoMite cloned) had twenty I/O pins that could be used for inputs and outputs (the Colour Maximite has forty) and they were easy to use and had few restrictions. The DuinoMite however has made a mess of this area with many I/O pins being used for double duty and have additional circuitry attached to them that hinders their use as an input or output.

The truth is that the only way you can use all twenty of the I/O pins is by giving up the use of the micro SD card, the video output (both VGA and composite) and other features. For all the pins to operate as both input and outputs (same as on the Maximite) you would also need to modify the board by removing components and/or cutting tracks.

The reality is that the DuinoMite has just ten I/O pins that can be used without restraint plus an additional five I/O pins which have some components internally attached (so you will have to consult the schematics). However, this is not such a bad thing - it is plenty for most jobs and some users don't use the external I/O feature at all because they are writing games or having fun using the thing as a basic computer.

So, if you are happy with this the DuinoMite makes a great monochrome Maximite computer at an unbeatable price.

DuinoMite MMBasic

DuinoMite MMBasic is my port of my MMBasic to the DuinoMite. It is compatible with the same version running on the Maximite and includes all the advanced features of MMBasic such as optional line numbers, the full screen editor and defined subroutines/functions.

As far as the hardware is concerned, when running on the DuinoMite, MMBasic supports:

Ten I/O pins that work normally (as on the Maximite). These are 1 to 4 and 13 to 18.

Five additional I/O pins (5, 6, 7, 11 and 12) where you should take care and consult the circuit schematic before using them. There are extra components attached to these pins and these could interfere with their use as I/O pins (particularly as inputs).

The two hardware serial ports (giving a total of four serial ports). This includes RS232 on the Mega version.

The CAN bus on the DuinoMite Mega.

Reading the battery voltage on the DuinoMite and DuinoMite Mega.

However, please note that there are some features that are not supported:

The watch crystal oscillator.

SPI on the UEXT connector.

USB OTG on the Mega.

You can easily upgrade your DuinoMite to my DuinoMite MMBasic (the software required is supplied with the upgrade) and you can just as easily revert back to the Olimex version of my software if you want to.

To download firmware updates for the DuinoMite go to the main Maximite page.