Close

[B][R] PS5 Hall Joysticks and Espressif ADCs

A project log for Tetizmol [gd0153]

A Tetwice-layout keyboard designed to be abysmal.

kelvinakelvinA 6 hours ago0 Comments

For better or worse, I've been somewhat captivated into looking further into this, mainly because the Pro Micro used in the original projects are 5V, the PS5 joysticks are allegedly 5V, yet the Espressif chips are 3.3V. Additionally, while those ESP32 chips have the 16 channels I need, they don't have full range coverage:

ADC conversion results after hardware calibration

ESP32-S3: Seems it's nonlinear after about 2.5V and maxes out at 3.05V.

Thus, I went on an expedition to find out more info on the joysticks. 

From this video, I found a list which I believe is the voltage of the controller:

The notable one is the XBox One. While the various hall effect sticks have different colours depending on the polarity of the left/right pins, I couldn't find any reason that the chips used in them were any different, implying that these sticks might work at 2.5V. I also saw a reference to CC6501, and its family of chips seems to output between 10% and 90% of VCC.

Then, looking around, it seems that it's cheaper and more configurable to use an ESP32-S2 for its DAC than it is to buy a separate voltage regulator. A slight drawback is that some purple pcb with only 27 GPIO pins took over the entire local ESP32-S2 market, meaning I'll have to AliExpress in the red board below:

This board seems to have everything I need and almost nothing I don't.

The ADC in the S2 still seems kind of questionable:

ADC reference voltage comparison

The ADC reference voltage can range from 1.0V to 1.2V amongst different ESP32-S2's.

This is one of the reasons why having the DAC is advantageous, since the voltage sent to the joysticks can be tuned to get the best range for the ADCs.

To get over the £8-spend-for-free-delivery, I found a few other components (see below). The BOM is now down from £55 to £43.

(not including the double sided tape or filament)

Discussions