HMC6343 3-axis Compass Hookup Guide
Example Hookup
Soldering
Before you can plug your compass breakout board into a breadboard and connect it to anything, you'll need to solder connectors or wires to the breakout pins. What you solder to the board depends on how you're going to use it.
If you're going to use the breakout board in a breadboard or similar 0.1"-spaced perfboard, we recommend soldering straight male headers into the pins (there are also long headers if you need).
If you're going to mount the breakout into a tight enclosure, you may want to solder wires (stranded or solid-core) directly into the pins.
Simple Hookup
This example will use an Arduino Uno to collect and interpret the sensor data from the HMC6343. Since the sensor uses I2C communication, all we need are two connections, one for a clock (SCL) and one for data (SDA) in addition to two for power (3.3V and GND).
We simply have to supply the accelerometer with power (3.3V and GND), then hookup the I2C connections. The HMC6343 IC has a max rating of 3.6V on any pin so in order to talk to the HMC6343 with the Arduino Uno or any other 5V microcontroller, we will need a bi-directional logic level converter for the I2C lines.
The following tables shows the connections made for using the HMC6343 breakout with an Arduino Uno and logic level converter.
HMC6343 Breakout | Logic Level Converter | Arduino Uno |
---|---|---|
3.3V | LV | 3.3V |
GND | GND | GND |
N/A | HV | 5V |
SDA | <--- LV1 HV1 ---> | SDA(A4) |
SCL | <--- LV2 HV2 ---> | SCL(A5) |
Set up this way, I2C communication will be 3.3V on the breakout board side and 5V on the Arduino Uno side. If this is your first time using a logic level converter, or the above table seems confusing, check out our tutorial on logic levels and the hookup guide for the logic level converter. That should clear up any confusion with your setup before proceeding to the code examples.