adamglozik/nitrokey-pro-hardware
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
Crypto Stick v1 PCB Design
Version 0.1
2014-01-17
Jan Suhr
Introduction
==============
Crypto Stick is a USB 32-bit computer with STM32F103 processor and
an OpenPGP smart card. It has a minimalistic design, the MCU is running
at 72MHz, and it has a SWD port for main flash ROM update.
This is Crypto Stick v1 PCB design for KiCAD, based on Niibe
Yutaka's Flying Stone Tiny 01 (FST-01).
Files
=====
README: This file
BOM.csv Part list including Digikey product number.
ChangeLog: History of this project
cryptostick.pro: Project file of KiCAD
cryptostick.sch: Schematic
cryptostick.cmp: Component
cryptostick.net: Netlist
cryptostick.stf: Component and Module
cryptostick.brd: PCB design
library: schematic library
module: footprint modules for PCB
gerber: Gerber files of the PCB
datasheet: Datasheets of parts
Note that files under datasheet directory is copyrighted by vendors.
Terms and conditions
====================
This work is based on Niibe Yutaka's Flying Stone Tiny 01 (FST-01) PCB Design.
I would like to ask users to keep the design as "Open Hardware". See
the page for the definition of "Open Hardware":
http://www.opencollector.org/Whyfree/open_hardware.html
Nevertheless, schematic design is distributed under Creative Commons
Attribution 3.0 Unported License (CC BY 3.0). See:
http://creativecommons.org/licenses/by/3.0/
Schematic design can be used for any purpose and you don't need to
open your modifications to my design.
For PCB, it is distributed under Creative Commons
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0). See:
http://creativecommons.org/licenses/by-sa/3.0/
External modules
================
For module/SMT_CAP.mod and module/SMT_RES.mod, module drawings are
copied from w_smd_cap.mod and w_smd_resistors.mod by W.Lain. Files
are available at:
http://smisioto.no-ip.org/elettronica/kicad/kicad-en.htm
Its copyright notice is like following:
---------------------------------------------------------------------
Kicad Library by W. Lain - kcswalter@member.fsf.org
This library is released under the terms of the Creative Commons
license v3.0, Attribution-Share Alike.
The author holds no responsibility for any damage that can be caused
by the usage of this library. You are however welcome to report any
error or discrepance to the author, provided that you give also the
correct information and its source (i.e. the correct datasheet).
Note that the author used publicly available data sheets from many
different companies, and that package dimensions, pin numeration and
schematic symbols may vary slightly between companies.
---------------------------------------------------------------------
Flashing
========
This hardware can be flashed in two different ways:
* SWD protocol requires a separate programmer such as the ST-Link V2 (or cheaper clones). The SWD port or the Nitrokey PCB are the four blank contact points. You can either solder four wires or build your own adapter (see directory cs_pogo_adapter).
* A bit easier would be to use DFU. It requires a serial/TTL port (perhaps you need a serial/TTL-USB adapter) and a simple adapter. The DFU port is routed to the USB plug. Your adapter should consist of a USB socket which four pins are connected to your serial/TTL connector. The pinout is as follows.
Nitrokey USB Plug <-> Serial/TTL adapter
Pin 1, VCC <-> VCC
Pin 2, D- <-> TX
Pin 3, D+ <-> RX
Pin 4, GND <-> GND
This diagram represents the pinout of the USB socket which you are going to solder:
###################
# #
# ############### #
# #
# #
###################
# # # #
# # # #
1 2 3 4
To flash the firmware you need to bridge the two contact holes (e.g. with a wire) and only then connect (and power) the PCB to your adapter. The bridge triggers the hardware to boot into DFU mode. You may use [STM32 Flash Loader Demonstrator](http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/flasher-stm32.html) (Windows only) or the open source command line tool [stm32flash](http://stm32flash.sourceforge.net).