sparkfunX / Qwiic_Chirp_101_Ultrasonic_Rangefinder

Qwiic breakout for the MOD_CH101 ultrasonic time-of-flight module
Other
8 stars 2 forks source link

HW issue with INT level shifter #4

Open rprzybyla-invn opened 2 years ago

rprzybyla-invn commented 2 years ago

My name is Richard Przybyla and I’m the Principal (Team lead) for System Engineering team for TDK-Invensense Ultrasonic Time Of Flight sensors. I am also a co-founder of Chirp Microsystems which was acquired by TDK in 2018.

I am writing you about the two PCBs you have designed for CH101. I wanted to thank you for designing a breakout board for CH101. This can be a very valuable tool. However, these boards are not correctly designed.

The issue is related to the INT signal voltage shifter that doesn’t work correctly. As indicated in the CH101 datasheet the INT operates as a bidirectional I/O with a high-side common drain output (CH101 datasheet page 14). It implies that the configuration used in “Qwiic Chirp 101” boards doesn’t work.

We have received complains about CH101 device from some customers. After our investigation, we discovered that the issues are related to your Qwiic Chirp 101 Ultrasonic Rangefinder - SPX-17046 - SparkFun Electronics board. These customers rely on your board to implement a level shifter, but the board doesn’t work.

I have few requests:

  1. Please remove the current version of the Qwiic boards from your website and github and stop distributing them to Mouser, Digikey, etc.

  2. If you plan to redesign the board, please refer to the document in attachment. The document is an portion of an Application Note that will be soon published on TDK-Invensense web site. In the document is described as implement correctly the INT signal level shifter.

  3. Qwiic Chirp 101 Ultrasonic Rangefinder SMT - SPX-17271 - SparkFun Electronics board - please note that a plastic horn has to be mounted on top of the chip. I would like to ask you to add a note in the document list that clearly indicate this point indicating the application note AN-000158-CH101-Mechanical-Integration-Guide-v1.1.pdf (netdna-ssl.com) to find additional information.

My wish is that Sparkfun will redesign the boards and release the fixed version soon. I am available to assist with this if needed.

Looking forward to receive good news from your side. Thanks, Richie

AN-000259 CH101_Design_Guide v1.2.pdf

nseidle commented 2 years ago

Hi Richie - Thanks for opening up an issue and I appreciate the willingness to help. My apologies for the problematic INT interface. Both boards will be discontinued once stock is exhausted.

I've added "See the Mechanical Integration Guide for more information." to the CH101 description and docs tab.

It's rare that we hear directly from sensor manufacturers. The CH101 is a really interesting technology. We have heaps of feedback and recommendations to improve the user experience. If you have technologies or sensors that you need help with in the future, please let us know.

I'm going to leave this issue open so that other viewers of the repo can easily find it.

rprzybyla-invn commented 2 years ago

Hi Nathan,

Thanks a lot for your reply.

Yes, we are always grateful for feedback. I will DM you my contact info.

We have also recently announced a new generation of our ultrasonic transceivers: https://invensense.tdk.com/smartsonic/. These ones have built in level shifters for 3.3V I/O. Hope you can design a breakout board for those when they are ready for distribution. And should you decide to take on a redesign of the breakout for CH101/CH201, please let me know if we can help or review your design.

samograsic commented 1 year ago

Hi Richard. I am trying to get the data from the EV_MOD_CH101-01-02 development sensor. After reading I2C address 0x29 I am getting the 0xFFFF value. What I am wondering is if the sensor comes with any default firmware loaded or do I need to purchase the development board and upload firmware first?

rprzybyla-invn commented 1 year ago

Hi Samo, No, the CH101 does not contain any firmware (or any nonvolatile memory to store it on). Our driver loads the FW during initialization every time you power up the sensor. Our driver example is available to run on our Smartsonic DK board, but you can port it to your own board by implementing your own board support package.

To port to another platform, you need to implement the low level functions defined in \SmartSonic_HelloChirp_v1.31.0\source\drivers\chirpmicro\inc\chirp_bsp.h, following the extensive guidelines and documentation provided in this file. The particular implementation that is used for Smartsonic is available here: \SmartSonic_HelloChirp_v1.31.0\source\board\HAL\src\chbsp_chirp_samg55.c

And the example itself is available on the website (on the CH101 webpage https://invensense.tdk.com/products/ch101/): https://invensense.tdk.com/developers/wp-content/uploads/sites/2/2021/08/SmartSonic_HelloChirp_Example_v1_31_0.zip

sriccardi-invn commented 4 months ago

Hi, TDK published official Arduino Driver for Chirp ultrasound Sensor. This is available natively in Arduino IDE in library manager. Regards, Seb