# TDK CH101 integration with Arduino - Interfacing

**URL:** <https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854>\
**Category:** Sensors\
**Created:** [February 3, 2022, 12:52pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854 "2022-02-03T12:52:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![djratliff](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@djratliff](https://forum.arduino.cc/u/djratliff)\
**Post date:** [February 3, 2022, 12:52pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/1 "2022-02-03T12:52:51Z")

</div>

Hello Everyone,

I am just trying to get the Arduino Uno to communicate to the TDK CH101/ESP32 board. None of the I2C sketches seem to work. I am new to working with an Arduino and I have a requirement to use this ultrasonic sensor and an Arduino.

My specific question, for now: What pins (other than PWR, GND, SCL, SDA) is the CH101 supposed to connect to on the Arduino? It has a PROG, INT, and RESET\_N. I have tried to logically use pins I thought and pulled them HIGH and LOW but nothing seems to get the I2C scanner sketch to work.

Any help is greatly appreciated.

Thank you,

Dave

Exact Board being used: [Qwiic Chirp 101 Ultrasonic Rangefinder - SPX-17046 - SparkFun Electronics](https://www.sparkfun.com/products/17046)

---

<div class="post-metadata">

**Author:** ![Idahowalker](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/idahowalker/32/238858_2.png) [@Idahowalker](https://forum.arduino.cc/u/Idahowalker)\
**Post date:** [February 3, 2022, 1:37pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/2 "2022-02-03T13:37:05Z")

</div>

OK, so from what you wrote you got an Uno and a ESP32 and you want the Uno to do I2C communications between the 2 devices. right?

First, you are using level shifters between the 5V Uno and the 3.3V ESP32, right? If not the ESP32 may be damaged.

Post your schematic, an image or 2 of your project and code in code tags.

---

<div class="post-metadata">

**Author:** ![djratliff](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@djratliff](https://forum.arduino.cc/u/djratliff)\
**Post date:** [February 3, 2022, 5:35pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/3 "2022-02-03T17:35:28Z")

</div>

Here is the image, I don't have a schematic exactly. There might be one available. I have to check.

 ![20220203_111745](https://europe1.discourse-cdn.com/arduino/original/4X/3/3/c/33c8afd8ce92686d161083b60dcb5d873d0d1c2c.jpeg)

---

<div class="post-metadata">

**Author:** ![Idahowalker](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/idahowalker/32/238858_2.png) [@Idahowalker](https://forum.arduino.cc/u/Idahowalker)\
**Post date:** [February 3, 2022, 5:53pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/4 "2022-02-03T17:53:38Z")

</div>

Where is the ESP32?

> [@Idahowalker](#):
>
> OK, so from what you wrote you got an Uno and a ESP32 and you want the Uno to do I2C communications between the 2 devices. right?

> [@Idahowalker](#):
>
> First, you are using level shifters between the 5V Uno and the 3.3V ESP32, right?

---

<div class="post-metadata">

**Author:** ![djratliff](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@djratliff](https://forum.arduino.cc/u/djratliff)\
**Post date:** [February 3, 2022, 9:33pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/5 "2022-02-03T21:33:26Z")

</div>

> [@Idahowalker](#):
>
> ESP32

Well, I guess I thought that the board with the CH-101 was the ESP32 but clearly it isn't. So I think I might of answered my own question. The CH-101 needs some type of controller for it and then the Arduino will work with it? Am I correct with that assessment or can this still be done?

Thank you for your patience on this because this is really new to me. It is a project I am trying to pick up and use for a very specific reason.

---

<div class="post-metadata">

**Author:** ![Idahowalker](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/idahowalker/32/238858_2.png) [@Idahowalker](https://forum.arduino.cc/u/Idahowalker)\
**Post date:** [February 3, 2022, 10:06pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/6 "2022-02-03T22:06:43Z")

</div>

Some important info about the module:

```cpp
The CH101 from TDK InvenSense is a ToF (time-of-flight) ultrasonic rangefinder with a range of 4 centimeters to 1.2 meters. What sets the CH101 apart from other ultrasonic sensors that we've seen in the past is that it's capable of ranging multiple objects within its field-of-view simultaneously. This is made possible by an integrated system-on-chip that crunches the numbers and then provides digital range readings via I²C.

Our Qwiic breakout provides voltage regulation and level shifting for the MOD-CH101 Evaluation Module. This module consists of the CH101 sensor attached to an omnidirectional acoustic housing assembly and is attached with a short flex cable for easy mounting. There is not yet an Arduino compatible library for this sensor, however there is an API and extensive documentation available from TDK.

```

[Qwiic Chirp 101 Ultrasonic Rangefinder - SPX-17046 - SparkFun Electronics](https://www.sparkfun.com/products/17046)

Note the words "There is not yet an Arduino compatible library for this sensor, however there is an API and extensive documentation available from TDK.  
", which means you are going to have to develop your own library.

---

<div class="post-metadata">

**Author:** ![djratliff](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@djratliff](https://forum.arduino.cc/u/djratliff)\
**Post date:** [February 3, 2022, 10:43pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/7 "2022-02-03T22:43:17Z")

</div>

Yes. i saw that and my initial goal was just getting it to acknowledge it was there. Are there good examples on how to create an Arduino library for something simple? I was able to get the test example code compiled but I have no idea on what to do now. I am able to get the i2c communication working, it found the device id. So that is step 1 I guess to stay positive about this.

It was the original project board I was given had some issue with it. I used one of my personal ones and I am talking to the device but I don't have any functionality yet. So the lights are blinking and I have an i2cdetect sketch working. Baby steps I guess.

---

<div class="post-metadata">

**Author:** ![ravisanapati](https://avatars.discourse-cdn.com/v4/letter/r/aca169/32.png) [@ravisanapati](https://forum.arduino.cc/u/ravisanapati)\
**Post date:** [May 16, 2022, 1:18pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/8 "2022-05-16T13:18:59Z")

</div>

hi, anyone figured out how to get the readings from the sensor successfully with arduino or esp32?

---

<div class="post-metadata">

**Author:** ![n86854ro](https://avatars.discourse-cdn.com/v4/letter/n/3ec8ea/32.png) [@n86854ro](https://forum.arduino.cc/u/n86854ro)\
**Post date:** [October 4, 2022, 8:04am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/9 "2022-10-04T08:04:53Z")

</div>

Hello  
I want to integrate CH101 with Arduino pro . I realize that the libraries needs to be ported . Can I ask has chirp, TDK or someone done it yet or is there another product with similar configuration that is compatible with Arduino ?

---

<div class="post-metadata">

**Author:** ![djratliff](https://avatars.discourse-cdn.com/v4/letter/d/e5b9ba/32.png) [@djratliff](https://forum.arduino.cc/u/djratliff)\
**Post date:** [October 4, 2022, 11:54am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/10 "2022-10-04T11:54:53Z")

</div>

Hello, I am going to pick this project back up shortly. If I figure out anything I will post it here. A really interesting product with little or no information for use. It is going to require a lot of reverse engineering from their reference board and examples. I was very close earlier this year but summer is really tough to get external things done.

Dave

---

<div class="post-metadata">

**Author:** ![n86854ro](https://avatars.discourse-cdn.com/v4/letter/n/3ec8ea/32.png) [@n86854ro](https://forum.arduino.cc/u/n86854ro)\
**Post date:** [October 6, 2022, 7:25pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/11 "2022-10-06T19:25:20Z")

</div>

I want to use this sensor for my master thesis so if I could help or you can provide me with some files, I would appreciate it. I can send you my email address to communicate in this regard

---

<div class="post-metadata">

**Author:** ![ravisanapati](https://avatars.discourse-cdn.com/v4/letter/r/aca169/32.png) [@ravisanapati](https://forum.arduino.cc/u/ravisanapati)\
**Post date:** [October 20, 2022, 10:03am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/12 "2022-10-20T10:03:17Z")

</div>

i am also working on same sensor, can you send your email id

---

<div class="post-metadata">

**Author:** ![n86854ro](https://avatars.discourse-cdn.com/v4/letter/n/3ec8ea/32.png) [@n86854ro](https://forum.arduino.cc/u/n86854ro)\
**Post date:** [October 20, 2022, 2:49pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/13 "2022-10-20T14:49:17Z")

</div>

this is my email in case you had the information I can use:  
nima.roshandel@ulb.be

---

<div class="post-metadata">

**Author:** ![alexisdutheil](https://avatars.discourse-cdn.com/v4/letter/a/58f4c7/32.png) [@alexisdutheil](https://forum.arduino.cc/u/alexisdutheil)\
**Post date:** [November 16, 2022, 2:55pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/14 "2022-11-16T14:55:06Z")

</div>

Hello, I need to perform tests with the CH101 and an arduino uno, unfortunately I don't think I have the skills to make an arduino library to communicate in I2C with the ch101.

If you managed to make the CH101 work with an arduino or rasbperry pi or others, contact me here or by email: [alexis\_dutheil@hotmail.fr](mailto:alexis_dutheil@hotmail.fr)

Thank you in advance for all responses

---

<div class="post-metadata">

**Author:** ![craigstephan](https://avatars.discourse-cdn.com/v4/letter/c/57b2e6/32.png) [@craigstephan](https://forum.arduino.cc/u/craigstephan)\
**Post date:** [December 23, 2022, 6:05pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/16 "2022-12-23T18:05:17Z")

</div>

I am looking for an CH201 Arduino library for the ESP32 MCU. Has anyone successfully developed this the library?

---

<div class="post-metadata">

**Author:** ![craigstephan](https://avatars.discourse-cdn.com/v4/letter/c/57b2e6/32.png) [@craigstephan](https://forum.arduino.cc/u/craigstephan)\
**Post date:** [May 19, 2023, 12:12am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/17 "2023-05-19T00:12:29Z")

</div>

I am getting back using the CH201 with an ESP32S3 using Arduino INO.  
Has anyone created a library yet?

I found a github repo of the C design for the SAM MCU is at: [GitHub - Rogerszzz/DK-CH201](https://github.com/Rogerszzz/DK-CH201)

From what I can tell, the task is limited to updating the following BSP files in the project:  
DK-CH201-main\source\board\HAL\src\chbsp\_chirp\_samg55.c  
DK-CH201-main\source\board\HAL\src\bsp\_misc\_samg55.c  
DK-CH201-main\source\board\HAL\src\chbsp\_chirp\_samg55.c  
DK-CH201-main\source\board\HAL\src\time\_hal.c

Does anyone have experience with converting an AtmelStudio project for SAM into an Arduino INO library?  
Any help is appreciated.

---

<div class="post-metadata">

**Author:** ![ravisanapati](https://avatars.discourse-cdn.com/v4/letter/r/aca169/32.png) [@ravisanapati](https://forum.arduino.cc/u/ravisanapati)\
**Post date:** [June 26, 2023, 6:38am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/18 "2023-06-26T06:38:29Z")

</div>

Hi craigstephan, I am also working on interfacing CH201 with ESP32S3, i am able read the device id writing firmware in to sensor and getting some readings from sensor but where not proper, are you able interface the sensor and getting the readings.... if so could you provide...any informaton regarding this.. my mail Id is [s.ravi452@gmail.com](mailto:s.ravi452@gmail.com)

---

<div class="post-metadata">

**Author:** ![sascha1994](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/sascha1994/32/1013044_2.png) [@sascha1994](https://forum.arduino.cc/u/sascha1994)\
**Post date:** [December 7, 2023, 2:18pm UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/19 "2023-12-07T14:18:37Z")

</div>

Hello Arduino-buddys,

does anyone have already a solution? I need help with this topic for my project.  
Please help me out with this and send me an email: [sascha.fast@hswt.de](mailto:sascha.fast@hswt.de)

Thanky you very much and Best Regards  
Sascha

---

<div class="post-metadata">

**Author:** ![sriccardi](https://avatars.discourse-cdn.com/v4/letter/s/9fc348/32.png) [@sriccardi](https://forum.arduino.cc/u/sriccardi)\
**Post date:** [April 8, 2024, 7:27am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/20 "2024-04-08T07:27:59Z")

</div>

Hi,  
TDK has published official Arduino driver for:

- CHX01
- ICU-X0201  
Regards,  
Seb

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [October 5, 2024, 7:28am UTC](https://forum.arduino.cc/t/tdk-ch101-integration-with-arduino-interfacing/954854/21 "2024-10-05T07:28:57Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
