After a great deal of head banging I finally got the OLED display to work. In the end the main problems were that I had the wrong I2C address (my old code had it shifted up one bit for convenience when writing directly to the ATmega TWI registers), and the silkscreen on my Lepton is wrong. SDA and SCL are PB7 and PB8, not PA11 and PA12. Those were for I2C2 in an earlier revision. Though upon further consideration I would like to put it back that way, with the I2C2 pins on the programming connector and I2C1 on the two solder pads for communication. For one thing it may be difficult to get I2C1 to act as both master for the OLED and slave for whatever is sending out motor target position commands. And for another, separate buses will make it easy for each Lepton to have its own OLED even when several are connected together on the same I2C1 lines for communication. Better for debugging complex robots.
So now I can view the hall sensor output while manually rotating the motor, and while I do get some response, it’s not quite right. Could be sensor placement, the weak pullups, or something else. Will continue investigating.
Some good news is that the SE3082G MOSFETs have been restocked, so this is not just a one-off design. Although I had been toying with an alternate version using 6 single-channel 3x3mm MOSFETs. These in particular are attractive for their 1.2mOhm on-resistance. The board size is unchanged aside from a 1mm protrusion for the power input terminals. Unfortunately the heavy conductors must be closer together, so there’s no space for ceramic capacitors between them anymore. But it is back to having 4 mounting screw holes, and holes for the motor wires. Ideally you would solder some bits of copper about 5x2x1mm between the MOSFET pins and motor terminals, but solder blobs would be better than nothing. It would also be possible to machine small blocks of copper with two m2 threaded holes in them (crossed but not intersecting), so you could screw the blocks to the board and use lugs on the motor wires. Solder is probably better at this size, but when scaled up for larger MOSFETs that may be a good design.