Nice. I didn’t even know micromice are still a thing today, I thought they peaked way back in the 90s/early 2000s when the MIT team found out they could cut corners to optimize the trajectories. Are the rules still the same?
Let me check. I didn’t really go all out, since I tried to keep it two layers. For a micromouse, which requires such low current, you may be better off with pairing the MCU with a fully integrated driver such as one of TI’s DRV83xx, the DRV8316 comes to mind, you can create a really tiny soup-to-nuts board. Problem is, they are all out of stock everywhere, who knows when they come back.
Another solution is to stack them on top of each other with castellated holes, effectively creating a dual layer board.
No I2C pins, since I prefer SPI to I2C. This MCU has only 28 pins and the I2C pins are already taken by other I/Os. Let me check if I could expose I2C pins however, I have doubts due to the low pin count on particular package. Give me an hour.
Edit: OK, I am a bit confused, which one is the target size, the 50x50mm or the smaller Olimexino footprint inside? Also, what is the Olimex connection there?
Edit2: I can expose the I2C but that will remove the SPI2 which I want to use for CANBUS interface.
It is conceivable to dual-use SPI or I2C on two connectors, one at a time, but it will take more space.
Edit3: You know what, since SPI2 shares pins with I2C, one could just use the 5-pin SPI2 connector but draw signal from only two of the pins for I2C connection. I could add the pin assignments to the silk screen so people know which pins to use for I2C. It’s a have the cake and eat it too situation.
Edit4: One very important thing to remember, this package for G031 shares the boot pin with the SWD/IO pin so you must use the so-called connect-under-reset programming, that’s why I added the RST switch. Normally SWD programmers won’t access the chip directly using the soft reset due to pin sharing.