ArmModMid - ARM 32bit processor Module
*** Preliminary ***
What Is It ?
For hobbyist and educational electronics the usage of small 8bit
micro-processors in simple and relatively large, dual in-line packages,
have been the norm. The Microchip PIC series and Atmel AVR series are
very popular and PCB's can be easily produced and assembled with them.
More recently there has been a big push in low cost and low power 32bit
ARM based microprocessors. These are a lot more powerful than 8bit
ones, and due to their 32bit architecture are easier to program.
Unfortunately they only tend to come in small packages with fine pin
spacing that make it difficult to use for the hobbyist and student when
making their own electronics PCB designs.
The idea of the ArmModMid unit is to provide a simple and small ARM
processor based module that can be installed onto hobbyist and student
designed and built electronics PCB's allowing them to easily make use
of this technology. It connects to the users PCB through two 20way 2mm
pitch connectors or soldered pinholes. The module is relatively small
at 59mm x 29mm.
As well as a 32bit ARM STM32M4 processor, it has a USB interface,
14 ADC channels, a MicroSD card holder and a battery backed up
real-time clock amongst other features making it especially useful as
a data logger, robot control and general control module.
The ArmModMid is designed with data logging usage in mind. It has the following core features:
The ARM STM32F405 on the ArmModMid provides the following core features:
- Powerful ARM 32bit processor running at up to 168MHz with floating point hardware. STM32F405.
- Processor has 1 MByte of Flash program storage and 192kbytes of RAM
- Mini USB-B interface for power, programming, debug and general usage (communications with a PC for example).
- MicroSD card socket allowing up to 64GBytes of data storage memory to be used.
- Battery backed up real-time clock to store and maintain date and time.
- 5V to 3.3V regulator for local and optionally external power.
- 40pin 2mm pitch connector to main PCB.
- Debug LED. Every microprocessor needs one of these :)
|32bit ARM core running at up to 168MHz
|4 kbytes of battery backed up RAM for non-volatile memory store
|USB 2.0 high-speed/full-speed interface
|14 channels into 3 x 12bit ADC's at up to 2.4 mega samples per second
|2 channels from 2 x 12bit DAC's
|14 timers (16 and 32bit)
|Up to 16 PWM channels
|2 x I2C interfaces
|2 x SPI interfaces
|4 x serial port UARTS
|2 x CAN bus
|Battery backed up real time clock for date and time
|31 lines of general digital IO lines shared with peripherals
The 32bit ARM core provides a lot of power to create sophisticated
systems. To help with harnessing this power in an easy to use way we
provide the ArmSys software system. This provides a simple to use
integrated development environment with GNU C++/C compiller tool set
and the ArmSys C++ class library to make programing the systems
relatively easy along with examples.
Features of the ArmSys environment are:
- Simple C++ class library to access system hardware including I2C, SPI, RTC, ADC's etc.
- Can be used as a simple single program or as a multi tasking real time program.
library provides easy usage of the real time operating system features
of FreeRTOS allowing multiple tasks to be run simultaneously,
- Class library provides useful modules such as a MicroSD card file system and USB disk device support.