Why Use Analogue for DPad and Digital for A&B

Hi,
can I ask why they choose analog input for the DPAD and digital for the A&B buttons?
Is there any technical reason behind that? As far as I know, analog read is slower then digital one?

All pins are capable of basic digital use, with additional alternate functionality that varies from pin to pin. On some pins, one of alternate functions is analog input, using the chip’s internal analog to digital converter (ADC). On Arduino boards, pins that are analog input capable are labelled starting with a A (A0, A1, A2, …). Even though those pins are capable of analog input, the Arduboy uses them in their basic digital mode, just like the A and B buttons.

We chose A0 - A3 for the D-pad because they are all on the same 8 bit port (Port F), and also to leave pins with other alternate functions available for where they are more useful, such as pulse width modulation (PWM) for the RGB LED and speaker.

If you’d like more information on alternate pin functions, see Section 10.3 of the ATmega32U4 Datasheet.

2 Likes

This answers my question. Thank you!