Category Archives: Prototype

Revision 1.4

Revision 1.4 will be replaced with 1.5 which will adapt a different JTAG connector.  The new connector will allow the Atmel SAM-ICE debugger to connect directly to the openTPM.  A cable does not exist that allows the TAG CONNECT to plug directly into the SAM-ICE debugger.





This revision forgoes all 0201 components for 0402 resistors and capacitors. Trace width was increased for power supply lines and JTAG connections. The JTAG’s voltage reference line is now connected to the TAG CONNECT footprint. Ground footprint was optimized for the bottom and inner-signal layer.


v1.4 Schematic


First openTPM Assembled

The first thing you may notice about the following photos is the jumper wire on the debug port. This is due to the fact that VTREF was left accidentally disconnected from VCC.  This prevents the JTAG port from operating correctly as it can not sense a voltage on this line.  The next revision, 1.3, will correct this issue.  I will also replace all 0201 components with ones that are size 0402. This will make hand assembly easier for the user.


DSC_0286 (2)


Initially the device was not recognized by the computer.  I checked the voltages and incoming 5.0V was good from the connector to the voltage regulator but there was nothing on the output side.  After reflowing the voltage regulator the device was immediately recognized as a Bossa Program Port.


Bossa is a flash programming utility for Atmel’s SAM family of flash-based ARM microcontrollers.  Upon attempting to install Bossa on a Windows 10 machine, the installer stops prematurely.


I will attempt to contact the creators of this software in order to find a solution to get it to install properly on Windows 10.  In the meantime, I was able to use Atmel’s SAM-BA software and a default configuration for one of their evaluation kits to install the example code provided with their TPM SDK.


Upon uploading this code, a Teensy USB Serial port appeared in Device Manager.  I used PuTTY to connect to the COM4 at 9600 baud and the following appeared.


After pressing 1 to startup the TPM, I attempted to verify the TPM was in fact working.  I did this by pressing t to get the version number of the device.



The correct version number appeared.  I know this because this is the number printed on the actual device.

Stay tuned for revision 1.3 which will use larger components and fix the JTAG voltage sense line issue.  Code to interact with the CryptoAuthentication components will be developed soon.



Revision 1.1


Revision 1.1

This revision makes use of the 3rd layer for signals and ground. This revision frees up the ground plane on the top layer and connects the top ground plane to the debug connector.


A PDF of the schematic is available here.



i (1)


This revision is available on Open Source Hardware Park. It is a shared project. You can order them directly from OSH Park. We ordered three PCBs and they will be manufactured on July 30th then about a week after we will receive them in the mail.