Mapping Pins is Tedious
This is why everything takes so long.
If you read the exciting 5V to 3V3 post above, you will be aware that I'm using a CNC board designed to work with an old Arduino Uno, but with a nice modern ESP32 chippie.
Seriously, the various inputs and outputs on the CNC card get repurposed, so the Abort feature (used to halt a job gone obviously wrong) becomes the signal to tell Anubis to pop up, and optionally eject a ball, hopefully without going obviously wrong...
This leads too the complexity of mapping an ATmega328P feature to a Arduino Uno pin (these don't match the pins on the chip, they are like magic numbers), from there to the schematic for the CNC board (remembering to check that the board actually matches the schematic - electronics from China) . From there I map the CNC board to the pins on an ESPDUINO (an Arduino Uno "compatible" implementation), and from there to the features of the ESP32Wroom chip. This tells me which pins on the ESP32 go to which headers on the CNC card. Sounds a bit of a pain, but it gets better. The microcontroller pins used on the ESPDUINO don't work the same was as the ARDUINO UNO. Some of the IO pins only do input, a voltage reference has been replaced with a reset! The TX and RX pins are not safe to use as garbage comes out of them on reset (they are fine after that) And an extra pin has turned up! After that I just needed to check that the compiler can actually use the pins on the ESP32 in the way I want... And I'm done.
So I then made a table, it's longer than this :-)
I have just enough IO to do the jobs I need to do, and it only took 3 hours to sort out.
Now to make some parts and write some code...