I have several projects running that use Hats from outside sources. None of these projects need the computational power or complexity that an embedded Linux system brings.
As mentioned in the intro section, all of the communications interfaces are available on the GPIO connector (J2). The rest of the pins on the GPIO connector are tied to uncommited GPIO's on the MCU. Remaining GPIO signals from the MCU are routed to another connector J3 so they remain available. Connector J3 is the "extra GPIO signals header".
RS232 and RS485/422 drivers are placed on the board and their MCU connections are uncommitted so they can be routed as needed. I expect that the RS232 and/or RS422 drivers will be driven from signals the J3 "extra GPIO signals header".
The USB connector wiring matches the data sheet connections, but I have not used the USB system on previous projects, so that will require some checking out in the future. USB power input has a diode to isolate if from the power input terminal strip. Use of the USB power input will require blue wiring JMP7 to JMP10 to make that operational. VBus sense will also require jumpering JMP8 to the appropriate GPIO pin for the USB library to sense the presence of VBus. There is a voltage divider (R2,R3) to scale the VBUS to a level safe to feed into a 3.3V GPIO input.
If I/O pins become scarce, and the 32KHz external oscillator is not needed, two GPIO signals can be freed up by moving JMP1, JMP2 away from the crystal and toward the external GPIO pins. Similarly, if the USB is not needed, installing JMP3 and JMP4 will make the two GPIO signals accessible on the Extra GPIO signals header. Using the two USB signals as GPIOs will prevent powering the board through the USB connector, and the power input terminal strip P1 should be used instead.
The Raspberry Pi boards are powered from 5V, with a voltage regulator to provide 3.3V for on board usage. A similar setup is on the SmallPi board, except it uses a linear regulator, as currents are expected to be much lower. As with the Raspberry PI, the SmallPi can be powered through the two +5V pins on the gpio connector but should never be powered through the +3.3V pin on the GPIO connector.
The first rev of PCBs is back from OSHPark and one has been populated. Testing the board is in process now. At this point, the power supply, SWD debug wiring and both external crystal oscillators are operating.
In the past, I have done a few projects with the smaller SAMD21E18 version of the chip. Getting the clock system sorted out on this part has been an ongoing issue with these projects. I think that I got the PLL operating correctly so that the CPU and peripherals have a stable, accurate 48MHz clock now. Attempts to get a stable, accurate frequency with the FLL have been marginally successful in the past, so I am quite pleased with this.
Inital observations of current consumption look quite good. Clocking the CPU at 48MHz, with a couple of GPIOs set up to route clock signals out and both external oscillators running, Input current is showing 15mA at 5V. That number will increase as peripherals are enabled, but this seems like a good place to start.