• Entry 5 - Layout Update

    TomBates02/10/2017 at 19:18 0 comments

    As mentioned in Entry 4, the size of the board has been reduced to allow more to fit on a panel that I was already purchasing.

    Unfortunately, whilst the silkscreen does have some part numbers (frankly a little too small to read easily without referring back to the layout design), I forgot to add descriptions to the pins on the outer edge. Suffice to say, the pins on the microcontroller are directly mapped to the pins on the board, i.e. pin 1 to pin 1 etc. Pin 32 is next to the programming header.

    I've panellised these up with another design for manufacture, however the individual layout is shown below, both without the planes, then with them (in this case, both are ground planes).

  • Entry 4 - Schematic Update

    TomBates02/10/2017 at 18:35 0 comments

    I've updated the schematics slightly prior to ordering the PCBs. This was done to reduce the board size further, which would enable me to fit substantially more on the panel I was ordering (the slight reduction in size meant the number increased from two per panel to five per panel).

    The key differences (in order from Entry 1);

    • The Chip Footprint has been replaced with both a TQFP-32 and QFN-32 package (so either package can be used on the breakout board)
    • The symbol for the Programming Header has changed, as I wasn't happy with the library I was using for this part (I believe there was issues with the hole diameters on the footprint - I can't remember for sure though)
    • The reset buttons have disappeared (there were two to allow either SMD or through hole buttons to be used, depending on sourcing). These were rather large, and personally I'm more inclined to add a reset button to the designs that utilise the breakout board if I feel it needs one, however for most of my designs a simple power-cycle is sufficient
    • The 32.768kHz crystal was changed for a smaller SMD package, to reduce the size
    • The USB ID pin now connects to PA28, rather than PA03
    • And finally; the power pins have reduced from two to one, with a solder jumper (default: disconnected) allowing a connection between the USB 5V line and the power input pin. This means the board can still be powered from USB, but the removal of the protection diodes means care should be taken if soldering the jumper to power it from 5V, as this directly connects the Vin pin to the USB 5V rail.

    Schematic below!

  • Entry 3 - Brief Update

    TomBates11/14/2016 at 10:35 0 comments

    I know it's been a while, but I've received PCBs, and populated a few - some brief tests indicate they work!

    I'll try to get some more information up probably around Christmas time, with some photos, tests to see what's working, and I'll upload the source files so anyone else can download them too!

    If this interests you - keep an eye out in the coming months.

  • Entry 2 - Arduino 1.6.5 Compatibility?

    TomBates06/15/2015 at 19:53 0 comments

    Arduino LLC have released their latest IDE - version 1.6.5.

    The Arduino Zero is based on the SAM D21G18 processor, a 48-pin variant from the D20/D1 series. It should be possible to use the Arduino interface to upload the Arduino Zero bootloader to other SAMD21G18 micro controllers - however, an Arduino Zero may be required to do this. Alternatively, it should be possible to upload the bootloader by using a dedicated programmer (such as an Atmel ICE), though this method may not be supported within the Arduino IDE, and may require other software, such as Atmel Studio.

    The Arduino Zero boot loader is based on Atmel's SAM BA Bootloader, though I believe it has been slightly modified by Arduino for use in the Zero. This may mean that the Zero bootloader will only work for the SAMD21G18, however the SAM BA bootloader will work for the full D20/D21 range.

  • Entry 1 - 32-Pin Schematic

    TomBates06/13/2015 at 16:30 2 comments


    The project here on http://hackaday.io was created after I had finished (ish) the 32-pin variant of the breakout board. It is compatible with both the SAM D20 and D21 lines from Atmel, using the D20E / D21E variants (E corresponds to the 32-pin variants).

    The PCB uses the reference designs in the datasheet for the SAM D21, which was checked against the SAM D20 datasheet to make sure there were no major conflicts. The D21 has full speed USB 2.0 Host and Device, so there is also a USB footprint, with some supporting components (Micro USB Socket, ESD protection diodes, and a filter for the cable shield).

    I've crammed as much as I could onto the PCB, with the intention of only populating the footprints that are necessary for each application. Below is the schematic broken down into its relevant parts, with a brief explanation.

    Chip Footprint

    The 32-pin footprint, with all of the pins connected to the two 16-pin breakout headers. These are standard 0.1" pitch headers, with one on each side of the board. All of the nets are named and labelled.

    Bypass Caps

    Standard parts for most microcontrollers. These help smooth out the power lines.

    Programming Header

    Unlike the ever popular Arduino, these chips do not have a nice bootloader pre-programmed in (The D21 does have an example USB bootloader in Atmel Studio 6, but you'll still need to program it onto the chip!). The pins are 0.05" pitch, as per the standard Cortex Debug Connector. The pin headers for these are a little expensive, so I plan to make a breakout board (gotta love the breakout boards!) so I can connect the programmer to pogo pins, and then just use the pads on the board.

    Reset Button

    Into the optional parts! Sometimes, power-cycling a board can be a little tough, especially if you're doing a lot of resets during development. For that need, comes the very popular reset button! The usual 6mmx6mm tactile switch was far too large to fit on my PCB, and my usual distributer (Farnell UK) seem to have a sparse range of thinner switches; as a result, there are two footprints, one for a surface mount DTSM-3, and one for a DTS-3 through hole variant. The footprints are on top of each other on the PCB, to minimise the space usage.


    Two LEDs here; one for power, and one connected to an IO line on the microcontroller. The power LED is directly connected to the VDD line on the microcontroller. The resistor values here are just placeholders, they'll need recalculating depending on the specific LEDs that are used, and the voltage the board is powered at (usually 3.3V, though 1.8V would be common too).

    RTC Crystal

    The usual oscillator pins do not have a footprint for the crystal, as the SAM D20/D21 range has a good onboard oscillator that (through clock multiplying magic) can clock the microcontroller at 48MHz. However, there are separate pins for a 32.768kHz oscillator, and I quite like the idea of RTC capability; therefore, there is a lovely footprint for that on the PCB instead. The capacitors don't have a given value, as it will vary dependent on the specific oscillator chosen.


    The SAM D21 has full speed USB 2.0, both device and host! To use this capability, the board has a micro USB connector. The D+ and D- (Data lines) have a TVS (transient voltage suppressor) on it for ESD protection. This is an extra measure, and the diodes inside this package are all in parallel with the signal, so this can be left unpopulated and the USB will still work. The shielding on the USB acts as a large antenna, so R2 and C2 act as a filter before it's connected to ground. The values for this come straight from the SAM D21 datasheet, but these components can either be omitted, or bridged with a 0R resistor if you would like the shield grounded. R3 on the USB ID line is used to limit the current through the 5V line to the 3.3V tolerant pins; again the value for this is straight from the SAM D21 datasheet.

    Whilst the SAM D20 doesn't have USB, that doesn't mean it wouldn't benefit from a USB connector! USB...

    Read more »