Arduino Portenta Machine Control Pinout: 24V I/O, Analog, CAN, RS485, Encoders and Temperature Inputs

Arduino Portenta Machine Control pinout guide: 24 V digital inputs/outputs, programmable I/O, 0-10 V and 4-20 mA analogue channels, PT100 and thermocouple inputs, ABZ encoders, CAN, RS-232/422/485, Ethernet, I2C, USB and Portenta H7 mappings.

The Arduino Portenta Machine Control is much more than a Portenta H7 fitted into an industrial enclosure.

The board combines a:

with a large industrial I/O carrier containing:

  • 24 V digital input conditioning;
  • 24 V protected high-side outputs;
  • software-configurable analogue inputs;
  • 0-10 V analogue outputs;
  • thermocouple and PT100 front ends;
  • ABZ encoder inputs;
  • CAN transceiver;
  • RS-232/RS-422/RS-485 transceiver;
  • Ethernet physical interface;
  • USB and Grove I2C;
  • Wi-Fi and Bluetooth through Portenta H7.

This makes its pinout very different from a normal Arduino development board.

Quick I/O Summary

Interface Portenta Machine Control
Power input 24 V DC ±20%
Dedicated digital inputs 8 × 0-24 V
Dedicated digital outputs 8 × 24 V high-side outputs, up to 0.5 A per channel at connector specification
Programmable digital I/O 12 × 24 V channels configurable as input/output
Analogue inputs 3 channels: 0-10 V, 4-20 mA or NTC
Analogue outputs 4 × 0-10 V, up to 20 mA each
Temperature channels 3 × PT100 / J/K thermocouple channels
Encoders 2 × ABZ encoder channels
CAN Onboard high-speed CAN transceiver
Serial fieldbus Software-selectable RS-232 / RS-422 / RS-485
Ethernet RJ45 with onboard transformer interface
I2C Grove connector, 3.3 V logic
USB USB-A + Micro-USB
Wireless Wi-Fi / BLE via Portenta H7, external SMA antenna
Operating temperature -40 °C to +85 °C

Power Supply Connector

The main power terminal provides:

The recommended operating supply is:

which corresponds approximately to:

around the nominal 24 V industrial rail.

The board also includes reverse-polarity protection.

Do Not Confuse the Separate 24 V Domains

This is one of the most important wiring details.

The:

connector has its own:

terminal.

The:

connector also has its own:

terminal.

Arduino explicitly notes that these are not internally tied to the board’s main 24 V supply input.

You may feed them from the same external 24 V supply, but the wiring must be made externally.

Ground Is Common

The official pinout states:

This is important because the industrial I/O system is not organised as a set of independently galvanically isolated channels.

Dedicated Digital Inputs

The:

connector provides:

Each channel accepts:

signals.

How the 24 V Inputs Reach the STM32

Arduino documents a resistor-divider network on each channel:

which scales:

for the internal logic circuitry.

This means you should use the industrial terminal inputs rather than wiring 24 V directly to Portenta H7 GPIO.

Dedicated Digital Outputs

The:

connector provides:

These are:

High-Side Output Meaning

When an output is active, the Machine Control supplies the positive side of the 24 V load.

A typical load is wired:

This is different from an open-collector low-side output that switches the ground side.

Output Current

Arduino specifies the external digital outputs at up to approximately:

for normal connector use.

The internal TPS4H160-Q1 high-side switch has current limiting and the datasheet explains that the semiconductor current-limit threshold itself has tolerance above the nominal value.

Do not design a load around that fault threshold.

Use the published board/output rating.

Inductive Load Protection

The high-side output circuitry includes:

  • current limiting;
  • short-circuit protection;
  • inductive kick-back protection.

This makes the outputs suitable for industrial loads such as:

  • relay coils;
  • small contactors;
  • solenoid valves;
  • indicator lamps;
  • 24 V actuators within the channel rating.

There Are No Onboard Relay Contacts

This distinction matters.

Portenta Machine Control provides:

not isolated electromechanical:

If the load requires mains isolation or larger switching capacity, use the 24 V output to drive an appropriately rated external relay or contactor.

12 Programmable Digital I/O Channels

The:

terminal provides:

Each channel can be used as:

under software control.

Programmable Output Protection

The 12 programmable channels use protected high-side switches with:

  • current limiting;
  • inductive-load protection;
  • readback through the corresponding digital-input circuitry.

Current-Limit Behaviour

The firmware can use two fault behaviours:

This is useful in machinery where a temporary short or overload should be handled predictably.

Three Software-Configurable Analogue Inputs

The analogue input connector provides:

and each channel can be configured for one of three modes:

0-10 V Input Mode

In 0-10 V mode the input passes through a divider:

so:

at the MCU ADC.

Arduino lists an input impedance of approximately:

4-20 mA Input Mode

In current-loop mode the board switches in a:

measurement resistor.

A standard process current therefore produces approximately:

for the ADC front end.

Why 4-20 mA Matters

This allows direct connection of many industrial transmitters such as:

  • pressure sensors;
  • level sensors;
  • flow transmitters;
  • industrial temperature transmitters;
  • process instruments.

Sensor 24 V Supply

The analogue-input area provides:

for powering compatible sensors.

Arduino documents a:

protecting this output.

NTC Mode

In NTC mode, the board uses a:

and a:

resistor to form the measurement divider.

Be Careful When Changing Analogue Modes

The same physical AI terminal changes its internal electrical connection depending on software configuration.

Before changing between:

verify the external wiring.

The official pinout explicitly warns that incorrect wiring can damage the board.

Four 0-10 V Analogue Outputs

The output terminals are:

with individual ground terminals.

Each output can generate:

and source up to:

per channel.

Portenta H7 Mapping of Analogue Outputs

Machine Control output Portenta H7 MCU pin
AO0 PJ11
AO1 PK1
AO2 PG7
AO3 PC7

The 0-10 V Outputs Are PWM-Derived

The Machine Control does not simply expose the STM32 DAC directly.

Instead the carrier generates the industrial analogue voltage using:

AO2 Has a High-Resolution Timer Limitation

Arduino’s current datasheet highlights AO2 because it is connected to:

with a maximum period of approximately:

in its documented high-resolution timer configuration.

For slower analogue/PWM periods, Arduino recommends using:

Temperature Probe Terminals

There are three temperature channels:

Each channel can be used for:

Temperature Front Ends

The board includes dedicated converter ICs:

with analogue switching that selects the required channel/front end.

Do Not Connect Both Sensor Types to the Same Channel

A temperature channel can measure:

but not both simultaneously.

Thermocouple Wiring

For thermocouples:

Do not connect the thermocouple negative conductor to board GND.

Arduino specifies:

for this interface.

Two-Wire PT100 Wiring

For a two-wire RTD:

Three-Wire PT100 Wiring

For a three-wire RTD:

Two ABZ Encoder Inputs

The encoder connector provides:

These are intended for two independent incremental encoders.

Portenta Mapping of Encoder Signals

Encoder terminal Portenta H7 pin
A0 PJ8
B0 PH12
Z0 PH11
A1 PC13
B1 PI7
Z1 PJ10

Encoder Inputs Are 24 V Industrial Inputs

Each ABZ signal is pulled up to the board’s:

through a:

resistor.

These are therefore not ordinary 3.3 V encoder GPIO pins.

CAN Bus Has an Onboard Transceiver

Unlike many Arduino boards where CAN_TX/CAN_RX are only MCU logic signals, Portenta Machine Control includes the physical:

and exposes:

directly.

CAN Speed

Arduino documents a nominal maximum CAN data rate of:

for the transceiver hardware.

Actual protocol configuration still depends on:

  • CAN mode;
  • controller configuration;
  • network cabling;
  • termination;
  • all nodes on the bus.

CAN Termination

The board includes onboard termination components and a:

capacitor to ground in the termination network.

Do not add termination blindly.

A normal CAN bus should be terminated only at the two physical ends of the trunk.

CAN MCU Mapping

The Portenta H7-side CAN signals are:

The Machine Control carrier then routes them through the onboard transceiver to CAN_H/CAN_L.

RS-232, RS-422 and RS-485 Share One Interface

The communication terminal provides:

but software selects how the transceiver operates.

RS-422 / RS-485 Full Duplex

RS-485 Half Duplex

The separate RX pair is not used in this mode.

RS-232 Mode

In RS-232 mode:

The other differential terminals are not used.

Serial Termination

The board contains:

that can be connected or disconnected in firmware.

This is useful because termination should depend on where the Machine Control sits on the RS-485/RS-422 network.

Serial Data Rates

The current datasheet lists nominal transceiver capability around:

with an optional:

for slower networks and reduced EMI.

Grove I2C Connector

The Grove connector exposes:

with Portenta H7 mappings:

The board includes:

on the I2C bus.

The Grove I2C Bus Is 3.3 V

This is not a 24 V industrial signal.

Use only 3.3 V-compatible I2C hardware unless proper level shifting is provided.

Ethernet

The Portenta Machine Control includes an:

with the required onboard transformer/magnetics.

This means no external Ethernet shield or carrier is required.

Wi-Fi and Bluetooth

The installed Portenta H7 provides:

through its Murata 1DX module.

Machine Control exposes an:

antenna connection for external wireless antenna installation.

USB-A

The board provides a:

connector for USB peripheral applications.

Micro-USB

The:

connector is used for programming the Portenta H7 and USB communication.

Arduino’s current pinout notes a current limit around:

on the associated USB supply path.

RTC

The board includes a real-time clock subsystem intended to retain time for at least:

under the documented backup conditions.

This is useful for:

  • production timestamps;
  • batch records;
  • alarm history;
  • maintenance logs;
  • data logging.

Portenta H7 Processing Core

The installed Portenta H7 uses:

with:

on the module.

Dual-Core Applications

The two cores can be split into:

depending on the application architecture.

Current Arduino Machine Control Library

For new projects, use:

Arduino describes it as the current upgraded library for controlling the Portenta Machine Control hardware.

The Old Arduino_MachineControl Library Is Deprecated

The older:

repository is deprecated and archived.

Its examples are not API-compatible with the new:

library.

This matters when copying older examples from forums or GitHub.

Current Library Covers the Industrial Interfaces

The new library provides classes for functions including:

  • analogue inputs;
  • analogue outputs;
  • digital inputs;
  • digital outputs;
  • programmable digital I/O;
  • encoders;
  • CAN communication;
  • RS-485 communication;
  • RTD temperature probes;
  • thermocouples;
  • RTC;
  • USB control.

PLC IDE Support

Portenta Machine Control can also be programmed through Arduino PLC IDE.

The PLC environment supports IEC 61131-3-style programming including:

  • Ladder Diagram;
  • Function Block Diagram;
  • Structured Text;
  • Sequential Function Chart;
  • Instruction List support in Arduino’s PLC environment.

PLC IDE also provides fieldbus integration for protocols such as:

  • Modbus RTU;
  • Modbus TCP;
  • CANopen.

No Isolation Assumption

Do not assume that every terminal is galvanically isolated simply because the product is industrial.

Arduino’s datasheet explicitly describes the 24 V output supplies as:

and referred to the board ground.

System-level isolation may still be required depending on:

  • machine grounding;
  • remote sensors;
  • long cables;
  • different power domains;
  • safety requirements.

Common Mistake 1: Feeding 24 V into Portenta GPIO

Use the conditioned 24 V terminal inputs.

Do not bypass the carrier front end and connect industrial voltage directly to the STM32.

Common Mistake 2: Forgetting the Separate 24 V Output Supplies

The digital-output and programmable-I/O 24 V input terminals must be externally powered.

They are not internally tied to the main supply input.

Common Mistake 3: Treating the Outputs as Relays

They are protected high-side semiconductor switches.

Use an external relay/contactor where galvanic isolation or larger switching capacity is required.

Common Mistake 4: Wiring a 4-20 mA Sensor While the Channel Is in 0-10 V Mode

The analogue input circuitry changes internally with the selected mode.

Set the channel mode to match the wiring before energising the system.

Common Mistake 5: Connecting a Thermocouple Negative to GND

For the supported non-grounded thermocouple arrangement:

not board GND.

Common Mistake 6: Adding CAN Termination Without Checking the Existing Network

The board already contains CAN termination hardware.

Only two ends of a normal CAN trunk should be terminated.

Common Mistake 7: Using Old Library Examples

Examples written for:

may not compile against:

without migration.

Quick Terminal Reference

Final Thoughts

The Portenta Machine Control should be thought of as:

The carrier is what transforms a 3.3 V microcontroller module into a practical machine controller.

The most important wiring rules are:

For the MCU underneath the industrial I/O, see our Arduino Portenta H7 pinout guide. For CAN wiring and termination fundamentals on the same STM32H747 family, see our Arduino GIGA R1 CAN bus guide.

Share your love