Custom SAMD21 dev board for I2C debugging
We present a custom SAMD21 dev board for debugging I2C sub-modules. The board is based around a SAMD21E18A ARM microcontroller, and hosted on a carnival W prototype board via a QFP32 0p8 crown. Decoupling capacitors and I2C pullup resistors (2.2K ohms, marked 222) are attached directly to the crown to keep the component density high.

This board has two separate Grove style I2C on the lower right that provide 3V5 power as well as the SCL and SDA lines for the I2C bus. Each port has a dedicated power channel channel with soft start and explicit discharge.
Having both soft start and discharge is important when testing third-party sub-modules like SSD1306 based displays. These modules typically have a four wire {GND, PWR, SCL, SDA} interface but with no hardware reset line, so the only way to fully reset such a device is to power cycle it. However, the modules also have their own decoupling capacitors that must be discharged and then charged again to complete the power cycle. Using a simple single-MOSFET switch to control power to such a module does not work. When disconnected, the module's own decoupling capacitors can keep the driver IC online for several seconds. We also need to in-rush current to the sub-module to avoid browning out the decoupling capacitors on the main board.
Using the carnival W prototype board, the resulting circuit is mechanically stable enough to use for ongoing development. The back of the board is shown below. Most cross connections have been made with uninsulated wire, and the others with wire-wrap wire. There are no crossed jumper wires. All jumper wires lie flat against the surface of the board, so they do not get snagged when moving the board around during development.

We designed both the circuit and layout in real-time while soldering it together. We moved a few components around in the process, which is why some now unused pads are tinned with solder rather than being bare gold. We used the design PDF template for the carnival W board to track the circuit layout as it was being developed. In this case we used a reMarkable e-ink tablet to annotate the template, though the same could be done with paper and pencil. The final annotated template is shown below.


This style of development board is a prime candidate for direct surface-mount prototyping. We only needed one of these boards, and it was quicker to build one by hand than to design a custom PCB and have it fabricated. Also, if we had just the custom board made without paying for automated assembly then we would still need to solder the components to it, and debug any remaining issues. Prototyping is more immediate. We design, build and test the system in one shot. When the design is finished then so is the build.