# Communicating with HMC6343

**URL:** <https://community.sparkfun.com/t/communicating-with-hmc6343/41223>\
**Category:** Environmental\
**Created:** [January 4, 2021, 6:28pm UTC](https://community.sparkfun.com/t/communicating-with-hmc6343/41223 "2021-01-04T18:28:54Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BobRowland](https://avatars.discourse-cdn.com/v4/letter/b/71c47a/32.png) [@BobRowland](https://community.sparkfun.com/u/BobRowland)\
**Post date:** [January 4, 2021, 6:28pm UTC](https://community.sparkfun.com/t/communicating-with-hmc6343/41223/1 "2021-01-04T18:28:54Z")

</div>

Hello,

I am trying to communicate with the HMC6343 on your breakout board. I am using an STM32F407 processor and my code is in C, not Arduino. Most of my I2C code is code I use to communicate with an IMU and didn’t have any problem communicating with the IMU. At this time I am just writing the HMC6343 address byte to the HMC6343 and looking for a returned ACK. The ACK is always 1, a NACK. I have the write (SDA & SCK) with my logic analyzer and it looks correct. 0X32 is in bit 7 – 1 and bit 0 is zero indicating a write. Bit 9, ACK bit, is always 1. I attached my code and the logic analyzer output.

Any help would be greatly appreciated.

Bob

[Sending HCM6343 Address = 0X32.pdf](https://community.sparkfun.com/uploads/short-url/lDMas30D9nwB1Yr95GhV99z5GsS.pdf) (12.3 KB)

[I2C Code.txt](https://community.sparkfun.com/uploads/short-url/r7bcMZwniJZeQPpQMB6UBWfrz3j.txt) (3.37 KB)
