Too bad this isn't consistent with the AVR-based Arduino environment, but maybe there's an easy way to get the Due to set pins to LOW instead of HIGH on init?
Reading the SAM3X main datasheet it says the following in section 32.5.1;
Pull-up Resistor Control
Each I/O line is designed with an embedded pull-up resistor. The pull-up resistor can be enabled
or disabled by writing respectively PIO_PUER (Pull-up Enable Register) and PIO_PUDR (Pull-up Disable Resistor).
Writing in these registers results in setting or clearing the corresponding bit in PIO_PUSR (Pull-up Status Register).
Reading a 1 in PIO_PUSR means the pull-up is disabled and reading a 0 means the pull-up is enabled.
Control of the pull-up resistor is possible regardless of the configuration of the I/O line.
After reset, all of the pull-ups are enabled, i.e. PIO_PUSR resets at the value 0x0.
Notice that it mentions all pull-ups are enabled after reset.
I wonder if maybe something has been overlooked in disabling pull-ups on setting pinMode(x, OUTPUT)?
cbeauvois wrote:
On 2 separate Dues, I set an LED + 100k resistor to pin 25, which lit up on initialize
I am surprised you were able to see any light emitting from the LED at all with a 100k? current limiting resistor, you must have exceptionally good eyesight ?