fst-01sz (flying stone tiny 01 revision shenzhen) free ... · 1/30 fst-01sz (flying stone tiny 01...
TRANSCRIPT
![Page 1: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/1.jpg)
1/30
FST-01SZ(Flying Stone Tiny 01 revision ShenZhen)
free hardware design for Gnuk Token
Niibe [email protected]
2019-02-03
![Page 2: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/2.jpg)
2/30
FST-01SZ (board+shell) is ready now!
![Page 3: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/3.jpg)
3/30
FST-01SZ (board+shell) and case
![Page 4: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/4.jpg)
4/30
Acknowledgment
Special Thanks Luis Felipe R. MurilloSZDIY Rafael, Fonzie, Terry and Nala
Seeed Technology Vivian, XuanYu, Simon and NanaFOSDEM and ”CAD and Open Hardware” devroom
Free Software Foundation johns and johnh
Debconf18 PaulLiu, YaoWei
Debian noodles, zigo, glaubitz and dkg
GnuPG wk and aheinecke
RiseUP micah and guido
GnuPG friends Justus, Kai, and NealFSIJ hironobu, kaz and knok
Bro. in Hong Kong: Satoshi
![Page 5: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/5.jpg)
5/30
About Me - Niibe with ’g’
I GNU ProjectI 90s: GNU Emacs, Guile, glibc, GCCI 00s: GPLv3I 10s: www.gnu.org (Japanese), GnuPG
I GNU/Linux on SuperH around 2000
I since 2002
I Debian developer since 2005
I GnuPG developer since 2011
![Page 6: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/6.jpg)
6/30
0, 1, and *
0: NeuG Nobody should control on random numbergeneration
1: Gnuk Privacy is importantIt’s only you who controls your private keys
*: GNU Everyone deserves computing freedom
![Page 7: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/7.jpg)
7/30
Gnuk Token - for user freedom
I Firmware: “Gnuk” is free software
I FST-01: Reference free hardware designI Original version: 2011I Manufactured in 2012
![Page 8: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/8.jpg)
8/30
Why Gnuk Token?
I To control our crypto computationI Minimize the attack surface
I Goal: can be reproduced by othersI All technical docs availableI Free (as in freedom) tool
I KiCADI GNU ToochainsI OpenOCD...
I No NDA, never!I Avoiding possible backdoors
![Page 9: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/9.jpg)
9/30
My use case of Gnuk Token
At work
At home
On the go2012
![Page 10: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/10.jpg)
10/30
FST-01G
I Design updated in 2016, because...
I KiCAD: format changeI LDO: disconI SPI flash in original version: not used
I Manufactured in 2017
![Page 11: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/11.jpg)
11/30
FST-01SZI Design updated in 2018, because...
I KiCAD: format changeI MCU protection: reverse engineered???I USB-A connector: too large
![Page 12: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/12.jpg)
12/30
FST-01SZ’s challenge
I Use of Chinese partsI GD32F103TB (replaces STM32F103TB)
I NewerI FasterI Cheaper
I Chinese USB form factor: ”Wrist-Board”
I Use of unique toolsI Test clip with pogo pin needlesI BeagleBone Green as JTAG/SWD debugger
![Page 13: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/13.jpg)
13/30
GD32F103TB
I GD stands for “Giga Device” (not Godot Engine :-)
I ARM Cortex-M3 core
I Can run @ 96MHz with USB
I no wait cycle, no cache accessing flashI static RAM loaded by flash content at bootI less side channel info: power analysis, timing analysis
I Peripherals like USB and ADC are independentimplementation
![Page 14: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/14.jpg)
14/30
USB form factor
I Chinese De-facto standard
I Smaller form factorI metal shellI plastic connector
I Used for USB Memory
![Page 15: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/15.jpg)
15/30
USB form factor: The partsI ZL-271 (left, metal shell, CJ-AM-C5B0C010)I ZL-272 (right, plastic connector)
![Page 16: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/16.jpg)
16/30
The name: wrist-board (1)
I Originally one for wrist band USB memory
![Page 17: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/17.jpg)
17/30
The name: wrist-board (2)
I But now, there are many kinds of plastic covers, like:
![Page 18: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/18.jpg)
18/30
The name: wrist-board (2)
I Or, there is a metal case
![Page 19: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/19.jpg)
19/30
FST-01SZ with metal case
I Putting the board+shell into the case
I It’s an one-way procedure
I Offering a feature of tamper resistance
![Page 20: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/20.jpg)
20/30
FST-01SZ prototype in action
![Page 21: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/21.jpg)
21/30
FST-01SZ prototype to be flashed and testedBeagleBone Green as SWD debugger
![Page 22: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/22.jpg)
22/30
Chinese test clip with pogo pin needles
![Page 23: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/23.jpg)
23/30
Experiences (1) - Reproducibility
Our purpose is reproducibility for computing freedom
I Component availability matters
I Tools’ data format matters, too
I As well as tools themselves
![Page 24: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/24.jpg)
24/30
Experiences (2) - Test plan
For reproducibility, if it is intended for (mass) production,
I Test plan should be a part of ”Open Hardware Design”
I I’d like to propose a practice publishing a test plan forhardware design
![Page 25: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/25.jpg)
25/30
Experiences (3) - China
It’s good to learn Chinese culture for better communication
I The holiday seasons (Chinese New Year, National Day)
I How Taobao and Alibaba work (for unique parts)
I Relationship between person is so importantI It’s good you meet in person occasionally
I Better to confirm: exact part, exact material, date...
![Page 26: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/26.jpg)
26/30
Experiences (4) - China
I Specifying manufacturer and MPN (ManufacturerProduct Number) is not enoughI it’s OK, when it’s available in Digikey, Mouser, etc.I when it’s a Chinese unique part not available there...I better to confirm with your own eyes
I For them, it’s a kind of reference number
I Remember: the copycat culture
I I like it!: Re-implementation is good for improvementand innovation!
![Page 27: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/27.jpg)
27/30
Experiences (5) - ShenZhen
Another big city in China
I Computer and electronics
I Many young engineers
I QR-code payment
I Surveillance system and “SECURITY” persons
![Page 28: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/28.jpg)
28/30
To summarize
I In 2011, I started using PCB service in ShenZhenI Mainly because it’s cheap
I Things have been evolved a lot in China
I Now, good PCBA service is also available
I And many unique advantages, like:I GD32F103TBI “Wrist-Board”I BeagleBone GreenI Test clip with pogo pin needles
I I take advantage of those things in ShenZhen
I ... to achieve good product
![Page 29: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/29.jpg)
29/30
Discussion
Here are my questions (and my children’s one)...
I How do you maintain your hardware design in a repo?I Do you also put the output (gerber) to a repo?
I How do you ensure the output is same as yours?I Do you use some automation (with CI/CD)?
I How do you care about reproducibility?
I If it is so reproducible, why people buy from you, papa?I Well, I don’t know... but...I There is a tribe called hackers...
![Page 30: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/30.jpg)
29/30
Discussion
Here are my questions (and my children’s one)...
I How do you maintain your hardware design in a repo?I Do you also put the output (gerber) to a repo?
I How do you ensure the output is same as yours?I Do you use some automation (with CI/CD)?
I How do you care about reproducibility?
I If it is so reproducible, why people buy from you, papa?
I Well, I don’t know... but...I There is a tribe called hackers...
![Page 31: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/31.jpg)
29/30
Discussion
Here are my questions (and my children’s one)...
I How do you maintain your hardware design in a repo?I Do you also put the output (gerber) to a repo?
I How do you ensure the output is same as yours?I Do you use some automation (with CI/CD)?
I How do you care about reproducibility?
I If it is so reproducible, why people buy from you, papa?I Well, I don’t know... but...
I There is a tribe called hackers...
![Page 32: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/32.jpg)
29/30
Discussion
Here are my questions (and my children’s one)...
I How do you maintain your hardware design in a repo?I Do you also put the output (gerber) to a repo?
I How do you ensure the output is same as yours?I Do you use some automation (with CI/CD)?
I How do you care about reproducibility?
I If it is so reproducible, why people buy from you, papa?I Well, I don’t know... but...I There is a tribe called hackers...
![Page 33: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/33.jpg)
30/30
Questions?
Happy Hacking!
![Page 34: FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free ... · 1/30 FST-01SZ (Flying Stone Tiny 01 revision ShenZhen) free hardware design for Gnuk Token Niibe Yutaka gniibe@fsij.org](https://reader036.vdocuments.us/reader036/viewer/2022081702/5f923baed05ed172d63e6da8/html5/thumbnails/34.jpg)
30/30
Questions?
Happy Hacking!