Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review Power Input/Power Output pin modes for 3.3V, 5V and VIN pins #65

Closed
Alarm-Siren opened this issue Dec 13, 2022 · 15 comments
Closed
Assignees
Labels
bug Something isn't working compatibility A change is needed for compatibility with something else
Milestone

Comments

@Alarm-Siren
Copy link
Owner

Review the power input/output pins, to ensure that they have the correct Pin Type assigned.

In particular, some 3.3V-based modules actually do have some 5V-powered components. On these boards, it is important that 3.3V is marked as an 'output', as it would be inappropriate to feed 3.3V into the module through this pin - as this will conflict with the module's on-board 5V-to-3.3V regulator.

@Alarm-Siren Alarm-Siren added the compatibility A change is needed for compatibility with something else label Dec 13, 2022
@Alarm-Siren Alarm-Siren added this to the 2.3.0 milestone Dec 13, 2022
@Alarm-Siren Alarm-Siren self-assigned this Dec 13, 2022
@Alarm-Siren Alarm-Siren added the bug Something isn't working label Dec 13, 2022
@Alarm-Siren Alarm-Siren modified the milestones: 2.3.0, 3.0.0 Dec 19, 2022
@Alarm-Siren
Copy link
Owner Author

Alarm-Siren commented Feb 24, 2023

Arduino_101_Shield symbol

Change 3.3V pin to Power Output; the circuitry needs 5V for voltage translation buffers U15, U14 and U11. Given this fact, the 5V rail must be powered, which means the on-board 3.3V regulator would conflict with an external source of 3.3V power.

@Alarm-Siren
Copy link
Owner Author

Arduino_Due_Shield symbol

Change 3.3V pin to Power Output; the circuitry needs 5V for at least the USB-to-RS232 adapter IC6. Given this fact, the 5V rail must be powered, which means the on-board 3.3V regulator would conflict with an external source of 3.3V power.

@Alarm-Siren
Copy link
Owner Author

Arduino_Leonardo_Shield

Change 3.3V pin to Power Output; the circuitry needs 5V for at least the U1 and U2 (the main microcontrollers). Given this fact, the 5V rail must be powered, which means the on-board 3.3V regulator would conflict with an external source of 3.3V power.

@Alarm-Siren
Copy link
Owner Author

Arduino_M0_Shield

The module does not use 5V internally for anything, therefore the module could be powered directly from the 3.3V pin. Leave all pins as Power Input.

Arduino_M0_Pro_Shield

Cannot find a schematic to check: on the assumption that it has similar requirements to the M0 leave all power pins as Power Input.

@Alarm-Siren
Copy link
Owner Author

Arduino_Mega2560_Shield

Change 3.3V pin to Power Output. The microcontroller, IC3, is powered on 5V. Therefore 5V must be powered, which means on-board 3.3V regulator would conflict with an external source of 3.3V power.

@Alarm-Siren
Copy link
Owner Author

Arduino_Micro_Socket

Change 3.3V pin to Power Output. The microcontroller, U1, is powered on 5V. Therefore 5V must be powered, which means on-board 3.3V regulator would conflict with an external source of 3.3V power.

@Alarm-Siren
Copy link
Owner Author

Arduino_Mini_x_Socket_y (all variants)

Leave all power pins as Power Input. There is no 3.3V rail, and the module can be powered using either 5V or VIN.

@Alarm-Siren
Copy link
Owner Author

Alarm-Siren commented Feb 25, 2023

Arduino_MRK_Zero_Socket

The module only uses the 3.3V rail internally, therefore it could be powered directly on the 3.3V pin. However if a Li-ion battery is connected to the module there is potential for conflict: Li-ion batteries, if improperly charged, can explode. Therefore out of an abundance of caution I will set the 3.3V pin to Power Output, even it though it could be used as Power Input safely in no battery is connected to J2.

Arduino_MKR_WiFi_1010_Socket

This module has two different 3.3V rails powered from the 5V rail, only one of which is exposed to the external connections. Therefore the 5V rail must be present, so the 3.3V pin is always a Power Output.

@Alarm-Siren
Copy link
Owner Author

Arduino_MKR_WAN_1310_Socket

The module only uses the 3.3V rail internally, therefore it could be powered directly on the 3.3V pin. However if a Li-ion battery is connected to the module there is potential for conflict: Li-ion batteries, if improperly charged, can explode. Therefore out of an abundance of caution I will set the 3.3V pin to Power Output, even it though it could be used as Power Input safely in no battery is connected to J7.

@Alarm-Siren
Copy link
Owner Author

Arduino_MKR_WAN_1300_Socket

The module only uses the 3.3V rail internally, therefore it could be powered directly on the 3.3V pin - and unusually for the MKR family, the battery connection actually goes directly into the 3.3V rail! However if a Li-ion battery is connected to the module there is potential for conflict: Li-ion batteries, if improperly charged, can explode. Therefore out of an abundance of caution I will set the 3.3V pin to Power Output, even it though it could be used as Power Input safely in no battery is connected to X1.

@Alarm-Siren
Copy link
Owner Author

Arduino_MKR_Vidor_4000_Socket

This module has internal 2.5V and 1.2V rails which can only be powered from 5V or VIN (see part U4), therefore 3.3V must necessarily always be a Power Output.

@Alarm-Siren
Copy link
Owner Author

Alarm-Siren commented Feb 25, 2023

Arduino_MKR_NB_1500_Socket

This module has an internal 1.8V rail, though I cannot figure out where it is powered from. It also has the same battery arrangement as e.g. the Arduino_MKR_WAN_1310_Socket. Therefore out of an abundance of caution I will set the 3.3V pin to Power Output.

Arduino_MKR_GSM_1400_Socket

See Arduino_MKR_NB_1500_Socket above.

Arduino_MKR_FOX_1200_Socket

See Arduino_MKR_WAN_1300_Socket above.

Arduino_MKR_1000_WiFi_Socket

See Arduino_MRK_Zero_Socket above.

Alarm-Siren added a commit that referenced this issue Feb 25, 2023
Reviewed up to the end of the MKR series.
@Alarm-Siren
Copy link
Owner Author

Arduino_Nano_Every

Change 3.3V pin to Power Output. The microcontroller U1 is powered on 5V, Therefore 5V must be powered, which means on-board 3.3V regulator would conflict with an external source of 3.3V power.

Arduino_Nano_33_IoT

5V pins is disconnected by default, so set pin type to Unconnected. This module can be safely powered exclusively from the 3.3V pin, so leave both VIN or 3.3V as Power Input.

Arduino_Nano_33_BLE

5V pins is disconnected by default, so set pin type to Unconnected. This module can be safely powered exclusively from the 3.3V pin, so leave both VIN or 3.3V as Power Input.

Arduino_Nano_33_BLE_Sense

Datasheet and CAD data available on the Arduino website is incorrect; it is exactly the same as the Nano 33 BLE - which is impossible as the Sense has some extra components. Documentation does specify that 5V pin is disconnected by default, so set pin type to Unconnected. As to the VIN and 3.3V pins, going to assume they are the same as the regular BLE and leave them as Power Input as per BLE.

@Alarm-Siren
Copy link
Owner Author

Arduino_Nano_RP2040_Connect

5V pins is disconnected by default, so set pin type to Unconnected. This module can be safely powered exclusively from the 3.3V pin, so leave both VIN and 3.3V as Power Input. Also noted that the AREF pin should be marked as Unconnected for this module.

Arduino_Nano

Change 3.3V pin to Power Output. The microcontroller, IC3, is powered on 5V. Therefore 5V must be powered, which means on-board 3.3V regulator would conflict with an external source of 3.3V power.

Arudino_Pro_Mini

This module can accept regulated voltage (3.3V or 5V, depending on model) on the Vcc pin, or unregulated voltage up to 12V on RAW. Therefore all power pins should remain Power Input.

Arduino_Uno_R3

Change 3.3V pin to Power Output. The microcontroller, U3, is powered on 5V. Therefore 5V must be powered, which means on-board 3.3V regulator would conflict with an external source of 3.3V power.

Arduino_Uno_R3_SMD

See Arduino_Uno_R3.

@Alarm-Siren
Copy link
Owner Author

Arduino_Uno_WiFi_R2

See Arduino_Uno_R3.

Arduino_Zero

The module does not use 5V internally for anything, therefore the module could be powered directly from the 3.3V pin. Leave all pins as Power Input.

Pro_Mini_Clone

See Arduino_Pro_Mini.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compatibility A change is needed for compatibility with something else
Projects
None yet
Development

No branches or pull requests

1 participant