The MatchboxARM is the latest in a variety of development boards that are both tiny and cheap. Roughly the length of a common wooden match, you can see how it got its name. Built around a Cortex-M3, the MatchboxARM boasts an easy to use firmware update method that is literally drag and drop.
The MatchboxARM has been in testing for about seven months now, according to its Kickstarter page. During that time, it has gone from the rough prototype you see below to the nice and tidy tool you can see above. This tiny size and price of under $30 means it can be used not only to save development time, but also to fit in extremely small projects.
The features of the board include:
- 72 MHz 32-bit ARM CPU with 64 Kbytes of flash memory, 20 Kbytes of SRAM
- Clock, reset, and supply management 2.0 to 3.6 V application supply and I/OsPOR, PDR, and programmable voltage detector (PVD)4-to-16 MHz crystal oscillatorInternal 8 MHz factory-trimmed RCInternal 40 kHz RCPLL for CPU clock32 kHz oscillator for RTC with calibration
- Low powerSleep, Stop and Standby modes VBAT supply for RTC and backup registers
- 2 x 12-bit, 1 μs A/D converters (up to 16 channels)
- 7- DMA channel. Peripherals supported: timers, ADC, SPIs, I2Cs, and USARTs
- 37 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant
- Debug modeSerial wire debug (SWD) & JTAG interfaces
- Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input
- 16-bit, motor control PWM timer with deadtime generation and emergency stop
- 2 watchdog timers (Independent and Window)
- SysTick timer 24-bit downcounter
- 2 x I2C interfaces (SMBus/PMBus)Up to
- 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
- 2 SPIs (18 Mbit/s)
- CAN interface (2.0B Active)
- USB 2.0 full-speed interface
- CRC calculation unit, 96-bit unique ID
Development using the system should be fairly easy. You can program in C or C++ and compile with an open-source compiler that they include called Coocox. With headers spaced to fit a standard breadboard and a total of 37 I/O ports, prototyping with this should be a breeze.
The board connects to your computer via USB 2.0. The computer sees it as a storage device just like a memory stick. This particular point makes it stand out a little bit from the rest of the crowd, usually they need a piece of software to connect and reprogram them. Once you've compiled your code you simply drop the file into the correct folder and hit the reset button. That's it, your firmware has been updated.