The smallest wireless IMU - Dime sized, ARM Cortex M0+ with 9-DoF IMU, temperature and altimeter. Supports ZigBee and Mesh networking.

Similar projects worth following
The FemtoBeacon is an open-source wireless IMU. Based on the Atmel SAM R21 (256KB, 48MHz max), it sports an onboard voltage regulator, USB, RF (ZigBee, Mesh networking), and onboard altimeter/temperature sensor.

Chip set: ATSAMR21E18A, MPU-9250, MS5611-01BA03

FemtoBeacon, the world's smallest open-source wireless IMU sensor. Arduino compatible! Think of it like a wireless cochlea for electronics. 

BUY on Tindie:

I am currently developing a dime-sized (18mm diameter) wireless IMU (9-DoF), and associated C/C++ libraries.

FemtoBeacon uses the Atmel SAM R21 (ATSAMR21E18A), with an onboard altimeter (MS5611-01BA03), and 9-DoF Gyroscope with integrated Accelerometer, Magnetometer, and built-in Motion Processing features (MPU-9250). The SAM R21 has integretated wireless capabilities (ZigBee, Mesh networking).

IMU data is sent over a mesh network back to a node of your choosing (using the Atmel LwMesh stack).

FemtoBeacon runs at 48MHz. There is 256KB of flash available. It has an onboard voltage regulator, which outputs 3.3V.

This board supports uploading programming over USB, thanks to our modified fork of the Arduino ZERO Core and Bootloader.The entire flash storage may be used if programmed with the ATMEL-ICE dongle over SWD.

Current work on the libraries, and examples:

Arduino Core and Bootloader, setup instructions:

Kickstarter for beta testing boards:

  • Unity3D + Wireless FemtoBeacon coin!

    femtoduino02/02/2018 at 02:39 0 comments

    I now have a working Unity3D project that showcases a FemtoBeacon coin rotating a mesh!

    Github code:

  • SAM D21E/R21E board package 1.7.9, new hardware features

    femtoduino01/26/2018 at 21:42 0 comments

    I've released a few more examples: RGB LED + Wireless Mesh for FemtoBeacon, and FemtoUSB RGB LED + Push buttons.

    FemtoBeacon coin r2.0.7 supports USB Host mode. Both the coin and dongle now support switching between an on-board SMD Omnidirectional Antenna, and a uFL connected antenna. The coin and dongle both have an RGB LED.

    I've added Blender 3D case models, with corresponding STL files for 3D printing (works well with Cura slicer)

    I am finalizing sourcing of the parts necessary to have Small Batch Assembly make a batch of 100 coins and 100 dongles. It should be about two weeks or less before I send everything to the assembly line.

  • Arduino board package 1.7.7 Released!

    femtoduino09/13/2017 at 17:27 0 comments

    Board Package v1.7.7 released! It includes HID USB Keyboard/Mouse support, so you can wirelessly move and input stuff using a coin and dongle!

    This release also includes a couple of bug fixes and support for the FemtoBeacon PRO.

    See the github repo!

  • Performance and Bug fixes!

    femtoduino02/27/2017 at 03:20 1 comment

    I've updated the setup instructions at ...while releasing performance enhancements, a memory leak bug fix, and sleep/wake support for FemtoBeacon coins.

    The wireless MESH Coin and MESH Dongle example sketches now transmit Self Node ID, PAN ID, Channel number, Incoming Node ID, Yaw, Pitch, Roll (all 180 degrees expressed in radians), and quaternion 1, 2, 3

    When a coin loses signal to a dongle, it will sleep for 10 second intervals at a time, waking to check for connectivity intermittently. Data is streamed only when a connection is available to save on power.

  • FemtoBeacon coins, mesh networking now live!

    femtoduino10/23/2016 at 04:48 0 comments

    I've released version 1.7.1 of my Arduino board package (See )

    It includes working example sketches for the FemtoBeacon coins and dongle. You can give each coin sensor a unique address, and stream it back to a FemtoBeacon dongle.

    Install the board package, select "ATSAMR21E18A (Native USB)" and upload the corresponding sketch for coins and an RF dongle (remember to give each coin a unique address greater than 1, as 1 is the RF dongle's address)

  • USB Sketch upload, OSCULP32K reference

    femtoduino08/12/2016 at 00:11 0 comments

    The Arduino sketch upload over USB now works reliably. As it turns out, the bootloader size defined for thr SAM R21 needed to be 0x2000ul, not 0x1000ul. The funny thing is - it's a setting in the BOSSA utility I had originally contributed a while back!

    I've patched my fork of BOSSA (arduino branch) and submitted a pull request to the official BOSSA repo.

    In other news, I've switched the 32.768KHz clock reference to the internal OSCULP32K clock allowing for stable DFLL48 locked loop startup, 100% of the time.

  • RF Mesh Networking!

    femtoduino04/21/2016 at 21:35 0 comments

    Success! We have forked and ported library-atmel-lwm (LwMesh from Atmel) and modified it to work with the SAM R21E chip. Femto beacon now comes with a Ping example.

    We are now authoring a variety of examples + Projects, including stuff for AES encrypted comms, IMU and LPS, Unity3d/UE4 integration, and much more!

    Stay tuned!

  • FemtoBeacon RF Dongle (r2.0.1) - PCBs via OSHPark

    femtoduino03/18/2016 at 20:52 0 comments

    I've gone ahead and ordered 3 PCBs for the new FemtoBeacon RF Dongle (r2.0.1) design. It's simply a USB to RF dongle and does not include the IMU components. Uses the same chip as the FemtoBeacon (Zigbee/Mesh), the Atmel SAM R21E. Arduino compatible, of course.

  • SUCCESS! FemtoBeacon - Arduino bootloader, Atmel SAM R21E

    femtoduino03/18/2016 at 05:51 0 comments

    Good news! I now have a working Arduino Zero bootloader for the Atmel SAM R21E. Please note: the main XOSC crystal is 12MHz, but the board uses the internal DFLL48 clock to run at 48MHz.

  • Arduino Core and Bootloader progress

    femtoduino03/14/2016 at 16:12 0 comments

    I am in communication w/ some developers on the Arduino Developers mailing list as I work on Arduino support for the SAM R21 E. I've figured out clock setup (so, hooray, Arduino setup actually runs!) ...however, USB CDC enumeration currently fails.

    I had (erroneously) assumed the XTAL crystal could be 48MHz. In actuality (after reading the datasheet once more), it supports 0.4 to 32MHz, but can use the external crystal based clock source for DFLL (Digital Frequency locked loop) and FDFLL (Fractional DFLL) to generate 48MHz and 96MHz signals, respectively.

    I had a look at the R21 Xplained Pro reference schematic, and it appears Atmel uses a 12MHz external crystal. I've ordered a couple of 12MHz crystals. I will retry USB tests once the parts arrive.

    - Alex

View all 17 project logs

Enjoy this project?



zyndram wrote 07/22/2023 at 09:38 point

is possible add to this project?

  Are you sure? yes | no

Alex Rosiu wrote 11/27/2018 at 10:55 point


Great project, cool to see it live!

If I were to connect the receiver to an Arduino board instead of the PC, how would I accomplish that?



  Are you sure? yes | no

Arduino Aficionado wrote 02/06/2018 at 23:50 point

This is great. Im happy for you!

  Are you sure? yes | no

femtoduino wrote 02/07/2018 at 01:29 point

Thank you! 

  Are you sure? yes | no

femtoduino wrote 03/09/2016 at 15:53 point

Hi Stephan! I'm actively working on the Arduino Core and Bootloader for this chip.

  Are you sure? yes | no

stephan wrote 03/09/2016 at 15:26 point


Any updates on the project? Seemed quite active - now very little to be seen...

  Are you sure? yes | no

femtoduino wrote 02/07/2018 at 01:31 point

Quite a few, actually. The antenna has been upgraded. There's now an RGB Led, and a uFL connector. Figured out why the IMU was taking so long to initialize. 

  Are you sure? yes | no

davedarko wrote 02/07/2018 at 07:55 point

you've responded to a 2 years old comment, I hope @stephan didn't give up on you :D

  Are you sure? yes | no

alpha_ninja wrote 12/07/2015 at 00:34 point

I can't find the link to your design files. Please upload them soon!

  Are you sure? yes | no

femtoduino wrote 12/07/2015 at 01:25 point

They are on github. I'll upload them here shortly.

  Are you sure? yes | no

alpha_ninja wrote 12/02/2015 at 00:46 point

This is your one-week reminder to upload design documents:

  Are you sure? yes | no

crjeder wrote 11/13/2015 at 07:54 point

Had a look at nRF52 from nordic semi? It's a M4 with integrated BLE and NFC

  Are you sure? yes | no

femtoduino wrote 11/13/2015 at 14:06 point

yes we have. Our BT 4.2 version is almost ready for the first PCB revision.

  Are you sure? yes | no

Neon22 wrote 05/21/2015 at 01:37 point

Looks like Micropython would run on this. But no floating point on M0 core.

  Are you sure? yes | no

femtoduino wrote 05/21/2015 at 01:49 point

At this early stage, we hope enough people show interest. If that happens, we plan on making a Cortex M4 based design (likely larger than this). The Atmel SAM R21/used currently just so happened to be small enough and offer built in RF capabilities.

EDIT: Google around for "Baconduino". If Atmel has a small packaging of an ARM Cortex M4 with FPU in a WLCSP package, then we will probably go with that. Otherwise, we may try with the ST Micro STM32F439 (WLCSP package)

  Are you sure? yes | no

Neon22 wrote 05/21/2015 at 09:53 point

All the F4 s are floating point. The cheapest at 84MHz is the 401. at about $3 in quantity IIRC. not sure on package options and of course no Wifi/BLE etc. still need one of those.

  Are you sure? yes | no

femtoduino wrote 05/15/2015 at 16:27 point

Yes. I'll upload a picture of the underside with silkscreen labels.

EDIT - ok, I've added a few more pictures.

  Are you sure? yes | no

racethesunlive wrote 05/15/2015 at 16:51 point

Nice. Nano quadcopter flight controller here I come

  Are you sure? yes | no

racethesunlive wrote 05/15/2015 at 16:23 point

Love it! Are there GPIO pins on the board (looks like there are from the picture).

  Are you sure? yes | no

femtoduino wrote 05/23/2017 at 16:04 point

Yes. I use the pins from a 1.27mm pitch header, or the thin end of a standard 2.54mm machined pin header (individually, of course).

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates