Is it possible to "turn off" voltage output from 3.3V pin on Nano 33 IoT?

I feel like I'm misunderstanding something but my Nano 33 IoT seems to always output 3.3V from the 3.3V pin even when I do:

pinMode(2, OUTPUT);
digitalWrite(2, LOW);
sleep(1000000);

I check the 3.3V pin (pin 2) against the ground pin on the same column (pin 14) with a multimeter, I always read 3.3V even when pin 2 is set to LOW. What am I missing? Thanks.

  • Always show us a good schematic of your proposed circuit.
    Show us good images of your ‘actual’ wiring.
    Give links to components.
  • You probably need to change this to the proper GPIO pin, refer to the silkscreen on the PCB.
1 Like

The 3.3V pin (physical pin 17) is the output from a 3.3V step down voltage converter, not an I/O pin. The converter itself does have an enable pin, but it is permenantly enabled and not software controllable.

I/O pin 2 (physical pin 5) is what you're setting low in the code fragment you showed.

1 Like

Thank you. It's odd because the data sheet says the 3.3V pin is pin number 2: https://docs.arduino.cc/resources/datasheets/ABX00027-datasheet.pdf

Doesn't matter though, since it seems the voltage output is not software controllable. Is it in any way possible to use the Nano 33 IoT to produce a controlled (programmed) High/Low voltage then (low must be 0V)?

Physical pin #s have no relationship with I/O pin#s, and the latter is what pinMode/digitalWrite/digitalRead et al use.

As far as the Arduino docs showing the physical pin #s being rotated 180 degrees, that's always made more sense to me. But it seems every time I look online I see it the other way round. Shrug.

If you're looking for a software controlled 3.3V regulator, I'm sure such a thing exists, though I've never had the need to look for one. (And now, having said that, of course they do - the 3.3V step down converter has an Enable pin - it's just not accessible in this setup.)

1 Like

Any VALID GPIO pin will toggle between 0V and 3.3V when pinmode for that pin is OUTPUT. You get 0V by digitalWrite(pin, LOW) and you get 3.3V by digitalWrite(pin, HIGH) Keep in mind these pins are only good for a small amount of ma. The datasheet will tell you the exact amount, I think it's 40mA

1 Like

I didn't know that! I have just read the voltage between GND and the I/O pin 2 in @van_der_decken 's message and it does indeed cycle between 0-3.3V with delay().

I'll select @van_der_decken 's answer as solution but I wish I could select both! Thanks all

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.