Jump to content

Hardware:MEGA144H7: Difference between revisions

From epicEFI Wiki
No edit summary
No edit summary
Tag: Manual revert
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:Mega144h72.png|thumb|MEGA144H7]]
[[File:Mega144h72.png|thumb|MEGA144H7]]
The MEGA144H7 is a [[Hardware#Arduino Upgrade Boards|Speeduino upgrade board]] designed by epicEFI and sold by [https://dcwerxtuned.com/product/stm32-h7-adapter-board-arduino-mega-2560-footprint/ DCwerx] that uses a 144-pin STM32H732. The board has several notable features:
The MEGA144H7 is a [[Hardware#Arduino Upgrade Boards|Speeduino upgrade board]] designed by ''ggurov'' and ''turboedge'', originally inspired by [https://github.com/pazi88/STM32_mega pazi88].It is sold by [https://dcwerxtuned.com/product/stm32-h7-adapter-board-arduino-mega-2560-footprint/ DCwerx].
 
It uses a 144-pin STM32H732. The board has several notable features:


* Inputs are buffered from 5v to 3.3v for direct sensor compatibility  
* Inputs are buffered from 5v to 3.3v for direct sensor compatibility  
Line 10: Line 12:
The design of this board is proprietary.{{Speeduino Warning}}
The design of this board is proprietary.{{Speeduino Warning}}


</br>
</br>
</br>
== Pinout ==
== Pinout ==
Line 159: Line 160:
| A15 || || || PC5
| A15 || || || PC5
|}
|}
-----------------
= MEGA144 H7 Board QuickStart Supplementary Notes =
This is the information required when the author installed the DCwerx STM32 H7 Adapter board onto a Speeduino 0.4.4d board. The purpose of this document is to help those who, like me, own a Speeduino board and wish to smoothly transition to the high-performance EpicEFI.
As of February 26, 2026
== FETs Meeting Operating Requirements ==
A key requirement is that the gate threshold voltage of the FETs installed on the base board (used for injectors, ignition, and other high-current switching) must be 3.0V or lower.
While operation has already been confirmed and tested on the UA4C, there are many unknowns regarding other boards.
I checked the datasheets for the MOSFETs and gate drives installed on the Speeduino 0.4.4d that I use.
One point of concern is that the minimum input voltage for the IXDN602, which is used for the ignition drive, is exactly 3.0V. This does not leave much margin, but it technically falls within the rated range.
There do not appear to be any issues with the other drive circuits.
[[File:image-3.png|thumb|Injector Driver VNLD5090]]
[[File:image-5.png|thumb|Ignition, PWM Idle, Boost, and other High Current Driver IXDN602]]
[[File:image-6.png|thumb|Fuel Pump, Fan Driver SSM3K357R]]
== Base Map and Settings Preparation ==
As of February 2026, the EpicEFI firmware <code>rusEFI master.2025.12.09.MEGA144H7.4188835460</code> is pre-flashed at the time of shipping.
If you plan to use it as-is, you can operate it by using the base tune <code>DCwerx E-NA6 mx5 PnP basemap-MEGA100F4.msq</code> and the definition file <code>DCwerx E-NA6 mx5 PnP basemap-MEGA100F4.ini</code> as a set.
Please note that the firmware is still being updated frequently, and it is highly recommended to update to the latest version.
== Firmware Update ==
By using the online flasher, you can easily flash the firmware via your browser.
Make sure to always take a backup first.
== Pinout Table ==
This table is essential when configuring the I/O settings in TunerStudio for various hardware and sensors, such as ignition, injectors, and other sensors.
Refer to the table below to configure the input/output pins that correspond to your installed board.
{| class="wikitable"
! Arduino Pin !! Speeduino 0.4x !! UA4C v5 !! MEGA144H7
|-
| D0  || RX0                        ||      || PA10
|-
| D1  || TX0                        ||      || PA9
|-
| D2  || pinFlex                    ||      || PB15
|-
| D3  || pinTrigger3 (CAM2)          ||      || PB14
|-
| D4  || pinVVT_1                    ||      || PD8
|-
| D5  || pinIDLE1                    || INJ4 || PD9
|-
| D6  || pinIDLE2                    || INJ3 || PD10
|-
| D7  || pinBOOST                    || INJ2 || PD11
|-
| D8  || pinInjector1                || INJ1 || PC6
|-
| D9  || pinInjector2                || IDLE1 || PC7
|-
| D10 || pinInjector3                || IDLE2 || PC8
|-
| D11 || pinInjector4                || VVT  || PC9
|-
| D12 || pinInjector5                || BOOST || PA8
|-
| D13 ||                              ||      || PA15
|-
| D14 || sec serial                  || tx3  || PB10
|-
| D15 || sec serial                  || rx3  || PB11
|-
| D16 || pinStepperDir              || TX2  || PD5
|-
| D17 || pinStepperStep              || RX2  || PD6
|-
| D18 || pinTrigger2 (CAM1)          || CAM  || PD4
|-
| D19 || pinTrigger (CRANK)          || CRANK || PD3
|-
| D20 || pinVSS                      || FLEX || PE13
|-
| D21 ||                              || KNOCK || PE12
|-
| D22 ||                              || TACHO || PE11
|-
| D23 ||                              || FUEL PUMP || PE10
|-
| D24 || pinStepperEnable            || FAN  || PE15
|-
| D25 ||                              || FAN2 || PE9
|-
| D26 ||                              || LC1  || PE8
|-
| D27 ||                              || LC2  || PE7
|-
| D28 ||                              || LC3  || PB2
|-
| D29 ||                              || LC4  || PD15
|-
| D30 ||                              || STEP_EN || PD14
|-
| D31 ||                              || STEP_STEP || PB13
|-
| D32 ||                              || STEP_DIR || PD12
|-
| D33 ||                              || IGN3 || PD13
|-
| D34 || pinCoil5                    || IGN4 || PB12
|-
| D35 ||                              || IGN1 || PD7
|-
| D36 ||                              || IGN2 || PG14
|-
| D37 ||                              || LAUNCH || PE14
|-
| D38 || pinCoil2                    ||      || PG15
|-
| D39 ||                              ||      || PB4
|-
| D40 || pinCoil1                    ||      || PB3
|-
| D41 ||                              ||      || PB5
|-
| D42 || pinWMIEnabled              ||      || PB7
|-
| D43 || pinResetControl            ||      || PB6
|-
| D44 || pinWMIIndicator            ||      || PB9
|-
| D45 || pinFuelPump                ||      || PB8
|-
| D46 || pinWMIEmpty                ||      || PE0
|-
| D47 || pinFan                      ||      || PE1
|-
| D48 || pinVVT_2 / pinDisplayReset  ||      || PE2
|-
| D49 || pinTachOut                  || SPI_SS1 || PE3
|-
| D50 || pinInjector6 / pinCoil4    || SPI_MISO || PE4
|-
| D51 || pinLaunch                  || SPI_MOSI || PE5
|-
| D52 || pinCoil3                    || SPI_SCK || PE6
|-
| D53 ||                              || SPI_SS0 || PC13
|-
| A0  || pinIAT                      || MAP  || PA0
|-
| A1  || pinCLT                      || O2  || PA1
|-
| A2  || pinTPS                      || BAT  || PA2
|-
| A3  || pinMAP                      || TPS  || PA3
|-
| A4  || pinBat                      || CLT  || PA4
|-
| A5  || pinBaro                    || IAT  || PA5
|-
| A6  ||                              ||      || PA6
|-
| A7  ||                              || BARO || PA7
|-
| A8  || pinO2                      || INP1 || PB0
|-
| A9  ||                              || INP2 || PB1
|-
| A10 ||                              ||      || PC0
|-
| A11 ||                              ||      || PC1
|-
| A12 ||                              ||      || PC2
|-
| A13 ||                              ||      || PC3
|-
| A14 ||                              ||      || PC4
|-
| A15 ||                              ||      || PC5
|}
=== Onboard Devices Pinout ===
This is the pinout table required for configuring the MEGA144H7 onboard devices, such as the CAN bus and SD card.
The configuration screenshots provided by @ggrov are shown below.
{| class="wikitable"
! Pin !! Function
|-
| PD0 || CAN RX
|-
| PD1 || CAN TX
|-
| PD2 || SPI3 CS (SD card)
|-
| PC12 || SPI3 MOSI (SD card)
|-
| PC11 || SPI3 MISO (SD card)
|-
| PC10 || SPI3 SCK (SD card)
|}
== Pull-up Resistor Settings for Thermistor Sensors (IAT, CLT, etc.) ==
Because the pull-up resistor values vary across different boards like Speeduino, rusEFI, and others, they can be adjusted within TunerStudio.
Due to the principles of temperature measurement using thermistors, if you fail to set the appropriate pull-up value, accurate temperature readings will be impossible.
For Speeduino 0.4 and UA4C, set it to 2,490 ohms according to the schematic.
[[File:image-2.png|thumb|Speeduino 0.4.4d IAT Sensor Input Section]]
== Onboard SD Card Settings ==
These are the settings required to use the micro SD Card mounted on the MEGA144H7 Board. It is connected to the microcontroller via the SPI protocol. The processor's internal SPI module uses SPI3, and the SPI Chip Select (<code>CS</code>) uses <code>PD2</code>.
[[File:image-7.png|thumb|SD Card SPI Setting]]
[[File:image-8.png|thumb|SD Card CS Pin Setting]]
== Onboard CAN BUS Settings ==
These are the settings for using the onboard CAN BUS. It outputs externally using the I2C pins that originally correspond to the Arduino MEGA. (The corresponding CAN_L and CAN_H are printed on the board's silkscreen.)
On the Speeduino v0.4 board, these pins are not connected to anything, so there is no pin interference.
Therefore, users can wire them up themselves.
[[File:image-9.png|thumb|CAN BUS Setting]]

Latest revision as of 15:47, 26 February 2026

MEGA144H7

The MEGA144H7 is a Speeduino upgrade board designed by ggurov and turboedge, originally inspired by pazi88.It is sold by DCwerx.

It uses a 144-pin STM32H732. The board has several notable features:

  • Inputs are buffered from 5v to 3.3v for direct sensor compatibility
  • Onboard SD card slot
  • Onboard CAN physical interface (uses the I2C pins)
  • Onboard 3.3v voltage regulator

Internal code: MEGA144H7

The design of this board is proprietary.

Please be advised that not all Speeduino boards are supported. The deciding factor is the on threshold of the MOSFETs and gate drives for ignition. For example, the STP62 on the Speeduino 0.4 and 0.3 boards are not supported, while MOSFETs on the UA4C are supported. Check the respective MOSFET datasheet and look for the "ON threshold" or "Gate threshold". It should be less than 3V.


Pinout

Arduino Pin Speeduino 0.4x UA4C v5 MEGA144H7
D0 RX0 PA10
D1 TX0 PA9
D2 pinFlex PB15
D3 pinTrigger3 (CAM2) PB14
D4 pinVVT_1 PD8
D5 pinIDLE1 INJ4 PD9
D6 pinIDLE2 INJ3 PD10
D7 pinBOOST INJ2 PD11
D8 pinInjector1 INJ1 PC6
D9 pinInjector2 IDLE1 PC7
D10 pinInjector3 IDLE2 PC8
D11 pinInjector4 VVT PC9
D12 pinInjector5 BOOST PA8
D13 PA15
D14 sec serial tx3 PB10
D15 sec serial rx3 PB11
D16 pinStepperDir TX2 PD5
D17 pinStepperStep RX2 PD6
D18 pinTrigger2 (CAM1) CAM PD4
D19 pinTrigger (CRANK) CRANK PD3
D20 pinVSS FLEX PE13
D21 KNOCK PE12
D22 TACHO PE11
D23 FUEL PUMP PE10
D24 pinStepperEnable FAN PE15
D25 FAN2 PE9
D26 LC1 PE8
D27 LC2 PE7
D28 LC3 PB2
D29 LC4 PD15
D30 STEP_EN PD14
D31 STEP_STEP PB13
D32 STEP_DIR PD12
D33 IGN3 PD13
D34 pinCoil5 IGN4 PB12
D35 IGN1 PD7
D36 IGN2 PG14
D37 LAUNCH PE14
D38 pinCoil2 PG15
D39 PB4
D40 pinCoil1 PB3
D41 PB5
D42 pinWMIEnabled PB7
D43 pinResetControl PB6
D44 pinWMIIndicator PB9
D45 pinFuelPump PB8
D46 pinWMIEmpty PE0
D47 pinFan PE1
D48 pinVVT_2 / pinDisplayReset PE2
D49 pinTachOut SPI_SS1 PE3
D50 pinInjector6 / pinCoil4 SPI_MISO PE4
D51 pinLaunch SPI_MOSI PE5
D52 pinCoil3 SPI_SCK PE6
D53 SPI_SS0 PC13
A0 pinIAT MAP PA0
A1 pinCLT O2 PA1
A2 pinTPS BAT PA2
A3 pinMAP TPS PA3
A4 pinBat CLT PA4
A5 pinBaro IAT PA5
A6 PA6
A7 BARO PA7
A8 pinO2 INP1 PB0
A9 INP2 PB1
A10 PC0
A11 PC1
A12 PC2
A13 PC3
A14 PC4
A15 PC5




MEGA144 H7 Board QuickStart Supplementary Notes

This is the information required when the author installed the DCwerx STM32 H7 Adapter board onto a Speeduino 0.4.4d board. The purpose of this document is to help those who, like me, own a Speeduino board and wish to smoothly transition to the high-performance EpicEFI.

As of February 26, 2026

FETs Meeting Operating Requirements

A key requirement is that the gate threshold voltage of the FETs installed on the base board (used for injectors, ignition, and other high-current switching) must be 3.0V or lower. While operation has already been confirmed and tested on the UA4C, there are many unknowns regarding other boards. I checked the datasheets for the MOSFETs and gate drives installed on the Speeduino 0.4.4d that I use. One point of concern is that the minimum input voltage for the IXDN602, which is used for the ignition drive, is exactly 3.0V. This does not leave much margin, but it technically falls within the rated range. There do not appear to be any issues with the other drive circuits.

Injector Driver VNLD5090
Ignition, PWM Idle, Boost, and other High Current Driver IXDN602
Fuel Pump, Fan Driver SSM3K357R

Base Map and Settings Preparation

As of February 2026, the EpicEFI firmware rusEFI master.2025.12.09.MEGA144H7.4188835460 is pre-flashed at the time of shipping. If you plan to use it as-is, you can operate it by using the base tune DCwerx E-NA6 mx5 PnP basemap-MEGA100F4.msq and the definition file DCwerx E-NA6 mx5 PnP basemap-MEGA100F4.ini as a set. Please note that the firmware is still being updated frequently, and it is highly recommended to update to the latest version.

Firmware Update

By using the online flasher, you can easily flash the firmware via your browser. Make sure to always take a backup first.

Pinout Table

This table is essential when configuring the I/O settings in TunerStudio for various hardware and sensors, such as ignition, injectors, and other sensors. Refer to the table below to configure the input/output pins that correspond to your installed board.

Arduino Pin Speeduino 0.4x UA4C v5 MEGA144H7
D0 RX0 PA10
D1 TX0 PA9
D2 pinFlex PB15
D3 pinTrigger3 (CAM2) PB14
D4 pinVVT_1 PD8
D5 pinIDLE1 INJ4 PD9
D6 pinIDLE2 INJ3 PD10
D7 pinBOOST INJ2 PD11
D8 pinInjector1 INJ1 PC6
D9 pinInjector2 IDLE1 PC7
D10 pinInjector3 IDLE2 PC8
D11 pinInjector4 VVT PC9
D12 pinInjector5 BOOST PA8
D13 PA15
D14 sec serial tx3 PB10
D15 sec serial rx3 PB11
D16 pinStepperDir TX2 PD5
D17 pinStepperStep RX2 PD6
D18 pinTrigger2 (CAM1) CAM PD4
D19 pinTrigger (CRANK) CRANK PD3
D20 pinVSS FLEX PE13
D21 KNOCK PE12
D22 TACHO PE11
D23 FUEL PUMP PE10
D24 pinStepperEnable FAN PE15
D25 FAN2 PE9
D26 LC1 PE8
D27 LC2 PE7
D28 LC3 PB2
D29 LC4 PD15
D30 STEP_EN PD14
D31 STEP_STEP PB13
D32 STEP_DIR PD12
D33 IGN3 PD13
D34 pinCoil5 IGN4 PB12
D35 IGN1 PD7
D36 IGN2 PG14
D37 LAUNCH PE14
D38 pinCoil2 PG15
D39 PB4
D40 pinCoil1 PB3
D41 PB5
D42 pinWMIEnabled PB7
D43 pinResetControl PB6
D44 pinWMIIndicator PB9
D45 pinFuelPump PB8
D46 pinWMIEmpty PE0
D47 pinFan PE1
D48 pinVVT_2 / pinDisplayReset PE2
D49 pinTachOut SPI_SS1 PE3
D50 pinInjector6 / pinCoil4 SPI_MISO PE4
D51 pinLaunch SPI_MOSI PE5
D52 pinCoil3 SPI_SCK PE6
D53 SPI_SS0 PC13
A0 pinIAT MAP PA0
A1 pinCLT O2 PA1
A2 pinTPS BAT PA2
A3 pinMAP TPS PA3
A4 pinBat CLT PA4
A5 pinBaro IAT PA5
A6 PA6
A7 BARO PA7
A8 pinO2 INP1 PB0
A9 INP2 PB1
A10 PC0
A11 PC1
A12 PC2
A13 PC3
A14 PC4
A15 PC5

Onboard Devices Pinout

This is the pinout table required for configuring the MEGA144H7 onboard devices, such as the CAN bus and SD card. The configuration screenshots provided by @ggrov are shown below.

Pin Function
PD0 CAN RX
PD1 CAN TX
PD2 SPI3 CS (SD card)
PC12 SPI3 MOSI (SD card)
PC11 SPI3 MISO (SD card)
PC10 SPI3 SCK (SD card)

Pull-up Resistor Settings for Thermistor Sensors (IAT, CLT, etc.)

Because the pull-up resistor values vary across different boards like Speeduino, rusEFI, and others, they can be adjusted within TunerStudio. Due to the principles of temperature measurement using thermistors, if you fail to set the appropriate pull-up value, accurate temperature readings will be impossible.

For Speeduino 0.4 and UA4C, set it to 2,490 ohms according to the schematic.

Speeduino 0.4.4d IAT Sensor Input Section

Onboard SD Card Settings

These are the settings required to use the micro SD Card mounted on the MEGA144H7 Board. It is connected to the microcontroller via the SPI protocol. The processor's internal SPI module uses SPI3, and the SPI Chip Select (CS) uses PD2.

SD Card SPI Setting
SD Card CS Pin Setting

Onboard CAN BUS Settings

These are the settings for using the onboard CAN BUS. It outputs externally using the I2C pins that originally correspond to the Arduino MEGA. (The corresponding CAN_L and CAN_H are printed on the board's silkscreen.) On the Speeduino v0.4 board, these pins are not connected to anything, so there is no pin interference. Therefore, users can wire them up themselves.

CAN BUS Setting