Code in C# on Your Unexpected Maker ESP32-S2 & ESP32-S3 Boards!
nanoFramework is a free and Open Source platform that enables the writing of managed code applications for constrained embedded devices. Developers can harness the familiar Microsoft Visual Studio IDE and their C# knowledge to quickly write code without having to worry about the low-level hardware intricacies of a microcontroller.
nanoFramework has supported the FeatherS2 for some time, and has recently added ESP32-S3 support, including the FeatherS3!
You can get started here, and you can also find more information about ESP32-S2 support and ESP32-S3 support.
ADC Pin Usage in nanoFramework
Unlike other ESP32 development platforms, nanoFramework references ADC pins via their ADC channel number rather than IO#. For example, to read battery voltage on FeatherS3, you would use:
AdcController adcController = new AdcController();
AdcChannel adcChannel = adcController.OpenChannel(1);
int v = adcChannel.ReadValue();
The pinout cards have been updated to indicate ADC numbers and channel numbers for VBAT Sense and ambient light sensor IO.