I need help deciding on which sensor to use for my current home project. Basically I'm trying to replicate the Numio Control but at much cheaper cost. If it is successful I will publish the result online open source. But as of right now I am stumped on the rotating part. One of the main problems is, that it will be portable, meaning the sensor should be somewhat resistant against shock impacts. There also is not a lot of space, so the sensor needs to be small (a few mm at most). Also the processor will be a ESP32 with a 600mAh battery, so no crazy calculations are possible. Ideal would also be some sort of interrupt, so my ESP32 can wake up on wheel rotation. Also important to know: The enclosure and all inner workings will be 3D-printed... so nothing crazy mechanical either is possible.
Moving on to the progress I have made... I began looking on the video senic (the manufacturer of the numio control) provides very carefully, but couldn't find anything worthwhile. There aren't any teardowns on it either. So naturally I took a look at other products using something similar, like the Google Nest 2nd Gen. Ifixit took it apart and found the "magic" behind the wheel. It is the ADBM-A350 by Avago now Broadcom. The chip seems perfect for my application. From my understanding it is a low res image sensor taking many pictures per second to measure movement. Sadly it isn't getting produced anymore and I don't want to use a depricated chip in my new design.
The chips I'm taking a look into:
- Closest to a successor comes the APDS-9500 by Broadcom which "provides an imaging-based gesture recognition function". But all I could find is one library on github with this sensor.
- A very similar (and cheaper chip) is the APDS-9960 and comes with a library by SparkFun. I would prefer this chip, but I still don't know if it will even do the job. Do I need to print some sort of pattern on the inside of the ring for it to work? Apparently the Google Nest does, but I couldn't find any pictures. My main problem with those chips is the complexity that come with it. I'm not really experienced in that kind of thing so a good library is a must.
- I guess I would prefer something simpler and cheaper. I did have a look into optical encoders and quadrature encoders, but I couldn't find one that suited my application. Also I would need to print a delicate ring inside the rotating part which is something I am trying to avoid.
I'm open to any suggestions. Is the image sensor the way to go? Will the libary from SparkFun be enough? Or is the complexity too much to take on and a optical sensor is better? Or should I go for something else entirely like a hall-effect sensor?