I'm brand new to Arduinos and just recently took delivery of two nano 33 ioTs. I had wanted to just start with a simple program to turn on an exterior LED. This did not work, so instead I chose to send a HIGH to the digital output pins and measure the voltage.
When executing this program the voltage on each of the output pins is still 0V. I cannot seem to get a voltage out even with this simple program. I included a write statement to verify that things were uploaded and compiled properly.
I also tested with the Blink program that blinks an onboard LED and that seems to work correctly.
Some of these pin numbers are quite strange. How are you identifying your pin numbers? You need to follow the pin numbers as marked on the silkscreen on the bottom of your Nano 33 IoT. These are different than the physical pin numbers as you would count around the edge of the board.
You are using the wrong pin numbers. Do not use the pin number of the edge connector, use the port numbers.
Pin 1 = digital pin D13, use 13 in your sketch
Pin 20 = digital pin D2, use 2
Pin 22 = digital pin D4, use 4
Pin 25 = digital pin D7, use 7
Pin 26 = digital pin D8, use 8
In general, the digital pins are labeled Dx, and use x as the pin number, analog pins are labeled Ax, and use Ax or x as the pin number (better to use Ax, but an analogRead instruction will assume that a number refers to an analog pin, whereas a digitalRead /digitalWrite of the same pin must specify the Ax notation).
There is a pinout table on the "Tech Specs" page, but it is potentially confusing. The "Pin" column is referring to the physical pin number on the board (count starts from the top left corner of the board, viewed from the side with the USB connector, with the connector pointing up). However, you can't use physical pin numbers with Arduino functions. You need to use Arduino pin numbers, which don't have any specific relation to the physical pin numbers (because some of the pins on the board are not IO pins). The Arduino pin numbers are identified in the "Funcion" column of that table.
Yes, I was using the number in the table at the bottom of the page. I see now which numbering I should use. I had assumed the "Pin" column was the # I should be using and the description was a label.
Appreciate all the help. I was hesitant to post but couldn't figure it out.
You're welcome. We're always happy to help here so feel free to post any time you have a question.
I can see how that table could be confusing, since usually when we use the term "pin" associated with a number, we're referring to the Arduino pin number. Since it's more rare that the physical pin number is useful, we'll almost always specifically say "physical pin" when we're talking about that. I think it could be even more confusing that the Arduino pin numbers are listed in the "Funcion" column using the Dn notation, which is not usable in Arduino code (you just have to use the number without the D). The obvious solution would be to change the heading of the "Pin" column to "Physical Pin", but that would make the column quite a bit wider. I think actually the best solution is to get rid of the use of physical pin numbers altogether in the chart and instead identify the pins as they are marked on the silkscreen:
Pin | Funcion | Type | Description
D13 | Pin 13 | Digital | GPIO
3.3V | 3.3 V | Power | Internally generated power output to external devices
The table would still be ordered according to the physical pin numbers so that would be implicit, but the lack of those numbers cluttering the table eliminates the possibility that people might think they can be used in Arduino code.