The DuinoMite-eMega is a complete self-contained computer running a BASIC interpreter called MM-Basic (originally written by Geoff Graham), which, when interfaced with a PS/2 keyboard and VGA or Composite monitor, is reminiscent of the old APPLE][ and TRS-80 personal computers. No need for a PC, no need for compilers, IDEs, or programmers; all you need to write embedded applications is DuinoMite.
DuinoMite also can be used from a PC via a virtual COM port through a USB connection, in case you don't want to dedicate a keyboard and monitor to it.
You can store code on internal Flash or on a microSD card have it executed on power-up through an autoexec.bas main code.
The DuinoMite-eMega has Arduino shield connectivity, allowing Arduino shields to be plugged in, which makes DuinoMite the world's first stand-alone Arduino Single Board Complete BASIC computer.
It is possible now to program this board in C with an Arduino-like environment called MPIDE! See links at the bottom of this page.
This version of the DuinoMite has some additional features compared to the DuinoMite-Mega. It has 100Mbit Ethernet connectivity, 2MB on-board Data Flash for data and code storage, and a PMP connector with 80MHz clock that can be used for TFT displays or fast ADC, which allows the eMega to be used as a logic analyzer or digital storage scope. These are in addition to interfaces in common with the DuinoMite-Mega: Arduino headers, two UEXT connectors, an RS232 port, a USB OTG port, a microSD card slot, a CAN connector (different interface), composite and headphone audio jacks, and of course the power, keyboard, VGA and composite video jacks.
At the heart of DuinoMite-eMega is the Microchip PIC32MX795L microcontroller which, among other features, includes on-chip 80MHz clock operation, 512KB Flash memory, 128KB RAM, USB with OTG functionality, UARTs, SPIs, I2C, ADC, CAN, and Parallel Master Port (PMP).
- PIC32MX795L microcontroller
- Power supply connector, 9-30V DC input
- USB On-The-Go mini-USB port allows DuinoMite to be either USB Host or USB Device
- 2MB on-board Flash drive
- 64KB EEPROM
- microSD card slot
- Two UEXT connectors (see below)
- CAN connector, 3.5 mm jack (CAN driver requires 5V; will not work when board is powered by LiPo battery)
- PMP fast GPIO connector, up to 80 MHz I/O
- Arduino shield connector (both standard and 0.1"-spaced pads)
- PS/2 Keyboard connector (requires 5V; will not work when board is powered by LiPo battery)
- RS232 connector
- VGA connector
- Audio RCA jack
- Composite Video RCA jack
- Headphones 3.5 mm jack
- RESET and USER buttons
- Three status LEDs (red indicates power source other than battery; yellow indicates board ready; green indicates SD card activity or PIN(0) state)
- Built-in LiPo Lithium-Polymer battery charger (JST connector)
- Ultra low-power design which allows down to 30µA current consumption
- Industrial temperature operation: -40°C to +85°C
- Noise immunity
- ICSP programming connector for programming and debugging
- 32.768 kHz low-frequency crystal allows implementation of RTC and low-power modes
UEXT Connector As well as the Arduino shield connector, this board has two universal extension connectors which allow you to add other peripheral modules easily. UEXT can provide I2C, RS232, SPI and power to the external devices. Please see the UEXT Boards Category for a full list of modules that can plug into the UEXT ports.
Powering the DuinoMite DuinoMite-eMega can be powered four different ways. Its external power jack has a 2.1 mm internal pin (positive) and 6 mm outer diameter, and accepts 9V to 30V DC. It also can get 5V external power via USB when connected to a USB Host. Note however that some USB ports may not supply enough current for the DuinoMite-eMega, which can consume up to 140mA depending on its configuration. There is a JST connector for attaching a Lithium-Polymer battery, which would put the DuinoMite into low-power mode. The final power option is through the Arduino VIN port, which can accept 9-30V DC (no protection diode, so make sure).
These power supply options are set up so that multiple power sources can be connected and the board will change its power source automatically without disrupting operation of the board. The power jack and the VIN pin have top priority, then USB (i.e. board will use USB for power only when power jack and VIN power sources are not available), then the battery connector. A LiPo battery will be charged when any other power source is connected.
The external power jack utilizes a DC/DC converter. Power consumption when running at maximum frequency and with a VGA monitor and keyboard attached is 100mA @ 12V, 40mA @ 30V and 130mA at 9V. When working as a USB Host, DuinoMite may provide up to 500mA to the attached USB devices.
Programming the DuinoMite Because DuinoMite is a self-contained computer, you never need a PC; you can write BASIC code directly on it using a PS/2 keyboard and with a monitor connected to the DuinoMite itself — no compilers, no libraries, no linkers. This allows you to do things in seconds that in a C or Arduino system could take hours.
Read a Programming Example to see how easy it is.
If you don't want to dedicate a keyboard and a monitor to DuinoMite, you simply can connect it to your PC via USB. MM-BASIC will use the USB as a virtual COM port from which you can operate and program DuinoMite via a terminal program on your PC.
Firmware upgrading also is done via USB connection to a PC. The DuinoMite has a bootloader which is activated by holding down the BUT button then pressing RESET. A bootloader application is available for Windows below, or you can use mphidflash for Linux or Mac, or PIC32PROG for Linux. See the DuinoMite user manual for details.
If instead of a standalone computer, you want to use the DuinoMite board as a typical Arduino system, you can reprogram the PIC32MX795 with Pinguino firmware. However, the DuinoMite's bootloader does not support the Pinguino IDE, so you would need an external programmer to change it.
The board has a mini 6-pin ICSP connector which you can use if the bootloader has become corrupted or you need to change it. An inexpensive programming setup could include the PIC-KIT3 programmer with the PIC-Mini-ICD-6 adapter.
Warning for PICKIT3 Users Do not use the "programmer-to-go" button when there is no image on the programmer (either the Olimex PIC-KIT3 or Microchip's own PICKIT3). Doing so will put a PIC32 microcontroller into an irrecoverable state. See this Microchip Forum thread for details.
DuinoMite Project Examples
Now Programmable in C with MPIDE MPIDE is an Arduino-like development environment that supports multiple platforms. You will need a PIC32 in-system programmer (e.g. PIC-KIT3 with PIC-Mini-ICD-6 adapter cable) in order to load the DuinoMite MPIDE-Compatible Bootloader Firmware.
Optional Recommended Products for this Item
|USB 2.0 Cable, 6ft. A-Male / Mini-USB (5-pin) B-Male||+|| US$6.00|
|Serial Null Modem Cable, 6ft., DB9 F/F||+|| US$7.00|
|Serial Cable, 6ft., DB9 M/F||+|| US$6.00|
|RCA Audio/Video Cable, 6 ft., Shielded||+|| US$2.95|
|Power Supply 3-12V DC, U.S. plug, 6 connection tips||+|| US$11.00|
|Power Supply 3-12V DC, US/UK/Euro/AU Plugs, 100-240VAC||+|| US$13.00|
|Breadboard GPIO Adapter for DuinoMite Boards||+|| US$5.53|
|Polymer Lithium Ion Battery, 850mAh, JST Connector||+|| US$9.95|
|Polymer Lithium Ion Battery, 2000mAh, JST Connector||+|| US$16.95|
|Polymer Lithium Ion Battery Pack, 6Ah, JST Connector||+|| US$29.95|
|2-pin Female JST Connector, 2mm pitch, with 5-inch Wires||+|| US$0.95|