> **Source:** Core Electronics is an Australian maker-electronics retailer and manufacturer based in Newcastle, NSW, run by a team of makers and educators. We design and manufacture our own product lines (PiicoDev, CE originals) and are official retailers for iconic maker and industrial brands including Raspberry Pi, Arduino, Adafruit, SparkFun and DFRobot. Orders ship Australia-wide from our Newcastle warehouse. Prices are in AUD and include GST. Pricing, stock and dispatch on this page are generated from the store's live catalog. Full machine-readable index: https://core-electronics.com.au/llms.txt

# CMPS11-Tilt Compensated Magnetic Compass

**Type:** Product page · **SKU:** SEN0183 · **Brand:** [DFRobot](https://core-electronics.com.au/brands/dfrobot-australia)
**Page:** https://core-electronics.com.au/cmps11-tilt-compensated-magnetic-compass.html ([markdown](https://core-electronics.com.au/cmps11-tilt-compensated-magnetic-compass.html.md))

The CMPS11 is our 3rd generation tilt compensated magnetic compass. It packs a 3-axis magnetometer, a 3-axis gyro and a 3-axis accelerometer. A Kalman filter combines the gyro and accelerometer to remove the errors caused by tilting of the PCB. The CMPS11 presents a result of 0-3599 representing 0-359.9 or 0 to 255.

## Pricing

- **Price:** $59.40 (inc GST) — $54.00 AUD, exc GST
- **Quantity discounts:** 6+ $51.30 (exc GST) · 12+ $49.14 (exc GST)

## Availability & dispatch

- Available with a lead time — expect dispatch between Sep 21 and Sep 25.

## How to buy

- **Build a cart:** compose `https://core-electronics.com.au/cart/link?items=SEN0183:1` (comma-separated SKU:qty pairs) and share the link. Opening it shows a confirmation page with live pricing and stock before anything is added to the cart.
- **Verify the cart first:** fetch `https://core-electronics.com.au/cart/link/SEN0183:1.md` for live line prices (inc & exc GST, quantity discounts applied), stock and dispatch estimates, and totals. Append `/to/{AU-postcode}` (or `/to/{country-code}:{postcode}`) before `.md` for delivery options and prices to that destination. Unknown, retired, or out-of-stock SKUs are flagged. (Query form `cart/link.md?items=...` also works but some robots parsers refuse query strings here.)
- **Checkout** is completed on-site and includes a captcha at the payment step. Share the cart link; checkout takes it from there.
- **Search the catalogue:** `https://core-electronics.com.au/search/{query}.md` (URL-encode the query; pages 2-3 at `search/{query}/{page}.md`; `search.md?q=` also works)
- **Payment methods, purchase orders, policies and contact details:** https://core-electronics.com.au/llms.txt
## Description

The CMPS12 is our 4th generation tilt compensated compass. Employing a 3-axis magnetometer, a 3-axis gyro and a 3-axis accelerometer. At the core of the module is the superb BNO055 running algorithms to remove the errors caused by tilting of the PCB. Power supply requirements are flexible, you can feed between 3.3 - 5v and the module draws a nominal 18mA of current. A choice of serial or I2C interfaces can be used for communication.

**Overview of outputs**
**Heading, 16 bit:** 2 outputs, one calculated by Bosch and one by us
**Heading, 8 bit:** 0-255 scaled for simpler requirements
**Pitch:** +/- 0-90° or +/- 0-180°
**Roll:** +/- 0-90°
**Temperature:** current temperature of the BNO055 in °c
**Raw sensor outputs:** 3 x 16 bit integers for each of the Magnetometer, [accelerometer](https://www.dfrobot.com/search-accelerometer.html) and gyro

![SEN0183 - Mode selection](https://core-electronics.com.au/attachments/localcontent/36735_ef69ab6792dde883dce9ba73e475deee.jpg)
**Mode selection**

Serial or I2C mode is easily selected with the state of the mode pin. Note the CMPS12 looks at the mode selection pin at power-up only. ### Specification

- Power: 3.3v-5v 18mA Typ.
- Resolution: 0.1 Degree
- Accuracy: Better than 1%
- Signal levels: 3.3v, 5v tolerant
- I2C mode: up to 400khz
- Serial mode: 9600, 19200, 38400 baud
- Heading, 16 bit: 2 outputs, one calculated by Bosch and one by us
- Heading, 8 bit: 0-255 scaled for simpler requirements
- Pitch: +/- 0-90° or +/- 0-180°
- Roll: +/- 0-90°
- Temperature: current temperature of the BNO055 in °c
- Raw sensor outputs: 3 x 16 bit integers for each of the Magnetometer, accelerometer and gyro

### Documents

- [Full Technical DataSheet](https://core-electronics.com.au/attachments/localcontent/cmps12_284972ee62c.pdf)
- [3d printed tower](https://core-electronics.com.au/attachments/localcontent/cmps-tower_58422687d87.zip)

Examples:
- I2C bus tutor - general I2C guide
- Arduino - I2C interface or a serial interface and displaying data via the serial monitor
- ATMEGA32 - reading the result and displaying on a LCD03/LCD05
- PIC18F4410 - reading the result and displaying on a LCD03/LCD05
- PIC24FJ16GA002 - reading the result and displaying on a LCD03/LCD05
- Picaxe18x - I2C communication example
- Raspberry Pi - using I2C communication

## Images

- [Product image 1](https://core-electronics.com.au/media/catalog/product/s/e/sen0183.jpg)
