ARMinARM
The ARMinARM board is an STM32 ARM Cortex-M3 microcontroller addon board for the Raspberry Pi Model B+ with a focus on flexibility and hackability, while still being easy to use. The STM32 runs on 72MHz and has 512KB Flash and 64KB SRAM memory.
The Raspberry Pi is used as an "all-in-one" code-editor/compiler/programmer/debugger/communicator for the STM32 Cortex-M3 on the ARMinARM board. All software is open source, and runs on the Raspberry Pi.
All STM32 and Raspberry Pi GPIO pins are available on easy accessible headers, that align on a 0.1" grid. There are 77 GPIO pins in total (the STM32 has 51 and the Raspberry Pi has 26 usable GPIOs).
All GPIO is 3.3 Volt logic, but most of the STM32 GPIO pins are 5 Volt tolerant. That means that generally, you can connect your sensors and chips without having to worry too much about voltage level conversion.
And it's usable as a stand alone board too! Remove it from the Raspberry Pi (keep the standoffs on), move 1 jumper and plug in a PC or laptop with a USB cable.
Having an ARM Cortex microcontroller on your Raspberry Pi adds a lot of extra features.
- ARM Cortex-M3 microcontroller (STM32F103RET6) with 512KB Program Flash, 64KB SRAM, 72MHz clockspeed, 1x USB, 1x CAN, 1x SDIO, 2x I2C, 3x ADC (16 channels, 12 bit), 2x DAC, 5x USART, 3x SPI, 2x I2S, 8x Timer: 2x basic + 4x 16bit + 2x PWM, temperature sensor, JTAG, watchdog, RTC.
- Fits the Raspberry Pi perfectly, but also great to use stand alone.
- Female extension headers for all STM32 and Raspberry Pi GPIO pins.
- All pins align to the standard 0.1" grid. Create your own shields on any cheap proto/veroboard.
- All pins are 3.3V logic, most (but not all) STM32 pins are 5V tolerant.
- USB mini connector. Can act as "programmable High Speed USB client" (HID/DFU/CDC).
- Reset button.
- User button (bypass with jumper to free up analog pin PA0).
- Power from Raspberry Pi or USB (selectable with jumper).
- 3.3V voltage regulator (600 mA, bypassable with jumper).
- Green Power LED.
- Red user LED (bypass with jumper to free up digital pin PB0).
- Footprint for 32.768KHz crystal + supporting caps for RTC.
- Jumperbank to connect commonly made connections (UART, I2C, SPI, BOOT0, RESET) between the Raspberry Pi and STM32 on the ARMinARM board.
- Jumper to bypass "USB Disconnect" to free up digital pin PC13.
- GCC based toolchain (arm-none-eabi) provided. Compile, upload and debug on the Raspberry Pi itself.
- Runs libmaple, an Arduino/Wiring compatible software library.
- Runs Espruino, a javascript interpreter for microcontrollers.
- Runs elua, a lua interpreter for microcontrollers.
- Runs libopencm3, a C abstraction layer for ARM Cortex-M microcontrollers.
- Runs CMSIS/Std_Periph, the 'Cortex Microcontroller Software Interface Standard'.
- Use the Raspberry Pi as a JTAG debugger with OpenOCD's sysfsgpio interface (or bring your own ST-LinkV2 compatible SWD debugger).
The repository with all installation scripts is here: https://github.com/ARMinARM/arminarm