Standard MTB POWERSTAGE pinmap?

Dear all

What do you think about this pinmap for a “STANDARD/Modular” eMTB powerstage. Imagine the Portenta H7 on top. Is something missing?

Im trying to find some good base dimensions and will release those to GiTHUB once aligned.

Those two circular connectors are for Brake Resistor control.

Current sensors will be onboard the powerstage, so ANA_OUT is sensor analog output. This can either be from a HALL_Current sensor or via shunt/amplifier sensor.

The 1.3mm x 3mm copper busbar can carry around 75 amp´s and has a resistance of 0.3mOhm, plus the outer layer copper (105um) with a resistance of around 1.5mOhm. The outer layer trace, alone, can carry around 25amp´s.

Thoughts on STM32H747 dual core (Portenta H7)

Being able to run all communication from the low MHz core, free´s up the higher clocked core for full commutation focus. Maybe its possible to run RTOS on the low_clocked core and FOC on the high_clocked core?

What kindoff capacitor´s and value would you use for 30amp max continuous. How much ripple can we expect ?

Edit: This is 3 x 220uF 12.5mm (dia) x 25mm length CAP´s + 2 x 10mm (dia) x 12mm length super low ESR caps. Will need to glue in some custom cap for those.

Few improvements;

Now, there is space for a mounting bolt (x4) can hold the Portenta in place. Moved the headers a fraction, for later standalone H747.

Created repo

Juanduino/MTBeDRIVE (

The USB connector, is the highest point. The connector will not be used, since wires will be soldered directly to the Portenta_breakout.

Edit: I do think it will be possible to use the USB-C connector on the Portenta. If I use a really small Inductor, it is possible to have it sit between the powerstage and the carrier.

But then again, it all depends on what the battery can deliver, when it comes to how much current you can apply to the motor. 30amp is a lot to draw from a 14cell battery. Hawing 4 batteries in parallel, that would draw 7,5 amp per battery. If the controller knows the status of the battery, mainly temperature, but also state of charge, the controller could implement those variables into the driving experience. This would require a kind of boost status bar on the display, to enable the user to administer the maximum current when needed.

We definitely need brake input/power output. Like, front brake would be motor braking in a direct drive setup.

I think Arduino is on to something with those JST SH (1.0mm pitch) connectors. Maybe it is best to dab them with glue when mated. Usually these cable assemblies with JST connectors can be found with 150mm wire. These can then be spliced with brake_sensor_wires, pedal_sensor_wires etc. in the area above the bulk capacitors. The point is to seal everything up using silicone, when closing the housing. Having all wires coming out the same place, makes it much easier to make a good water-proof seal.

Edit: The 2.0mm JST PH are more suitable for mountain biking. Combining the lower plug for brake sensors and pedal_hall_sensors.The system will communicate with the display using the USB-C connector or to phone using BLE.

The 1mm pitch JST on the Portenta has 3 signal pins, but not sure if the I2C Lines are pulled up. Since the SPI CS pin is brokken out next to SDA and SLC I asume they’re not pulled up. So in theory that plug can work for any type of external sensor.