Skip to content
gebart edited this page Dec 8, 2014 · 8 revisions

Mulle

The Mulle is a miniature wireless Embedded Internet System suitable for wireless sensors connected to the Internet of Things, and designed for rapid prototyping. It can be bought directly from Eistec AB.

Components

https://github.com/eistec/mulle/wiki/Datasheets contains a list of relevant documentation for the components.

MCU MK60DN512VLL10 – Cortex-M4, 512 kB flash, 64kB RAM
radio chipset AT86RF212B, sub-GHz IEEE802.15.4 transceiver, similar to the AT86RF233
external flash memory Micron M25P16 16 Mbits external NOR flash, used for storing configuration, measurements and other slow changing non-volatile data
external FRAM memory Cypress/Ramtron FM25L04B 4 Kbits external F-RAM, used for storing counters and other rapidly changing non-volatile data
accelerometer ST micro LIS3DH MEMS accelerometer,

Layout

Implementation Status

This port is currently a work in progress, lots of components are not working yet. The examples/default basic functionality is working. The branch mulle on https://github.com/gebart/RIOT is the current progress. A PR will be opened after it has been cleaned up a bit more.

The radio is currently untested in RIOT, but since the RF231 is somewhat supported it should be a minor porting effort to get the RF212B working.

Device ID Supported Comments
MCU MK60DN512VLL10 partly See below
Low-level driver GPIO yes
PWM no not started
UART yes RX and TX works in examples/default using UART1, implemented but not tested other ports
I2C no not started, first priority after radio
SPI in progress implemented core functionality, needs refactoring for PCS and CTAR config
USB no not started
RTT in progress untested, ported from Contiki
RNG no not started
hwtimer yes hwtimer uses LPTMR module for timer, 32.768 kHz tick rate
timer yes in progress, uses PIT for additional timers, F_BUS tick rate (48 MHz default)
LPM/LLWU no not started, will port some code from Contiki for low power modes
Radio Chip AT86RF212B no waiting for refactoring work being done for the IoT_Lab-M3
Accelerometer LIS3DH no will port from Contiki
Flash M25P16 no will port from Contiki
FRAM FM25L04B no will port from Contiki

Toolchains

See ARM Family, and Eistec wiki - Installing-toolchain (GCC)

Working:

  • gcc-arm-embedded
  • Clang 3.4, Clang 3.5 - Install procedure not documented but pretty straightforward (Gentoo: USE=multitarget), Makefiles and build system is fully functional with Clang.

Not working:

  • Link time optimization (LTO) - Requires the GOLD linker, which currently fails on the K60 ldscripts. Needs refactoring of the ldscripts.

Programming and Debugging

See Eistec wiki.

Clone this wiki locally