Skip to content

Commit

Permalink
README: update securechip model and other small fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
benma committed Nov 7, 2022
1 parent eef2092 commit 0161e4e
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 10 deletions.
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
![CI](https://github.com/digitalbitbox/bitbox02-firmware/workflows/ci/badge.svg?branch=master)

The BitBox02 is a hardware wallet that simplifies secure handling of crypto coins through storing
private keys and signing transactions. The content of this repository is the bootloader and
firmware used on the device. The BitBox02 is meant to be used primarily with the [BitBox
App](https://github.com/digitalbitbox/bitbox-wallet-app), although third party integration is
private keys and signing transactions. The content of this repository is the bootloader and firmware
used on the device. The BitBox02 is meant to be used primarily with the
[BitBoxApp](https://github.com/digitalbitbox/bitbox-wallet-app), although third party integration is
possible through the BitBox02 API.

The main functionality of the firmware is the following:
Expand All @@ -24,25 +24,23 @@ The main functionality of the firmware is the following:
* Display the receive address, transaction amount and network fee and sign each input after
confirmation.


## Architecture

<p align="center"><img src="./doc/bb02-firmware-arch.svg" width="80%" /></p>

The main chip on the device is the microcontroller from Microchip (atsamd51j20a). This chip is used
The main chip on the device is the microcontroller from Microchip (ATSAMD51J20A). This chip is used
for communication to the BitBoxApp via USB, to the user via the sliders and to the secure element
(atecc608a) via I2C.
(ATECC608B) via I2C.

### Sliders

The sliders along the edges of the device are used for user input. There are three input gestures:
The sliders along the edges of the device are used for user input. There are three input gestures:
* Tap
* Slide
* Hold to confirm

<p align="center"><img src="./doc/bb02PwEntry.gif" /></p>


### USB

The USB communication is implemented using the request-response pattern with encrypted protobuf
Expand Down
37 changes: 35 additions & 2 deletions doc/bb02-firmware-arch.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0161e4e

Please sign in to comment.