This is a MicroMite+ board in an Arduino form factor. The board can be powered from the barrel jack (7-12V) or via the usb cable. Plugged into a PC, the board appears as a USB port. The CGMICROBOARD2 will provide a versatile replacement for an Arduino that you can program in a powerful and easy MMbasic.
MMBasic is a Microsoft BASIC compatible implementation of the BASIC language with floating point, integer and string variables, arrays, long variable names, a built in program editor and many other features.
Using MMBasic you can use communications protocols such as I2C or SPI to get data from a variety of sensors. You can display data on low cost colour TFT LCD displays, measure voltages, detect digital inputs and drive output pins to turn on lights, relays, etc.
The features are:
A fast 32 bit CPU (30 to 120MHz) running a powerful BASIC interpreter. 100KB of non volatile flash memory is reserved for the program, 108KB of RAM is available for BASIC variables, arrays, buffers, etc. This is sufficient for quite large BASIC programs. The CPU is the MX470F512H.
USB 2.0 interface with a serial emulator for entering MMBasic programs (in addition to the serial console). The option of using a PS2 keyboard and a TFT LCD display panel as the console.
SD Card interface with the ability to load/save programs and open files for read, write, append or random access. SD Cards formatted in FAT16 and FAT32 up to 64GB are supported.
Commands and functions to create sophisticated GUI (Graphical User Interface) controls such as buttons, switches, LEDs, check boxes, spin boxes, radio buttons, numeric keypad input and alphanumeric on screen QWERTY keyboards. All these controls are automatically maintained and animated by MMBasic – the BASIC program only needs to read the value of a control.
The BASIC interpreter is full featured with floating point, 64-bit integers and string variables, long variable names, arrays of floats, integers or strings with multiple dimensions, extensive string handling and user defined subroutines and functions. Typically it will execute a program at 30,000 lines per second. MMBasic allows the embedding of compiled C programs for high performance functions and the running program can be protected from being listed or modified by a PIN number.
Input/output pins can be independently configured as digital input or output, analog input, frequency or period measurement and counting. Within MMBasic the I/O pins can be dynamically configured as inputs or outputs with or without pullups or pulldowns. MMBasic commands will generate pulses and can be used to transfer data in parallel. Interrupts can be used to notify when an input pin has changed state. Up to five PWM or SERVO outputs can be used to create various sounds, control servos or generate computer controlled voltages for driving equipment that uses an analogue input (eg, motor controllers). Up to four high speed serial I/O ports, two I2C and two SPI channels.
TFT LCD display panels are supported allowing the BASIC program to display text and draw lines, circles, boxes, etc in up to 65 thousand colors. Resistive touch controllers on these panels are also supported allowing them to be used as sophisticated input devices. These LCD panels typically cost US$7 and provide a low cost, high tech graphical user interface.
Programming and control is done via a serial console (TTL voltage levels) at 38400 baud (configurable). Once the program has been written and debugged the CGMICROMITE2 can be instructed to automatically run the program on power up with no user intervention. Special software is not needed to develop programs.
A full screen editor is built into the CGMICROMITE2 . This only requires a VT100 terminal emulator and can edit the whole program in one session. It includes advanced features such as color codes syntax, search and copy, cut and paste to and from a clipboard.
Programs can be easily transferred from another computer (Windows, Mac or Linux) using the XModem protocol or by streaming the program over the serial console input.
A comprehensive range of communications protocols are implemented including I2C, asynchronous serial, RS232, IEEE 485, SPI and 1-Wire. These can be used to communicate with many sensors (temperature, humidity, acceleration, etc) as well as for sending data to test equipment.
The CGMICROBOARD2 has built in commands to directly interface with infrared remote controls, the DS18B20 temperature sensor, LCD display modules, battery backed clock, numeric keypads and more.
Special embedded controller features in MMBasic allow the CPU to be put to sleep or the clock speed to be varied to balance power consumption and speed. A watchdog feature will monitor the running program and can be used to restart the processor if the program fails with an error or is stuck in a loop.
SD socket Chip Select = 49, Card Detect is 30.
LCD D/C = 21, LCD Reset = 22, LCD CS =23.
Touch CS = 18, Touch IRQ = 14.
OPTION LCDPANEL ILI9341, L, 21, 22, 23
OPTION TOUCH 18, 14
OPTION SDCARD 49, 30
Firmware Updating:
There isn’t a programming header, but the programming pins can still be connected.
The PICKIT3 header:
1 – MCLR – RESET
2 – Vcc – 3.3V
3 – GND – Ground
4 – PGD – uM16 (Arduino header D9)
5 – PCC – uM15 (Arduino header D1)
Jumper wires can be used to make these connections and then the board programmed via PICKIT3 software.