Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • card10 / logix
  • Anne Jan Brouwer / logix
  • kgz / logix
  • Andreas Schildbach / logix
  • Mot / logix
  • 9R / logix
  • Thomas Mellenthin / logix
  • Jochen Sprickerhof / logix
  • Salve J. Nilsen / logix
  • marble / logix
  • Steven Kruyswijk / logix
  • Astro / logix
  • genotest / logix
  • _luc / logix
  • Tim / logix
  • Superwallah / logix
  • Martin U / logix
  • Pixtxa / logix
  • Niklas Roy / logix
  • Deus Figendi / logix
20 results
Select Git revision
  • patch-4
  • patch-3
  • patch-2
  • patch-1
  • master
5 results
Show changes

Commits on Source 252

152 additional commits have been omitted to prevent performance issues.
184 files
+ 4516
495
Compare changes
  • Side-by-side
  • Inline

Files

+1 −1
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@ trigger build:
    image: python:alpine
    image: python:alpine
    variables:
    variables:
        GIT_CLONE_STRATEGY: none
        GIT_CLONE_STRATEGY: none
        TRIGGER_URL: https://git.card10.badge.events.ccc.de/api/v4/projects/2/trigger/pipeline
        TRIGGER_URL: https://git.flow3r.garden/api/v4/projects/2/trigger/pipeline
        TRIGGER_REF: master
        TRIGGER_REF: master
    script:
    script:
        - |
        - |

README.md

deleted120000 → 0
+0 −1
Original line number Original line Diff line number Diff line
_index.md
 No newline at end of file

_footer.md

0 → 100644
+0 −0
Original line number Original line Diff line number Diff line

_header.md

0 → 100644
+8 −0
Original line number Original line Diff line number Diff line
---
title: logo placeholder
---

{{< rawhtml >}}
<a class="baselink" href="/">card10</a>
{{< /rawhtml >}}
+45 −30
Original line number Original line Diff line number Diff line
---
---
title: Home
title: Home
---
---
## card10 handout: Card10 handout is closed. Handout opens Day2 - 18:00
{{< figure src="/media/watchface.jpg" link="/media/watchface.jpg" title="The card10 with its default watch face" width="300px" class="floatright">}}
> ~~still blue vouchers only, white vouchers likely not before day3~~


**Update**: Only **white** vouchers today, **blue** vouchers likely not before day 3 
# card10

**card10** (From Ancient Greek καρδία (kardía, "heart")) is the name of the badge for the 2019 [Chaos Communication Camp](https://events.ccc.de/camp/2019/wiki/Main_Page).

It features an ECG sensor, Bluetooth Low Energy, an optical pulse sensor, a complete IMU with magnetometer and an environmental sensor.


## Helpdesk Day2 from ca. 13:00
# News
## current firmware version: Eggppppplant (as of day3-00:23)
## Firmware Update: Queer Quinoa (as of 2021-12-25)
It is very easy to [update your card10 firmware](/en/firmwareupdate) with just a USB-C cable. The update instructions
It is very easy to [update your card10 firmware](/firmware/firmwareupdate) with just a USB-C cable. The update instructions
also contain a list of the existing firmware releases.
also contain a list of the existing firmware releases.


# card10
## Virtual card10 Workout
We'll meet up again, still in virtual space, on 2021-09-19 at <https://meet.ffmuc.net/card10-workout>.  Hope to see you there!


Welcome to card10 Wiki. You can [browse](https://git.card10.badge.events.ccc.de/card10/logix) this wiki source and [read more](/en/gitlab) about our GitLab instance.
## card10 meetup at rc3
Day 4 (2020-12-30) 14:00 to 16:00 CET. muccc villag cellar. Jitsi: https://jitsi.rc3.world/card10-0b37c


**card10** is the name of the badge for the 2019 [Chaos Communication Camp](https://events.ccc.de/camp/2019/wiki/Main_Page). 
## rC3 is coming!
What role(s) can play card10 in a distributed, remote conference? Brainstorming about connectivity, functionalities, interactions: [card10 at rC3](/events/card10_at_rc3)


### [Getting started](/en/gettingstarted) 
### [Getting started](/tutorials/gettingstarted) 
You just received your card10, what now? The [Getting started](/en/gettingstarted) page has some advice how to assemble and use the card10.
You just received your card10, what now? The [Getting started](/tutorials/gettingstarted) page has some advice how to assemble and use the card10.


### [First interhacktions](/en/firstinterhacktions)
### [First interhacktions](/interhacktions/firstinterhacktions)
After playing around with card10 a bit, you want to learn how to write your own software. Even if you have never programmed before, it is super easy to make some LEDs blink on card10 :)
After playing around with card10 a bit, you want to learn how to write your own software. Even if you have never programmed before, it is super easy to make some LEDs blink on card10 :)


### [tl;dr](/en/tldr)
### [tl;dr](/faq/tldr)
Spare me the details just give me the links to the docs!
Spare me the details just give me the links to the docs!


## Overview

> <img class="center" alt="Photo of the card10 badge" src="/media/ECKyISOXsAYDJZl.jpg"  width="420" height="auto" align="center">
>
> Hello, my name is card10

### Community
### Community
  - [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat): [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge)
  - or [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)) (mirror): [`#card10badge:asra.gr`](https://matrix.to/#/#card10badge:asra.gr)
  - [GitLab: `https://git.card10.badge.events.ccc.de`](https://git.card10.badge.events.ccc.de/explore/groups/)


### Social Media
You can reach us via our chat room (libera IRC and Matrix), Twitter, Mastodon and our GitLab instance.
  - [`@card10badge@chaos.social`](https://chaos.social/@card10badge)

  - [`twitter.com/card10badge`](https://twitter.com/card10badge)
Please check out the [community page](/community) on how to do that.


### [FAQ](/en/faq)
### [FAQ](/faq)
<!--- Please add this also to en/events.md -->


### Events
### Events
  - Ongoing:
  - Events [archive](/events).
     - **card10 reworking/soldering/firmware/etc.**: card10 village (R8):

       - firmware work, please bring your laptop with a clone of the firmware git and the [toolchain](https://firmware.card10.badge.events.ccc.de/how-to-build.html)

### News Archive

## Hello 36C3

Our assembly is here: [c3nav](https://36c3.c3nav.de/l/card10/@0,491.08,374.33,5)

Please stop by at any time :)


We are working on a workshop schedule and post it on the [workshop page](/events/workshops/)

## Camp was wonderful, see you at 36C3
if you still have a voucher (white or blue), bring it to congress and you might be able to redeem it against one of the card10s we are reparing in the meantime.

No sale of card10s!

## Got a card10 you don't use or need one for your next project?
The card10 exchange point is [here](/other/card10exchange)

app.md

deleted100644 → 0
+0 −3
Original line number Original line Diff line number Diff line
### App

Apps for android and apple devices are being made.
 No newline at end of file
+12 −5
Original line number Original line Diff line number Diff line
@@ -2,20 +2,27 @@
title: Companion App
title: Companion App
---
---


{{< rawhtml >}}
<div class="p-notification--caution">
<div class="p-notification--caution">
    <p class="p-notification__response">
    <p class="p-notification__response">
        <span class="p-notification__status">Warning:</span>
        <span class="p-notification__status">Warning:</span>
        We are still in developing the Companion App for iOS and Android
        We are still in developing the Companion App for iOS and Android
    </p>
    </p>
</div>
</div>
{{< /rawhtml >}}


## We need really help, please follow us [here](developing)
## We need really help, please follow us [here](developing)


# Android / F-Droid releases
## Android / F-Droid releases


You can find the latest release of the Companion App in the CCC F-Droid repository.
You can find the latest release of the Companion App in the F-Droid repository:


To add the repository, open F-Droid, go to Settings -> Repositories -> +.
[Companion App for the card10 Chaos Communication Camp badge](https://f-droid.org/app/de.ccc.events.badge.card10)


[Link](https://fdroid.gitlab.io/ccc/)
## iOS Testflight builds
[![https://fdroid.gitlab.io/ccc/](https://fdroid.gitlab.io/ccc/icon.png)](https://fdroid.gitlab.io/ccc/)

**[https://testflight.apple.com/join/oqZhY70M](https://testflight.apple.com/join/oqZhY70M)**

 ⚠️ Please note ⚠️ We've got a lot of trouble pairing with the card10. If your want to connect to the card10, follow the instructions on the [development page](developing). 

[![https://testflight.apple.com/join/oqZhY70M](http://api.qrserver.com/v1/create-qr-code/?color=000000&bgcolor=FFFFFF&data=https%3A%2F%2Ftestflight.apple.com%2Fjoin%2FoqZhY70M&qzone=1&margin=0&size=400x400&ecc=L)](https://testflight.apple.com/join/oqZhY70M)
+626 KiB

File added.

No diff preview for this file type.

+6 −2
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@ You can find the repositories for the apps here:
* [git.card10.badge.events.ccc.de/card10/companion-app-android](https://git.card10.badge.events.ccc.de/card10/companion-app-android/)
* [git.card10.badge.events.ccc.de/card10/companion-app-android](https://git.card10.badge.events.ccc.de/card10/companion-app-android/)
* [git.card10.badge.events.ccc.de/card10/companion-app-ios](https://git.card10.badge.events.ccc.de/card10/companion-app-ios/)
* [git.card10.badge.events.ccc.de/card10/companion-app-ios](https://git.card10.badge.events.ccc.de/card10/companion-app-ios/)


Please join the channel [#card10companion:asra.gr](https://riot.im/app/#/room/#freenode_#card10companion:matrix.org)
Please join the channel [`#freenode_#card10companion:matrix.org`](https://riot.im/app/#/room/#freenode_#card10companion:matrix.org)


### Android / F-Droid nightly
### Android / F-Droid nightly


@@ -23,10 +23,14 @@ If you are able to create debug logs and create Issues feel free to subscribe th


 ⚠️ Please note ⚠️ We've got a lot of trouble pairing with the card10. If your want to connect to the card10:
 ⚠️ Please note ⚠️ We've got a lot of trouble pairing with the card10. If your want to connect to the card10:
 
 
* checkout the [ios-workarounds branch](https://git.card10.badge.events.ccc.de/card10/firmware/tree/ios-workarounds) of the firmware repository
* checkout the [ios-workarounds branch](https://git.card10.badge.events.ccc.de/card10/firmware/commits/plaetzchen/ios-workaround) of the firmware repository
* rebase the branch on the current firmware master
* rebase the branch on the current firmware master
* build a firmware image
* build a firmware image
* flash that image on the card10
* flash that image on the card10
* The ios-workarounds branch basically exposes all characteristics publicly, so everybody can connect to your card10 and read / write characteristic, so this is clearly only a development helper and not ment for day-to-day usage
* The ios-workarounds branch basically exposes all characteristics publicly, so everybody can connect to your card10 and read / write characteristic, so this is clearly only a development helper and not ment for day-to-day usage


**OR**

* Use [this file](https://git.card10.badge.events.ccc.de/card10/logix/blob/master/app/card10-ios-branch.bin) and transfer it as *card10.bin* over USB to your card10 

[![https://testflight.apple.com/join/oqZhY70M](http://api.qrserver.com/v1/create-qr-code/?color=000000&bgcolor=FFFFFF&data=https%3A%2F%2Ftestflight.apple.com%2Fjoin%2FoqZhY70M&qzone=1&margin=0&size=400x400&ecc=L)](https://testflight.apple.com/join/oqZhY70M)
[![https://testflight.apple.com/join/oqZhY70M](http://api.qrserver.com/v1/create-qr-code/?color=000000&bgcolor=FFFFFF&data=https%3A%2F%2Ftestflight.apple.com%2Fjoin%2FoqZhY70M&qzone=1&margin=0&size=400x400&ecc=L)](https://testflight.apple.com/join/oqZhY70M)

community/_index.md

0 → 100644
+20 −0
Original line number Original line Diff line number Diff line
---
title: Community
weight: 10
---

Please get in touch with us. We are always happy to help out and get your card10 in shape!

## Chat
  - [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat): [`libera.chat#card10badge`](https://web.libera.chat/#card10badge)
  - mirrored to [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)) (mirror): [`#card10badge:libera.chat`](https://matrix.to/#/#card10badge:libra.chat)
    - If you can please join via IRC directly. Bridging IRC channels to Matrix is unreliable at best.

## Social Media
  - [`@card10badge@chaos.social`](https://chaos.social/@card10badge)
  - [`twitter.com/card10badge`](https://twitter.com/card10badge)

## Bug reports and development
  - [GitLab: `https://git.card10.badge.events.ccc.de`](https://git.card10.badge.events.ccc.de/explore/groups/)

You can [browse](https://git.card10.badge.events.ccc.de/card10/logix) this wiki's source and [read more](/firmware/gitlab) about our GitLab instance.

de/.gitkeep

deleted100644 → 0
+0 −1
Original line number Original line Diff line number Diff line

de/_index.md

deleted100644 → 0
+0 −45
Original line number Original line Diff line number Diff line
---
title: Deutsch
---
## card10-Ausgabe: Du kannst ab jetzt weiße Gutscheine gegen card10s beim card10 assembly tauschen.
## Aktuelle Firmware-Version: card10s werden mit dem aktuellen Release "Asparagus" verteilt.
Es ist sehr einfach, deine [card10 firmware zu updaten](/de/firmwareupdate) indem du ein USB-C-Kabel benutzt. Die Update-Anleitung hat auch eine Liste mit existierenden Firmware-Versionen.

# card10

Willkommen im card10 Wiki. Du kannst diese Wikiquelle [browsen](https://git.card10.badge.events.ccc.de/card10/logix) mehr über unsere Gitlab-Instanz [lesen](/de/gitlab).

**card10** ist der Name für das Badge des [Chaos Communication Camp](https://events.ccc.de/camp/2019/wiki/Main_Page). 

### [Los geht's](/de/gettingstarted) 
Du hast gerade dein card10 empfangen. Was jetzt? Die [los geht's](/de/gettingstarted) Seite hat ein bisschen Hilfe wie du das card10 zusammen baust und benutzt.

### [Erste Interhacktionen](/de/firstinterhacktions)
Nachdem du ein bisschen mit card10 herumgespielt hast, willst du lernen, wie du deine eigene Software schreiben kannst. Auch wenn du noch nie programmiert hast, ist es super einfach, ein paar LEDs auf card10 zum blinken zu bringen :)

### [tl;dr](/de/tldr)
Erspar mir die Details, gib mir einfach die Links zur Doku!

## Übersicht

> <img class="center" alt="Photo of the card10 badge" src="/media/ECKyISOXsAYDJZl.jpg"  width="420" height="auto" align="center">
>
> Hallo, mein Name ist card10

### Community
  - [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat): [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge)
  - oder [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)) (mirror): [`#card10badge:asra.gr`](https://matrix.to/#/#card10badge:asra.gr)
  - [GitLab: `https://git.card10.badge.events.ccc.de`](https://git.card10.badge.events.ccc.de/explore/groups/)

### Social Media
  - [`@card10badge@chaos.social`](https://chaos.social/@card10badge)
  - [`twitter.com/card10badge`](https://twitter.com/card10badge)

### [FAQ](/de/faq)
<!--- Bitte auch zu de/events.md hinzufügen-->

### Events
  - Dauernd:
     - **card10 reparieren/löten/firmware/etc.**: card10 village (R8):
       - Firmware-Arbeit: Bitte bring deinen Laptop mit einem Klon des Firmware Git-Repos und der [toolchain](firmware.card10.badge.events.ccc.de/how-to-build.html)

de/firmwareupdate.md

deleted100644 → 0
+0 −12
Original line number Original line Diff line number Diff line
## Asparagus
Ab Tag 1, 18:00
Asparagus ist die firmware, die auf den card10s geladen ist, die an Tag 1 ab 18 Uhr ausgegeben wurden.

# Das Firmware-Release auf deinem card10 updaten
* lade die aktuelle Firmware `.zip` Datei auf deinen Computer herunter
* extrahiere sie
* setze dein card10 in den [USB storage modus](/de/gettingstarted#usb-storage)
* Kopiere die Dateien, die du gerade extrahiert hast, in den Hauptordner
* wirf dein Gerät aus (wenn du das auf der Kommandozeile unter Linux tust, vergiss das `sync` nicht)
* Schalte dein card10 aus und wieder an.

en/_index.md

deleted100644 → 0
+0 −4
Original line number Original line Diff line number Diff line
---
title: English
---
# English part of this wiki

en/accessories.md

deleted100644 → 0
+0 −7
Original line number Original line Diff line number Diff line
```
Title: Accessories
```

## Cases

- [3d printable cover](https://git.card10.badge.events.ccc.de/card10/cover)
+0 −13
Original line number Original line Diff line number Diff line
---
title: New GitLab Server
date: 2019-06-04
type: blog
---

We moved from our [Hamburg GitLab](https://gitlab.hamburg.ccc.de/card10/) to:

> [`https://git.card10.badge.events.ccc.de`](https://git.card10.badge.events.ccc.de/explore/groups/)

1. Please be aware this hosting is a work in progress. If you encounter any issues please let us know on Matrix or IRC (see below).
2. We are aware and working on GDPR compliance, for progress you can track this [issue](https://git.card10.badge.events.ccc.de/card10/meta/issues/1)
3. Social-Sign-On (Twitter, Github, ...) is coming soon

en/announcements/_index.md

deleted100644 → 0
+0 −4
Original line number Original line Diff line number Diff line
<!-- ---
title: Announcements
--- -->
- [2019-06-04 New Gitlab Server](2019-06-04-gitlab-server)

en/events.md

deleted100644 → 0
+0 −23
Original line number Original line Diff line number Diff line
---
title: Events
---
<!-- Please keep ongoing and current events in sync with _index.md -->
- Ongoing:
   - **card10 reworking/soldering/firmware/etc.**: card10 village (R8); for firmware work, please bring your laptop with a clone of the firmware git and the [toolchain](firmware.card10.badge.events.ccc.de/how-to-build.html)
- Upcoming:
   ...


<!-- past events, please remove any events you move here from _index.md to keep the home page clean -->
- Previous
 - card10 Soldering Session in Berlin: xHain Wed-Thurs 14&15. August starting at 10 am
 - card10 Soldering Session in Berlin: xHain Sat-Sun 10.-11. August starting at 10 am
 - card10 meetup in Berlin: xHain 06.08. ~~19:00~~ => 20:00
 - card10 meetup in Berlin: xHain 05.06. 20:00
 - card10 meetup in Berlin: afra 21.06. 19:00
 - card10 meetup in Berlin: xHain 14.06. 19:00
 - card10 at the [GPN19](https://entropia.de/GPN19:There_will_have_been_a_camp_badge:_We%27re_reconstructing_future_technology_and_you_can_help_us_with_this_mission)
 - CCCamp2019 Badge Workshop at #eh19: [Description](https://conference.c3w.at/eh19/talk/VHFMJ7/), 2019-04-21, 14:30–15:30
 - CCCamp 2019 Badge at #eh19 (easterhegg2019): [Description](https://conference.c3w.at/eh19/talk/DA7KTT/), [Recording](https://media.ccc.de/search/?q=CCCamp+Badge+Talk)
 - **card10 [talk](https://fahrplan.events.ccc.de/camp/2019/Fahrplan/events/10365.html)**: Curie Wed 21.08. 12:00
 - **card10 firmware workshop**: card10 village (R8), Sun 18.08. 16:00
 No newline at end of file

en/firmware/bootloader.md

deleted100644 → 0
+0 −59
Original line number Original line Diff line number Diff line
---
title: Bootloader
---

# `card10` Bootloader

The bootloader allows you to:

 - Change the software that the `card10` is executing
 - Rescue a `card10` that does not have working software anymore


The bootloader can be activated by pressing the lower right button while turning on the `card10`:

<insert picture here>


Afterwards your operating system will show a new device attached via USB. You can now write and modify files which are on your `card10`. Simply copy all files from a firmware release to the file system and your `card10` is good to go. Simply turn off the `card10` using the button on the top left and turn it back on.

IMPORTANT: Make sure to use your operating "Eject Drive" feature before unplugging or turning off your `card10` (no, `umount` and `sync` are not enough!). This is a know limitation at the moment.

## Updating the Bootloadder

The bootloader can be updated without a debugger. To be documented.

## Inner Workings

The bootloader tries to mount the external flash chip (8 MB) as a FAT file system and then read the `card10.bin` file from it. If the file can be read and is not corrupted, the bootloader checks if the internal flash already contains this file and writes it to the internal flash if needed. Afterwards the bootloader tries to execute the file inside the internal flash.

 - It is not possible to read the file from the internal flash using the bootloader
 - If the bootloader fails to read a `card10.bin` file from the external flash, it will try to boot the file inside the internal flash.


## Trouble Shooting
If operating does not show a file system after activating the bootloader and attaching it via USB, a few things might be at fault:

 - The file system might be corrupted. Please try to create a new FAT file system and copy over the data from a working firmware release.
 - The USB cable might be broken. Check if your computer recognized a new device
 - The `card10` might still be off. Make sure it is actually on. This can be quite hard as the bootloader does not show anything at the moment.


## Inner Inner Workings

The bootloader sits at the beginning of the internal flash. It starts at address `0x1000 0000`. After the ROM code is done initializing the chip, it transfers execution to the code which address `0x1000 0004` points to. The bootloader can have a maximum size of 64 kB (as defined in `max32665_boot.ld`). At address `0x1001 0000` the code for core 0 starts (as defined in `max32665_core0.ld`. This is the address where the bootloader starts to write the contents of `card10.bin`. It then jumps to the address which `0x1001 0004` points to. It takes care to initialize the stack pointer and `SCB->VTOR` before doing so.

Please make sure to rename the `card10.bin` file to something else if you do not want the bootloader to overwrite the contents of the internal flash. This is important if you use GDB to flash your own experimental code. All code gets linked to address `0x1001 0000` (if compiled for core 0) and needs the bootloader to boot into it. This can only work if the bootloader is not able to fine a valid image on the external flash.

The bootloader checks the CRC of `card10.bin`. It needs to be 0. The script `crc_patch.py` in the `bootloader` directory is used to pad a binary file so that its CRC is 0.


### Multi image support
At the moment there is no support for multiple images to be flashed to different offsets. The single `card10.bin` files needs to contain all needed images and the necessary padding between them. This means that to support core 0 as well as core 1 with fixed offsets, padding bytes with the value `0xff` (to save the flash from write cycles) needs to added.

## Known Issues

Please contribute by improving the bootloader:

 - Does properly work with the `sync` or `umount` commands on the host. The host need to `eject` the drive
 - Does not ask the user when it is about to replace the contents of the internal flash
+0 −6
Original line number Original line Diff line number Diff line
---
title: Epicardium API Development
---

## Obsolete:
Please tend to https://firmware.card10.badge.events.ccc.de/epicardium/overview.html
 No newline at end of file

en/firmware/memorymap.md

deleted100644 → 0
+0 −6
Original line number Original line Diff line number Diff line
---
title: Memory Map
---

## Obsolete:
Please tend to https://firmware.card10.badge.events.ccc.de/memorymap.html
 No newline at end of file

en/firmware/pycardium_modules.md

deleted100644 → 0
+0 −6
Original line number Original line Diff line number Diff line
---
title: Pycardium Modules Development
---

## Obsolete
Please tend to https://firmware.card10.badge.events.ccc.de/pycardium-guide.html

en/firmwareupdate.md

deleted100644 → 0
+0 −35
Original line number Original line Diff line number Diff line
---
title: Current Release
---
# Currently: Eggppppplant (day 3 - 00:23)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.5-Eggppppplant.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v15-2019-08-23-0018-eggppppplant)

# Update the firmware release on your card10
* download the current firmware `.zip` file to your computer
* extract it
* put your card10 into [USB storage mode](/en/gettingstarted#usb-storage)
* copy over the files you just extracted directly into the main folder. Note: on macOS devices it is recommended to use the terminal, e.g. for the broccoli release: `cp -r ~/Downloads/card10-v1.2-broccoli/* /Volumes/CARD10/`
* eject your device (if you're doing this in the command line: don't forget the `sync` on linux)
* switch your card10 off and on again

# Previous Releases

# DaikonRadish (day 2 - 20:00)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.4-DaikonRadish.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v14-2019-08-22-1943-daikonradish)

# CCCauliflower (day 2 - 00:30)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.3-cccauliflower.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v13-2019-08-22-0012-cccauliflower)

## Broccoli (day 1 - 19:00)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.2-broccoli.zip

## Asparagus
As of Day 1, 18:00
Asparagus is the firmware that is loaded on the card10s handed out on day 1 from 18:00
There are currently no previous releases


en/gettingstarted.md

deleted100644 → 0
+0 −77
Original line number Original line Diff line number Diff line
---
title: Getting Started
---

You just received your card10 - what now?

## card10 assembly

[Here](/en/assembleyourcard10)'s a step by step guide with pictures for assembling your card10

## card10 navigation
There are four buttons on the card10 _harmonic_ board: On the top left, just above the USB-C connector is the POWER button. Below is the LEFT button. The buttons on the right side are closer together. On this side, the top button is the SELECT button, the one below it is the RIGHT button.
 
<img class="center" alt="Drawing of card10 with button names" src="/media/card10buttons.svg"  width="220" height="auto" align="center">


### switching your card10 on and off

To switch on card10, briefly press the POWER button. To switch it off again, press and hold down the power button for several seconds (usually this is around three seconds, however for some apps it can take over ten seconds).

### starting apps

When your card10 is switched on, a short press of the POWER button
brings you to the app menu. You can scroll down with the RIGHT button, 
and up with the LEFT button. The SELECT button starts the selected app. 
The POWER button starts the app called 'main.py', which is also the app 
that will automatically start when you turn on your card10.

### choosing your personal state
Card10 comes with an app to set your [personal state](/ps). As with the nickname, enter the menu
by pressing the POWER button briefly. This time, select the `personal_state.py` app with the POWER button,
and navigate to your state with the LEFT and RIGHT buttons. Unlike the other apps, the state of the personal
state LED will remain blinking and glowing as you set it in the app.


### USB storage

Your card10 can function similar to a USB stick, if you start it in _USB storage mode_. You can use this mode to upload _configuration files_ and _micropython scripts_. To enter _USB storage mode_, first switch off your card10 with a long press of the POWER button. Next, hold down the RIGHT button and the POWER button, until your display shows the text "USB activated. Ready.".

Now when you connect the card10 to your laptop via USB, it will show up as a storage device. 

<div class="p-notification--caution">
  <p class="p-notification__response">
    <span class="p-notification__status">Important:</span>Don't forget to eject/unmount the card10 before unplugging it or pressing any buttons on the card10
  </p>
</div>


The USB storage mode is exited by briefly pressing the POWER button.

### setting your nickname
To set your nickname, create a file called `nickname.txt` on your laptop. 
Start your card10 in USB storage mode, then copy `nickname.txt` onto the card10. Eject the USB device.
Then briefly press the POWER button to exit the storage mode, and then a second time, to enter the menu.
You can scroll up and down using the LEFT and RIGHT buttons. 
Now look for an app called 'nickname.py', select it by pressing the SELECT button.
If you have successfully uploaded a `nickname.txt` file, your nickname will now show up on the display.
You can also upload a `nickname.json` file instead, to get some more options. 
Have a look at the [hatchery](https://badge.team/projects/card10_nickname) for more options of the app.

### adding apps

The [hatchery](https://badge.team/) also has more apps written by other card10 users. To get these apps on your card10,
you can either use the [app](/app), or you can upload them via USB storage: Download and extract the `tar.gz` files (or download all files individually). Put your card10 in [usb storage mode](/en/gettingstarted#usb-storage-mode), to add the files.
All apps are placed in the `apps` folder. In the `apps` folder, all apps have their own folder, named after the app name (e.g. `apps/app_name`). To add a new app,
create a folder with the name of the app, and then place all files for the app inside this folder. 

### activate BLE
Initially, BLE is disabled for privacy reasons. If you want to use it, you have to activate it first.

  * Via the menu: Select the ble.py from the menu and press the SELECT button to enable BLE. The board will restart with activated BLE. Deactivation can be done via the same app.
  * Manually: Start the card10 in _USB storage mode_ and add a file `ble.txt` with (exactly) the content `active=true` then reset the board.
 

## Next
Now it is time to start playing with the card10, writing your own micropython code!
Continue in the [first interhacktions](/en/firstinterhacktions) section.

en/prototype_distribution.md

deleted100644 → 0
+0 −47
Original line number Original line Diff line number Diff line
---
title: Distribution of Prototypes
---

**Hello fellow researcher,**

you want to become part of the card10 research team and help us find out how it will have improved everyone's experience at Chaos Communication Camp 2019?
Here's what you have to know:

* We have around 20 prototypes which we are trying to share with as many interested card10logists as possible. And there are many people interested in working with it.
* There's documentation in our [wiki](https://card10.badge.events.ccc.de/)
* We're trying to find out how the badge will have interacted (?) and used BLE to interface with other installations at camp the camp surroundings
* Cities with hackspaces can get a prototype if there's a volunteer for being an ambassador who takes care of the prototype (trying to avoid too much idle time)

## Cities that already have ambassadors

| City      | Hackerspace                                  | Ambassador  |
|-----------|----------------------------------------------|-------------|
| Amsterdam | [badge.team](https://badge.team)             | the_JinX    |
| Bamberg   | [backspace](https://hackerspace-bamberg.de/) | schinken    |
| Berlin    | [xhain](https://x-hain.de)                   | miriamino   |
| Bremen    | [ccc-hb](https://ccchb.de)                   | lilafisch   |
| Dresden   | [c3d2](https://c3d2.de/space.html)           | Astro       |
| Karlsruhe | [Entropia](https://entropia.de/)             | uberardy    |
| Mannheim  | [RaumZeitLabor](https://raumzeitlabor.de/)   | cheatha     |
| Munich    | [µc3](https://muc.ccc.de)                    | schneider__ |

Most ambassadors can be reached via the #card10badge Freenode/Matrix channel.


### Here's what you can do:
* Think about how you want to contribute/what you want to do with the prototype
* Join our [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)):( [`#card10badge:asra.gr`](https://matrix.to/#/#card10badge:asra.gr))/[IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) ( [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge))
channel and tell us what you want to do
* Talk to your city's ambassador
* Become an ambassador yourself
* We'll try to find a timeslot for you to work with the prototype
* We send it to you and after the time we agreed upon you send it back to us/the next person


### How to be a great card10logy department ambassador:
* Get more people involved to help with 'ambassadoring' ;P
* Invite others to chat about the card10
* Organise meetups to play with card10
* Invite related groups (wagenburg, fab labs, ...)
* Contact and encourage people who might have great ideas but are not aware of the project/too shy to ask
* Share your research in the card10logix wiki, matrix/irc and @card10badge

events/_index.md

0 → 100644
+25 −0
Original line number Original line Diff line number Diff line
---
title: Events
weight: 50
---
<!-- Please keep ongoing and current events in sync with _index.md -->
- Upcoming:
  - virtual card10 workout: 2021-09-19 at https://meet.ffmuc.net/card10-workout

<!-- past events, please remove any events you move here from _index.md to keep the home page clean -->
- Previous
  - DiVOC R2R: 2021-04-04 Bluetooth LE in MicroPython (auf der card10 badge) https://meet.ffmuc.net/card10-mp-ble
  - card10 [workout in Berlin](/events/workouts/berlin-2019-11-09): xHain, Sat-Sun, November 9th to 10th, 2019
  - **card10 reworking/soldering/firmware/etc.**: card10 village (R8); for firmware work, please bring your laptop with a clone of the firmware git and the [toolchain](https://firmware.card10.badge.events.ccc.de/how-to-build.html)
  - card10 Soldering Session in Berlin: xHain Wed-Thurs 14&15. August starting at 10 am
  - card10 Soldering Session in Berlin: xHain Sat-Sun 10.-11. August starting at 10 am
  - card10 meetup in Berlin: xHain 06.08. ~~19:00~~ => 20:00
  - card10 meetup in Berlin: xHain 05.06. 20:00
  - card10 meetup in Berlin: afra 21.06. 19:00
  - card10 meetup in Berlin: xHain 14.06. 19:00
  - card10 at the [GPN19](https://entropia.de/GPN19:There_will_have_been_a_camp_badge:_We%27re_reconstructing_future_technology_and_you_can_help_us_with_this_mission)
  - CCCamp2019 Badge Workshop at #eh19: [Description](https://conference.c3w.at/eh19/talk/VHFMJ7/), 2019-04-21, 14:30–15:30
  - CCCamp 2019 Badge at #eh19 (easterhegg2019): [Description](https://conference.c3w.at/eh19/talk/DA7KTT/), [Recording](https://media.ccc.de/search/?q=CCCamp+Badge+Talk)
  - **card10 [talk](https://fahrplan.events.ccc.de/camp/2019/Fahrplan/events/10365.html)**: Curie Wed 21.08. 12:00
  - **card10 firmware workshop**: card10 village (R8), Sun 18.08. 16:00
  - card10 [workout in Berlin](/events/workouts/berlin-2019-10-03): xHain, Thurs-Sun, October 3rd to 6th, 2019

events/awards.md

0 → 100644
+56 −0
Original line number Original line Diff line number Diff line
---
title: Awards
---

Idea: From time to time hold small award ceremonies to keep people motivated to contribute
to the card10 project


## 36C3

We will host a small awards ceremony at 36C3.

### Categories
 - Best documented project
 - Best use of a sensor (ECG, Accelerometer, etc...)
 - Best LED application (e.g. POV)
 - Best accessibility contribution
 - Best interaction with 36C3


### Submitting a contribution

You submit a contribution (be it an app, project, documentation, etc..) by entering it in the list of contributions at the end of this section.

You can also reach out to us via twitter, mastodon, matrix and IRC. We will add your contribution for you if needed.


### Date and Time

Unless otherwise noted the ceremony will take place Day 3, 20:00 at the card10 assembly.

Entries have to be made until Day 3, 18:00.


### Judging

Judging will be done by original contributors to the card10 project. For the accessibility category we will approach relevant teams at 36C3.

### Prizes

We are still collecting, but at least there will be a few r0kets and rad1os available.


### Contributions

- Pixtxa
  - [36C3 Clock](https://badge.team/projects/36c3_clock)
  - [Cyberband](https://badge.team/projects/cyberband)
  - [Monster++](https://badge.team/projects/monster)
  - [Timer](https://badge.team/projects/timer)
- Royrobotiks
  - [Control Center](https://badge.team/projects/control_center)
  - [Tiny Typer](https://badge.team/projects/tiny_typer)
  - [Magnetometer](https://badge.team/projects/magnetometer)
  - [Micromarble](https://badge.team/projects/micromarble)
- Your contribution
+61 −0
Original line number Original line Diff line number Diff line
---
title: card10 at rC3
---

## Brainstorming
Instead of the regular 37C3, we will have the first ever remote congress end of this year, which is dubbed "rC3"

How can card10 interact with a remote and distributed chaos event?
How can card10 connect to other card10s anywhere on the globe?
What services could it provide, what services could it make use of?

### PTT or mute/unmute input device 
Connect to the local PC via bluetooth LE, display via RGB LEDs the (un)mute and (un)deafen status of 
- the OS communications device
- the application that uses the communications device
    - there might be multiple and changing applications, especially for speakers, heralds, VOC and other angels (e.g. mumble, BBB, OBS, discord, teamspeak etc...)
    - different OS's will handle audio differently. Audio routing is a pain. Reliable indication of the current state would improve the situation a lot

### virtual applause
- detect if the wearer is clapping their hands via one of the accelerometers
- push this info to a central server
- somehow show in an overlay in the live stream or via an indicator next to the streaming window how many card10 wearers are clapping in real time


### Tools for speakers, heralds, VOC angels 
Timing and handing over who is speaking is challenging to coordinate due to the latency of video conference tools. can card10 help here by e.g.
Notifications who is 
- ready to talk
- waiting to talk
- wanting to ask a question from the audience and waiting for the speaker to finish their sentence
- having a problem and needs help from the team
- presentation timer

Providing real time feedback from the audience to the speaker
- showing on the LED bargraph how many people are applauding virtually (see above)
- pulsing the vibration alarm with increasing intensity the more people are clapping

Pushing info about the current state, like the typical online status or the state app at camp (yes, that is potentially sensitive information that the wearer should be able to have control over who is allowed to see it, like with basically any messenging app)
- online and available
- online but afk (taking a break, eating,...)
- not online (connection problems, blackout, sleeping,...)

### Pager
display short texts on the LCD that can be sent via
- the compantion app
- via the POC? Possible to subscribe the compantion app to the EVPN, registering an extension that can receive text messages or can be paged?
- IRC, matrix, twitter, rocket chat, whatever 
- display the sender and if they want to be called via DECT/SIP asap/soonish/when convenient/...


### Fahrplan interaction

#### Show on the display which segments are up next
probably best if requested by presisng a button pull the info required via an API from the fahrplan app that needs to be installed on the same phone as the card10 companion app

#### Notification when a favourite segment is about to start
The fahrplan app allows flagging talks as favourites. 
Pull those flags and notify the wearer by a configurable alarm (e.g. pulse the vibration alarm, flash LEDs, show the name of the upcoming talk on the display for a few seconds or until the alarm is dismissed by pressing a button)

#### Notification for self organized sessions
same for the database that contains the SOS's (afaik that calendar has been in the congress wiki until now)

events/rc3.md

0 → 100644
+15 −0
Original line number Original line Diff line number Diff line
---
title: card10 rC3 Assembly
---

We will have an assembly in the cellar of the muccc at rC3:

## Location and Time

- Location: [rc3 cellar](https://test.visit.at.wa-test.rc3.cccv.de/_/global/raw.githubusercontent.com/muccc/rc3test/master/main.json) Attention: Link subject to change
- Times:  Day 1 - Day 4
- Capacity: virtual


Meetup: Day 4 (2020-12-30) 14:00 to 16:00 CET
+5 −0
Original line number Original line Diff line number Diff line
---
title: Workouts
---

.
+96 −0
Original line number Original line Diff line number Diff line
---
title: Workout Berlin 2019-10-03
---

The first card10 workout will happen at xHain in Berlin from October 3rd to 6th, 2019.

## Location and Times

- Location: [xHain](https://x-hain.de/en/page/about/): Grünberger Str. 16, 10243 Berlin
- Times:  2019-10-03 to 2019-10-06, all day in general, details to follow
- Capacity: Around 10-20 people

## People
 - rahix
 - lilafisch
 - peter
 - schneider
 - hds
 - paulaner
 - YOU?

## Activities
### Firmware
We will most likely work on integating more Merge Requests into the firmware, creating a new release.

### Hardware
If you have issues with your hardware swing by and we can see if there is a quick fix. We will have spare parts!

### Software
We plan to experiment with some more phones to improve BLE support. If you want to work on the wiki feel free too.
Lots of people wo know around ;)

### Wearware
We still have plenty of conductive thread and a lot of ideas. Do you have some too?

## Events

We can make us of xHain during the times as mentioned above. If you want to allocate some time
for specific workshops or similar, mention it here:

Title | Person | Start Time / Day | Duration
------|--------|------------------|---------
ECG logging documentation /experiments | schneider | Thursday 13:00 | 4 hours
@Berlindroid-Meetup | | Thursday 19:00 | 5 hours
card10 repair cafe | schneider | Friday 14:00 | 2 hours
card10 team lunch? | all | Friday 15:30 | 1.5 hours
generative 3D printed card10 cover design | Niklas Roy | Friday 17:30 | 1.5 hours
MicroPython introduction | lilafisch | Friday 20:00 | 1.5 hours
app discovery | lilafisch | Saturday 11:00 | 1.5 hours
card10 repair cafe | schneider | Saturday 14:00 | 2 hours
card10 documentation | lilafisch | Saturday 14:00 | 2 hours
Sewing wearables | lilafisch | Saturday 16:00 | 2.5 hours
card10 @ 36C3 #1 (dinner) | schneider | Saturday 18:30 | 1.5 hours
BME680 hacking | schneider | Saturday 20:00 | 4 hours
card10 repair cafe | schneider | Sunday 14:00 | 2 hours
card10 @ 36C3 #2 (also: next workout)| schneider | Sunday 16:30 | 1.5 hour

### generative 3D printed card10 cover design
Learn more about the generative 3D printed card10 covers (https://github.com/royrobotiks/card10_cover),
get inspired for you own generative designs, and learn skills for implementing them with openSCAD.

### MicroPython introduction
If you haven't dared trying to write your own apps for your card10, now is your chance
to learn how to do it! Programming your card10 using MicroPython is easy to learn, and all
you need is your laptop (preferably linux), a usb-C cable, and of course your card10.

### App discovery
There are hundreds of card10 apps in the hatchery. Let's start the day by exchanging our
favourite discoveries, and trying some new ones.

### card10 @ 36C3
Camp is over, but congress is already coming up! Everyone is welcome to join collecting ideas and planning
card10 action for congress.

### Repair cafe
Open hardware means you can fix it! We're bringing some spare parts, and
plenty of assistance is around, so together we can restore the broken bits of some card10s.

Obviously, you should bring your card10 if you want to fix it ;), everything else will be around at the event.

### Documentation
Let's get together and make an effort to share what we know, or ask some new questions that
need answering and documenting.

Bring questions :) Also, a laptop will be very useful for writing documentation.

### Sewing wearables
Extend your card10 on the wristband, with some blinking LEDs. We'll have needles, thread, and LEDs.

You should definitely bring your card10, you can also bring your own LEDs, or
if you have any wearable sensors you'd like to attach we can try to figure out how to 
connect them to your card10 together.

## Accomodation

xHain is not a place to sleep, so please make sure you have some accomodation. Get in touch with us on IRC/Matrix if you don't know.
+62 −0
Original line number Original line Diff line number Diff line
---
title: Workout Berlin 2019-11-09
---

The second card10 workout will happen at xHain in Berlin on the weekend from November 9th - 10th, 2019.

## Location and Times
- Location: [xHain](https://x-hain.de/en/page/about/): Grünberger Str. 16, 10243 Berlin
- Times:  2019-11-09 to 2019-11-10, all day in general, details to follow
- Capacity: Around 10-20 people

## People
- andreas
- rahix
- schneider
- spacecarrot
- YOU?

## Activities
### Firmware
We will work on integating more Merge Requests into the firmware, and hopefully create a new release.

### Hardware & Repair Cafe
If you have issues with your hardware swing by and we can see if we can fix it.  We will have spare parts!

### Software
We plan to experiment with some more phones to improve BLE support.  If you want to work on the wiki
feel free too.  Lots of people who know around ;)

### Wearware
We still have plenty of conductive thread and a lot of ideas.  Do you have some too?


## Events
We can make us of xHain during the times as mentioned above. If you want to allocate some time
for specific workshops or similar, mention it here:

Title | Person | Start Time / Day | Duration
------|--------|------------------|---------
Be the first! | | |

### MicroPython introduction
If you haven't dared trying to write your own apps for your card10, now is your chance to learn how
to do it! Programming your card10 using MicroPython is easy to learn, and all you need is your
laptop (preferably Linux, but Windows and MacOS work as well), a USB-C cable, and of course your
card10.

### App discovery
There are hundreds of card10 apps in the hatchery. Let's start the day by exchanging our favourite
discoveries, and trying some new ones.

### Repair cafe
Open hardware means you can fix it! We are bringing some spare parts and plenty of assistance is
around, so together we can restore the broken bits of some card10s.

Obviously, you should bring your card10 if you want to fix it ;), everything else will be around at
the event.

## Accomodation

xHain is not a place to sleep, so please make sure you have some accomodation. Get in touch with us
on IRC/Matrix if you don't know.
+105 −0
Original line number Original line Diff line number Diff line
---
---
title: Workshops
title: Workshops
---
---
### Organising a workshop
 * from Day3, you can hold workshop at card0 village between 12:00 and 23:00, in 1 hr slots, starting at the full hour, check which slots are already used in the list below
 * for other days/times please coordinate with lilafisch
 * the card10 area is suitable for small scale (10 to 20 people), hands-on workshops
 * feel free to hold card10 workshops at other locations (e.g. Johnson) as well, but it is up to you to organise the room
 * for help, ask lilafisch


### Participating
### Participating
 * there is no sign-up, just turn up
 * There is no sign-up, just turn up
 * check the worksop descriptions to see if you should bring anything/have anything pre-installed on your laptop
 * Check the worksop descriptions to see if you should bring anything/have anything pre-installed on your laptop
 * you might also find more card10 related sessions on the cccamp19 [self organised sessions page](https://events.ccc.de/camp/2019/wiki/Static:Self-organized_Sessions)


## Past Workshops

### MicroPython on the card10 for complete beginners
  * Time: 36C3 Day 3, 12:00
  * Duration: 1-2 hours
  * Location: card10 assembly
  * Things to bring: a laptop and a card10
  * No knowledge of Python needed

### Using the pressure sensor and accelerometer with MicroPython
  * Time: 36C3 Day 3, 14:30
  * Duration: 1.5 hours
  * Location: card10 assembly
  * Things to bring: a laptop and a card10
  * Ideally you should already know how to program in MicroPython

### Seweable electronics with the card10 badge
  * Time: 36C3 Day 3, 18:00
  * Duration: 1-2 hours
  * Location: card10 assembly
  * Things to bring: a laptop and a card10
  * No knowledge of Python needed


### MicroPython on the card10 for complete beginners
  * Time: 36C3 Day 2, 17:00
  * Duration: 1-2 hours
  * Location: card10 assembly
  * Things to bring: a laptop and a card10
  * No knowledge of Python needed

### Micropython on card10 for complete beginners (DE + EN)
  * Time: Day 4, 15:00
  * Location: card10 area
  * bring a laptop and a usb-c cable
  * and your card10
  * no knowledge of python needed

### E-textile card10 workshop (DE + EN)
  * Time: Day 4, 18:30 - 20:30
  * Location: card10 area
  * bring: card10, laptop, USB-C cable
  * (EN) also useful: sewing needles, thread, through hole LEDs, needle nose pliers, snap fasteners
  * (DE) auch nuetzlich: naehnadeln, faden, 3mm oder 5mm LEDs (zum durchstecken), feine zangen zum draht biegen, druckknoepfe
   
  
### Pulsoxymetrie & ECG fuer Hacker (DE)
  * Time: Day 4, 21:00
  * Location: card10 area
  * ein Vortrag vom CERT

### ECG kit assembly
  * Time: Day 4, 20:30
  * Location: Hardware Hacking Area
  * ECG kits available at workshop and card10 assembly

### ECG kit assembly
  * Time: Day 4, 21:30
  * Location: Hardware Hacking Area
  * ECG kits available at workshop and card10 assembly



## Workshops
please keep chronological order


### Environmental and IMU sensor workshop
### Environmental and IMU sensor workshop
> ~~Time: Day 2, 19:00~~
> ~~Time: Day 2, 19:00~~
+17 −23
Original line number Original line Diff line number Diff line
---
---
title: FAQ
title: FAQ
---
---
## What should I bring to CCCamp 2019 so I can enjoy card10?
*I have noticed that the card10 needs some maintenance; most people carrying a card10 have brought their own tools for maintaining their card10, making it more individual, or adding functionality. In some places, maintenance stations are available, where card10's can be recharged, and tools and knowledge is shared*


According to current research, it is recommended to carry the following:
{{% notice info %}}
Deutsche Version: [FAQ](faq.de)
{{% /notice %}}


* A USB-C cable for plugging your card10 into your laptop USB port is key for charging and programming; USB-A on your laptop side is fine.
## How can I contribute?
Generally, there is a wide range of contributions that can be made to the firmware, the iOS and Android apps, the various methods of BLE communication, the user interface, the documentation, by reviewing existing work, and of course by creating your own [interhacktions](/interhacktions)!


Optional things that will come in handy:
If you don't know where to get started you can also have a look at some of the ideas for contributions we outlined [here](https://git.card10.badge.events.ccc.de/card10/logix/issues). If you have questions on the issue, please don't hesitate to comment or get in touch to the creator of the issue through our [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)):( [`#freenode_#card10badge:matrix.org`](https://matrix.to/#/#freenode_#card10badge:matrix.org))/[IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) ( [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge)) channel.
* A Torx T6 screwdriver for assembling card10
* A needle for sewing to the card10 wristband
* An android phone or iphone capable of communicating via [Bluetooth Low Energy](/en/ble) (BLE)



You can also be a great help by adding documentation to the [card10logix wiki](https://card10.badge.events.ccc.de). If you notice some information is missing, but you don't know the information that needs adding, you can also make us aware by [adding an issue](https://git.card10.badge.events.ccc.de/card10/logix/issues). Please make sure to describe in detail what information is missing.
## What can I contribute?
Generally, there is a wide range of contributions that can be made to the firmware, the IOs and Android apps, the various methods of BLE communication, the user interface, the documentation, by reviewing existing work, and of course by creating your own [interhacktions](/en/interhacktions)!

If you don't know where to get started you can also have a look at some of the ideas for contributions we outlined [here](https://git.card10.badge.events.ccc.de/card10/logix/issues). If you have questions on the issue, please don't hesitate to comment or get in touch to the creator of the issue through our [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)):( [`#card10badge:asra.gr`](https://matrix.to/#/#card10badge:asra.gr))/[IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) ( [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge)) channel.

You can also be a great help by adding documentation to the [card10logix wiki](https:://card10.badge.events.ccc.de). If you notice some information is missing, but you don't know the information that needs adding, you can also make us aware by [adding an issue](https://git.card10.badge.events.ccc.de/card10/logix/issues). Please make sure to describe in detail what information is missing.


## How does the so-called wiki work?
## How does the so-called wiki work?
To keep things easier to maintain (the r0ket wiki has been going for 8 years now!), we decided on a git/markdown based wiki for this year.
To keep things easier to maintain (the r0ket wiki has been going for 8 years now!), we decided on a git/markdown based wiki for this year.
@@ -37,15 +29,17 @@ Yes, a comfortable neoprene wristband comes with every card10. If you want somet
We recommend reinforcing the velcro hook side attachment by adding a seam along the sides of the velcro hook side piece.
We recommend reinforcing the velcro hook side attachment by adding a seam along the sides of the velcro hook side piece.


## Why should I consider keeping the protective foil on the display?
## Why should I consider keeping the protective foil on the display?
The display has a polarizing filter on. With the protective foil stuck on top, this filter is disabled. With some sunglasses this has the unfortionate effect that the card10 is difficult to read on your wrist.
The display has a polarizing filter. With some sunglasses this has the unfortionate effect that the card10 is difficult to read on your wrist. If you keep the protective foil stuck on top, the filter is effectively disabled.


## What can I do if the filesystem of my badge is read-only?
## What can I do if the filesystem of my badge is read-only?
tl;dr: `fsck`
tl;dr: `fsck`


One possible reason for a read-only filesystem is a set "dirty-bit". 
The [maintenance and repair](/maintenance) section of card10logix includes information about [filsystem repairs](/maintenance/filesystem).
To change this the linux tool fsck can be used. 

First the badge needs to be ejected safely, then it needs to be restartet and put back into "USB storage" mode.
## Help! My Display is not working / it cracked
The device should not be mounted. Now `lsblk` can help with finding the correct blockdevice.
During camp we discovered that the badge display is one of the parts that easily gets damaged.
Then you can check the filesystem with `fsck /dev/sdX` (replace `sdX` with the correct device).
If you get a crack due to a mechanical crash or similar incident you have to replace your display.
If neccessary the tool will ask if the "dirty bit" should be removed, this needs to be answered with yes. 

After this, the problem should be solved.
The [maintenance and repair](/maintenance) section of card10logix includes a [guide for display replacement](/maintenance/display).
 No newline at end of file

+5 −4
Original line number Original line Diff line number Diff line
---
---
title: FAQ
title: FAQ
hidden: true
---
---
## Was soll ich zum CCCamp 2019 mitbringen, damit ich Spaß mit card10 haben kann?
## Was soll ich zum CCCamp 2019 mitbringen, damit ich Spaß mit card10 haben kann?
*Ich habe bemerkt, dass das card10 ein bisschen Wartung braucht; die meisten Leute, die ein card10 mit sich tragen, haben ihre eigenen Werkzeuge zur Wartung des card10 mitgebracht, um es individueller zu gestalten oder Funktionalität hinzu zu fügen. An manchen Orten, sind Wartungsstationen verfügbar, wo card10s aufgeladen werden können und Werkzeuge und Wissen geteilt werden.*
*Ich habe bemerkt, dass das card10 ein bisschen Wartung braucht; die meisten Leute, die ein card10 mit sich tragen, haben ihre eigenen Werkzeuge zur Wartung des card10 mitgebracht, um es individueller zu gestalten oder Funktionalität hinzu zu fügen. An manchen Orten, sind Wartungsstationen verfügbar, wo card10s aufgeladen werden können und Werkzeuge und Wissen geteilt werden.*
@@ -11,15 +12,15 @@ Aktueller Forschung zufolge wird empfohlen, das folgende mitzubringen: :
Optionale Dinge, die nützlich sein werden::
Optionale Dinge, die nützlich sein werden::
* Ein Torx T6 Schraubenzieher, um card10 zusammen zu stellen
* Ein Torx T6 Schraubenzieher, um card10 zusammen zu stellen
* Eine Nadel, um Dinge auf das Armband zu nähen
* Eine Nadel, um Dinge auf das Armband zu nähen
* Ein Android-Smartphone oder iPhone, das in der Lage ist, via [Bluetooth Low Energy](/de/ble) (BLE) zu kommunizieren.
* Ein Android-Smartphone oder iPhone, das in der Lage ist, via [Bluetooth Low Energy](/userguide/ble) (BLE) zu kommunizieren.




## Was kann ich beitragen?
## Was kann ich beitragen?
Generell gibt es eine große Bandbreite an Beiträgen. Zur Firmware, den IOs, den Apps, den verschiedenen Möglichkeiten, mit BLE zu kommunizieren, dem User Interface, der Dokumentation, die existierende Arbeit zu reviewen und natürlich deine eigenen [interhacktions](/de/interhacktions) zu schreiben!
Generell gibt es eine große Bandbreite an Beiträgen. Zur Firmware, den IOs, den Apps, den verschiedenen Möglichkeiten, mit BLE zu kommunizieren, dem User Interface, der Dokumentation, die existierende Arbeit zu reviewen und natürlich deine eigenen [interhacktions](/interhacktions) zu schreiben!


Wenn du nicht weisst, wo du anfangen sollst, kannst du dir auch ein paar Ideen für Beiträge anschauen, die wir noch benötigen. Du findest sie [hier](https://git.card10.badge.events.ccc.de/card10/logix/issues). Wenn du Fragen zu einem Issue hast, kommentiere gerne oder kontaktiere die Person, die den Issue verfasst hat, über unseren [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)):( [`#card10badge:asra.gr`](https://matrix.to/#/#card10badge:asra.gr))/[IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) ( [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge)) channel.
Wenn du nicht weisst, wo du anfangen sollst, kannst du dir auch ein paar Ideen für Beiträge anschauen, die wir noch benötigen. Du findest sie [hier](https://git.card10.badge.events.ccc.de/card10/logix/issues). Wenn du Fragen zu einem Issue hast, kommentiere gerne oder kontaktiere die Person, die den Issue verfasst hat, über unseren [Matrix](https://en.wikipedia.org/wiki/Matrix_(protocol)):( [`#freenode_#card10badge:matrix.org`](https://matrix.to/#/#freenode_#card10badge:matrix.org))/[IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) ( [`freenode.net#card10badge`](ircs://chat.freenode.net:6697/card10badge)) channel.


Du kannst ausserdem von großer Hilfe sein, wenn du Dokumentation zum [card10logix wiki](https:://card10.badge.events.ccc.de) hinzufügst. Wenn du bemerkst, dass Information fehlt, aber nicht weißt, welche Information dort hin gehört, dann kannst du uns darauf hinweisen, indem du ein [Issue hinzufügst](https://git.card10.badge.events.ccc.de/card10/logix/issues). Bitte geh sicher, dass du detailliert beschreibst, was fehlt.
Du kannst ausserdem von großer Hilfe sein, wenn du Dokumentation zum [card10logix wiki](https://card10.badge.events.ccc.de) hinzufügst. Wenn du bemerkst, dass Information fehlt, aber nicht weißt, welche Information dort hin gehört, dann kannst du uns darauf hinweisen, indem du ein [Issue hinzufügst](https://git.card10.badge.events.ccc.de/card10/logix/issues). Bitte geh sicher, dass du detailliert beschreibst, was fehlt.


## Wie funktioniert das sogenannte Wiki?
## Wie funktioniert das sogenannte Wiki?
Um die Wartung einfacher zu machen (das r0ket-Wiki läuft jetzt seit 8 Jahren!), haben wir uns enschieden, dieses Mal ein git/markdown-basiertes Wiki zu benutzen. 
Um die Wartung einfacher zu machen (das r0ket-Wiki läuft jetzt seit 8 Jahren!), haben wir uns enschieden, dieses Mal ein git/markdown-basiertes Wiki zu benutzen. 
+16 −0
Original line number Original line Diff line number Diff line
## tl;dr
---
title: tl;dr
hidden: true
---


- [Hardware](http://git.card10.badge.events.ccc.de/card10/hardware) - hardware repo mit docs und specs
- [Hardware](http://git.card10.badge.events.ccc.de/card10/hardware) - hardware repo mit docs und specs
- [Firmware](http://git.card10.badge.events.ccc.de/card10/firmware) - firmware repo
- [Firmware](http://git.card10.badge.events.ccc.de/card10/firmware) - firmware repo
- [Firmware Docs](https://firmware.card10.badge.events.ccc.de/) - rendered version der firmware-doku
- [Firmware Docs](https://firmware.card10.badge.events.ccc.de/) - rendered version der firmware-doku
- [Assembly guide](/de/assembleyourcard10) - bau dein card10 zusammen
- [Assembly guide](/userguide/assembly.de/) - bau dein card10 zusammen
- [LogBook](/de/logbook) - Geschichten der Reisenden
- [LogBook](/logbook) - Geschichten der Reisenden
- [Interhacktions](/de/interhacktions) - eine Anleitung, um Apps zu bauen
- [Interhacktions](/interhacktions) - eine Anleitung, um Apps zu bauen
- [Hardware-Übersicht](/de/hardware-overview)  
- [Hardware-Übersicht](/hardware)
- [USB-C](/de/usbc)
- [USB-C](/hardware/usbc)
- [personal state](/ps)
- [personal state](/ps)
- [app](/app)
- [app](/app)
- [zusammenbau-video](/vid)
- [zusammenbau-video](/userguide/assembly#assembly-video)
 No newline at end of file
+20 −0
Original line number Original line Diff line number Diff line
---
---
title: tl;dr
title: tl;dr
---
---
## tl;dr


{{% notice info %}}
Deutsche Version: [tl;dr](../tldr.de)
{{% /notice %}}

- [Assembly video and instructions](../userguide/assembly) - Assemble your card10
- [app](/app) - Companion app for Android and iOS
- [personal state](/ps)
- [Interhacktions](/interhacktions) - a guide to making apps
- [Hatchery](https://badge.team/badge/card10) - the card10 app store, publish your app
- [Hardware](http://git.card10.badge.events.ccc.de/card10/hardware) - hardware repo with docs and specs
- [Hardware](http://git.card10.badge.events.ccc.de/card10/hardware) - hardware repo with docs and specs
- [Hardware Overview](/hardware)
- [USB-C](/hardware/usbc)
- [Firmware](http://git.card10.badge.events.ccc.de/card10/firmware) - firmware repo
- [Firmware](http://git.card10.badge.events.ccc.de/card10/firmware) - firmware repo
- [Firmware Docs](https://firmware.card10.badge.events.ccc.de/) - rendered version of the firmware docs
- [Firmware Docs](https://firmware.card10.badge.events.ccc.de/) - rendered version of the firmware docs
- [Assembly guide](/en/assembleyourcard10) - Assemble your card10
- [LogBook](/logbook) - records of travellers
- [LogBook](/en/logbook) - records of travellers
- [Interhacktions](/en/interhacktions) - a guide to making apps
- [Hardware Overview](/en/hardware-overview)  
- [USB-C](/en/usbc)
- [personal state](/ps)
- [app](/app)
- [assembly video](/vid)
+2 −4
Original line number Original line Diff line number Diff line
---
---
title: Firmware
title: Firmware
weight: 30
---
---


![Firmware running FreeRTOS and MicroPython](/media/firmware/teaser.png)
![Firmware running FreeRTOS and MicroPython](/media/firmware/teaser.png)
@@ -25,16 +26,13 @@ best way to do so is either the issues directly or alternatively the
`#card10badge` channel on Freenode.  You can also reach that channel via a
`#card10badge` channel on Freenode.  You can also reach that channel via a
Matrix-bridge.
Matrix-bridge.


card10 prototypes have been distributed to the hackerspaces listed here:
[Distribution of prototypes](../prototype_distribution).

## Overview
## Overview
To make the most of card10’s dual-core processor, its firmware will have been divided
To make the most of card10’s dual-core processor, its firmware will have been divided
into two parts: The “main” firmware running on core 0 which will have been called
into two parts: The “main” firmware running on core 0 which will have been called
Epicardium and the “user-code” running on core 1. In most cases this will have
Epicardium and the “user-code” running on core 1. In most cases this will have
been Pycardium, our MicroPython port.
been Pycardium, our MicroPython port.


<img class="center" alt="firmware overview" src="https://firmware.card10.badge.events.ccc.de/_images/overview.svg"  width="600" height="auto" align="center">
[![Firmware Overview](https://firmware.card10.badge.events.ccc.de/_images/overview.svg)](https://firmware.card10.badge.events.ccc.de/_images/overview.svg)


## Details
## Details
Please tend to https://firmware.card10.badge.events.ccc.de/index.html where we
Please tend to https://firmware.card10.badge.events.ccc.de/index.html where we
+102 −0
Original line number Original line Diff line number Diff line
---
title: Firmware Updates
---

## Current: Queer Quinoa (2021-12-25)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.18-Queer-Quinoa.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v118-2021-12-25-queer-quinoa)

## Updating the firmware on your card10
* Download the current firmware `.zip` file to your computer
* Extract it
* Put your card10 into [USB storage mode](/userguide/general-usage/#installing-apps-via-usb)
* Copy over the files you just extracted directly into the main folder. Make sure to also update all files cotained in the `apps` folder. Note: on macOS devices it is recommended to use the terminal, e.g. for the broccoli release: `cp -r ~/Downloads/card10-v1.2-broccoli/* /Volumes/CARD10/`
{{% notice info %}}
If your card10 reboots during this operation, use the bootloader to copy the files as explained [here](/userguide/general-usage#bootloader-fix)!
{{% /notice %}}
* Eject your device (if you're doing this in the command line: don't forget to run `sync` on Linux)
* Switch your card10 off and on again

---

## Experimental Releases

These releases are untested and must be considered faulty. Always create a backup of the files on your
card10 before applying them. Please follow the steps mentioned above for the actual update.

- No Experimental version available at the moment



---

## Previous Releases
## R2R Rocket (2021-04-04)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.17-R2R-Rocket.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v117-2021-04-04-r2r-rocket)

## Pandemic Potato (2020-12-04)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.16-Pandemic-Potato.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v116-2020-12-04-pandemic-potato)

### Okra (2020-02-02)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.15-Okra.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v115-2020-02-02-okra)

### Nettle (2019-12-29)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.14-Nettle.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v114-2019-12-29-nettle)

### Mushroom (2019-12-09)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.13-Mushroom.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v113-2019-12-09-mushroom)

### Leek (2019-10-19)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.12-Leek.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v112-2019-10-19-leek)

### Karotte (2019-09-24)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.11-Karotte.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v111-2019-09-24-karotte)

### JerusalemArtichoke (2019-09-05 21:42)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.10-JerusalemArtichoke.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v110-2019-09-05-2142-jerusalemartichoke)

### IcebergLettuce (2019-08-28 23:23)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.9-IcebergLettuce.zip
- **Jailbreak relase is no longer necessary! You need to adjust card10.cfg now.**
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v19-2019-08-28-2323-iceberglettuce)

### HabaneroChilli (2019-08-27 - 11:38)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.8-HabaneroChilli.zip
- Firmware Download (with jailbreak): https://card10.badge.events.ccc.de/release/card10-v1.8-HabaneroChilli-jailbreak.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v18-2019-08-27-1138-habanerochilli)

### Garlic (day 4 - 21:48)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.7-Garlic.zip
- Firmware Download (with jailbreak): https://card10.badge.events.ccc.de/release/card10-v1.7-Garlic-jailbreak.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v17-2019-08-24-2148-garlic)

### Fennel (day 3 - 20:30)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.6-Fennel.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v16-2019-08-23-2030-fennel)

### Eggppppplant (day 3 - 00:23)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.5-Eggppppplant.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v15-2019-08-23-0018-eggppppplant)

### DaikonRadish (day 2 - 20:00)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.4-DaikonRadish.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v14-2019-08-22-1943-daikonradish)

### CCCauliflower (day 2 - 00:30)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.3-cccauliflower.zip
- [Changelog](https://git.card10.badge.events.ccc.de/card10/firmware/blob/master/CHANGELOG.md#v13-2019-08-22-0012-cccauliflower)

### Broccoli (day 1 - 19:00)
- Firmware Download: https://card10.badge.events.ccc.de/release/card10-v1.2-broccoli.zip

### Asparagus
As of Day 1, 18:00
Asparagus is the firmware that is loaded on the card10s handed out on day 1 from 18:00
+30 −0
Original line number Original line Diff line number Diff line
@@ -3,24 +3,28 @@ title: GitLab
---
---




# Hooray 🎉

## Post-Registration
## Post-Registration


Welcome to CCCamp19 badge card10 GitLab instance.
Welcome to card10 and flow3r badge GitLab instance.


**1st**: *Check* your *mails*, links below won't work until verification.
**1st**: *Check* your *mails*, links below won't work until verification.


You can find this text at our wiki: https://card10.badge.events.ccc.de/firmware/gitlab/

### What's next
### What's next


To get an understanding of card10 (cardio) checkout:
To get an understanding of card10 (cardio) checkout:


- Our wiki [Wiki](https://card10.badge.events.ccc.de)
- our [Flow3r Docs](https://docs.flow3r.garden)
- Explore our [GitLab Server](https://git.card10.badge.events.ccc.de/explore/groups).
- explore our [GitLab Server](https://git.flow3r.garden/explore/groups).
   - Also checkout our public repos at [`/card10`](https://git.card10.badge.events.ccc.de/card10/), including source for the wiki.
   - also checkout our public repos at [`/flow3r`](https://git.flow3r.garden/flow3r/).


### Profile Settings
### Profile Settings
Keep this tab open, accept your registration mail and you can go to this links.
Keep this tab open, accept your registration mail and you can go to this links.


- Updating Your [Profile Privacy](https://git.card10.badge.events.ccc.de/profile)
- Updating Your [Profile Privacy](https://git.flow3r.garden/profile)
- Adding [Two-Factor/OTP](https://git.card10.badge.events.ccc.de/profile/two_factor_auth) 
- Adding [Two-Factor/OTP](https://git.flow3r.garden/profile/two_factor_auth) 
- Change [E-Mail Notifications](https://git.card10.badge.events.ccc.de/profile/notifications)
- Change [E-Mail Notifications](https://git.flow3r.garden/profile/notifications)
- Add your [SSH Key](https://git.card10.badge.events.ccc.de/profile/keys) for `git clone...`
- Add your [SSH Key](https://git.flow3r.garden/profile/keys) for `git clone...`
+4 −2
Original line number Original line Diff line number Diff line
---
---
title: Hardware Overview
title: Hardware
weight: 40
---
---


Our reconstruction of the card10 badge consists of three things:
Our reconstruction of the card10 badge consists of three things:
@@ -22,6 +23,7 @@ The two boards are connected via a board to board connector and then screwed tog
| -------------------- |-------------|
| -------------------- |-------------|
| Weight               |  ~ 19 g       |
| Weight               |  ~ 19 g       |
| Size                 | Height (without wristband): ~8-9 mm. Width: 38 mm. Length: 45 mm |
| Size                 | Height (without wristband): ~8-9 mm. Width: 38 mm. Length: 45 mm |
| Display              | ST7735 0.96" Full Color IPS LCD (80x160) |
| RGB LEDs             | 11 RGB LEDs facing up, 4 RGB LEDs facing down (SK9822-2020)|
| RGB LEDs             | 11 RGB LEDs facing up, 4 RGB LEDs facing down (SK9822-2020)|
| Wirstband GPIOs      | 2 GPIOs + GND + Power per side |
| Wirstband GPIOs      | 2 GPIOs + GND + Power per side |
| Battery capacity     | 200 mAh (prototypes: 100-150 mAh) |
| Battery capacity     | 200 mAh (prototypes: 100-150 mAh) |
@@ -46,7 +48,7 @@ More information to come.


The Fundamental Board is located just above the wristband; above it comes the battery, the Harmonic Board, and the display. The Harmonic Board is connected to the Fundamental Board via a board to board connector.
The Fundamental Board is located just above the wristband; above it comes the battery, the Harmonic Board, and the display. The Harmonic Board is connected to the Fundamental Board via a board to board connector.


Several interfaces for [interhacktions](/en/interhacktions) are included on the Fundamental Board. The travelers can be alerted to an event using the vibration motor. Screws through the ECG contacts are used both for attaching the wristband and for making contact with your skin for ECG measurements. Besides its use for interhacktions, the [USB-C](/en/usbc) connector is also used for charging the battery and for updating the firmware.
Several interfaces for [interhacktions](/interhacktions/) are included on the Fundamental Board. The travelers can be alerted to an event using the vibration motor. Screws through the ECG contacts are used both for attaching the wristband and for making contact with your skin for ECG measurements. Besides its use for interhacktions, the [USB-C](/hardware/usbc/) connector is also used for charging the battery and for updating the firmware.


A PDF version of the schematic of the Fundamental Board is available [here](https://git.card10.badge.events.ccc.de/card10/hardware/blob/master/boards/Fundamental-Board/Fundamental-Board.pdf)
A PDF version of the schematic of the Fundamental Board is available [here](https://git.card10.badge.events.ccc.de/card10/hardware/blob/master/boards/Fundamental-Board/Fundamental-Board.pdf)


+10 −0
Original line number Original line Diff line number Diff line
```
---
Title: Accessories
title: Accessories
```
hidden: true
---


## Gehäuse
## Gehäuse


- [3d druckbares Gehäuse](https://git.card10.badge.events.ccc.de/card10/cover)
- [3d druckbares Gehäuse](https://git.card10.badge.events.ccc.de/card10/cover)

Schau dir die verschiedenen Optionen fuer Gehäuse [hier](/userguide/cases) an.
+11 −0
Original line number Original line Diff line number Diff line
---
title: Accessories
---

{{% notice info %}}
Deutsche Version: [Accessories](../accessories.de)
{{% /notice %}}

## Cases

Check out the different cases available [here](/userguide/cases).
+1 −1
Original line number Original line Diff line number Diff line
@@ -4,7 +4,7 @@ title: Mechanical Data


Our reconstruction of the card10 badge is made of two 1 mm PCBs, spaced 5 mm apart.
Our reconstruction of the card10 badge is made of two 1 mm PCBs, spaced 5 mm apart.


- The [Fundamental Board](/en/hardware-overview/#fundamental-board) is a bit larger than the [Harmonic Board](/en/hardware-overview/#harmonic-board)
- The [Fundamental Board](/hardware/#fundamental-board) is a bit larger than the [Harmonic Board](/hardware/#harmonic-board)
 - To make sewing the wristband connections easier when the card10 is fully assembled
 - To make sewing the wristband connections easier when the card10 is fully assembled
- The wirstband is about 34-38 mm wide and 25 - 30 cm long
- The wirstband is about 34-38 mm wide and 25 - 30 cm long
- The two PCBs are spaced using three 5 mm brass spacers and one 5 mm nylon spacer
- The two PCBs are spaced using three 5 mm brass spacers and one 5 mm nylon spacer
+8 −7
Original line number Original line Diff line number Diff line
@@ -2,12 +2,12 @@
title: USB-C
title: USB-C
---
---


# General use
## General use


You will need a USB-C cable to charge your card10. You can also use it as a storage device to read/write files and update software. We plan to provide most of these functions via BLE as well, but a wired connection might still come handy.
You will need a USB-C cable to charge your card10. You can also use it as a storage device to read/write files and update software. We plan to provide most of these functions via BLE as well, but a wired connection might still come handy.
The charging and file transfer works whichever way round the USB-C cable is plugged in.
The charging and file transfer works whichever way round the USB-C cable is plugged in.


# Full I/O
## Full I/O


Traveler reports agree that the badge uses USB-C, the assumption is that this was chosen over Micro-USB for the available range of extra pins. The reconstruction thus has some extra pins available, which would explain several observations of hardware interHacktions using USB-C.
Traveler reports agree that the badge uses USB-C, the assumption is that this was chosen over Micro-USB for the available range of extra pins. The reconstruction thus has some extra pins available, which would explain several observations of hardware interHacktions using USB-C.


@@ -24,17 +24,18 @@ Traveler reports agree that the badge uses USB-C, the assumption is that this wa
| TX2+     | B2         | Reset               | Pull low to trigger a reset                           |
| TX2+     | B2         | Reset               | Pull low to trigger a reset                           |
| TX2-     | B3         | -                   |                                                       |
| TX2-     | B3         | -                   |                                                       |


# Schematics
## Schematics
![USB-C related schematics section](/media/hardware/usb-c-pinout.png)
![USB-C related schematics section](/media/hardware/usb-c-pinout.png)


**!Caution!** Most USB-C cables available for sale do not connect all pins of the connector. Whilst this is not a problem for general use, if you want to access the full available I/O contacts, it might be best to choose a cable from the suggestions listed at the bottom of the page.
**!Caution!** Most USB-C cables available for sale do not connect all pins of the connector. Whilst this is not a problem for general use, if you want to access the full available I/O contacts, it might be best to choose a cable from the suggestions listed at the bottom of the page.


To use full I/O, there is a 'correct side up' for the USB-C cable.
To use full I/O, there is a 'correct side up' for the USB-C cable.


## SWD
### SWD
## UART
### UART
## ECG
### ECG
## GPIOs
External ECG electrodes can be connected via USB-C with a [self-made cable](/tutorials/ecg_kit_assembly/).
### GPIOs


## 'Confirmed' full pin cable options
## 'Confirmed' full pin cable options
Whilst this list does not guarantee you anything, these cables have been bought before and were found to have all contacts connected:
Whilst this list does not guarantee you anything, these cables have been bought before and were found to have all contacts connected:
+24 −24
Original line number Original line Diff line number Diff line
@@ -2,48 +2,48 @@
title: Interhacktions
title: Interhacktions
---
---


# General considerations
## General considerations
## Privacy
### Privacy
Do not collect unneeded data. Always ask yourself if you can reduce the amount of needed data further. Avoid keeping logs.
Do not collect unneeded data. Always ask yourself if you can reduce the amount of needed data further. Avoid keeping logs.


## Different personal space of people
### Different personal space of people
Make sure your InterHacktions don't encourage people to grab or otherwise uncomfortly interact with people who did not consent.
Make sure your InterHacktions don't encourage people to grab or otherwise uncomfortly interact with people who did not consent.


## Chirality
### Chirality
Some people are left-handed, others are right-handed. Some place a watch below the wrist, some above. When designing user interfaces, bear in mind that the display output may be rotated and buttons may be in a different position than you expect.
Some people are left-handed, others are right-handed. Some place a watch below the wrist, some above. When designing user interfaces, bear in mind that the display output may be rotated and buttons may be in a different position than you expect.


## Accessibility
### Accessibility
Consider the variability in range of motion, vision, etc. New ideas how menus can be navigated and the HERT2 can become more accessible are very welcome.
Consider the variability in range of motion, vision, etc. New ideas how menus can be navigated and the HERT2 can become more accessible are very welcome.


# Interfaces
## Interfaces
## Physical
### Physical


### Contacts for sewing or soldering
#### Contacts for sewing or soldering
A total of 4 GPIO pins, as well as 3.3V and GND contacts are available for sewing wearable LEDs, sensors, ... onto the wristband.
A total of 4 GPIO pins, as well as 3.3V and GND contacts are available for sewing wearable LEDs, sensors, ... onto the wristband.


The pitch of the small holes between the sewable connectors fits a 2.54 mm pin header, so if you rather work with solder than thread, you can use an angled pin header to access the sewable connectors. Additional debugging pins are also available through the small contacts between the five sewable connectors on each side.
The pitch of the small holes between the sewable connectors fits a 2.54 mm pin header, so if you rather work with solder than thread, you can use an angled pin header to access the sewable connectors. Additional debugging pins are also available through the small contacts between the five sewable connectors on each side.


### USB-C spare pins
#### USB-C spare pins
Besides the usual USB pins, we made some special signals e.g. UART and contacts for attaching ECG probes available on the USB-C connector. You can find more details on the [USB-C](/en/usbc) page.
Besides the usual USB pins, we made some special signals e.g. UART and contacts for attaching ECG probes available on the USB-C connector. You can find more details on the [USB-C](/hardware/usbc/) page.




### Wristband
#### Wristband
If the velcro lined wristband doesn't fit your needs, you can use the holes for the sewing contacts or the ECG contacts to attach your own wristband.
If the velcro lined wristband doesn't fit your needs, you can use the holes for the sewing contacts or the ECG contacts to attach your own wristband.


### Harmonic Board
#### Harmonic Board
The Harmonic Board is a fairly simple 4 layer board, you can make a customized Harmonic Board if you like.
The Harmonic Board is a fairly simple 4 layer board, you can make a customized Harmonic Board if you like.


## Wireless Interfaces
### Wireless Interfaces
### Bluetooth Low Energy
#### Bluetooth Low Energy
Below an overview of BLE interhacktions; for more details see the [ble page](/en/ble)
Below an overview of BLE interhacktions; for more details see the [ble page](/userguide/ble)
#### Badge to badge
##### Badge to badge
#### Badge to app
##### Badge to app
#### Badge to interhactions, latptop, etc.
##### Badge to interhactions, latptop, etc.
#### Mesh
##### Mesh




# Software
## Software
## Micropython l0dables
### Micropython l0dables
## c l0dables
### c l0dables
### Air Guitar
#### Air Guitar
## Files read as a USB drive
### Files read as a USB drive
+39 −0
Original line number Original line Diff line number Diff line
---
title: blinkisync
---

From firmware version 1.8 you will be able to send and receive text via light with your card10.

You can exchange contacts, exchange secret notes, embed messages into your LED spotlights, ...

#### usage of the app
Choose blinkisync-receive for receiving transmissions and blinkisync-transmit for transmitting text. 

Start interaction by holding the right upper button. Then hold the flashing LED of the sending Card10 to the ambient light sensor of the receiving card10.
the ambient light sensor is located above the "d" of the card10 logo.

The receiving card10 will calibrate now, which means that it measures maximum and minimum of received light in the last second.

When the shown values are stable, the button of the receiving card10 can be let go and after that, the button of the sending card10 can be let go.

Transmission will start now. After transmission the received text can be saved to `blinki-received.txt`

The string to be transmitted will be pulled from `blinki-transmission.txt`

#### Protocol:

Text gets decoded to zero padded utf-8 bytes and bits translated to LED on or off with a timing of 150ms.
In front of the data bytes is a special start byte and there is a timing signal after each byte. The end signal is 8 bits of 0.

Start byte:
`00000101`

Timing byte:
`1011`

End byte:
`00000000`

Example:
hello world:
`00000101 1011 01101000 1011 01100101 1011 01101100 1011 01101100 1011 01101111 1011 00100000 1011 01110111 1011 01101111 1011 01110010 1011 01101100 1011 01100100 1011 00000000`
+60 −0
Original line number Original line Diff line number Diff line
---
title: Exposure Notifications
---

COVID-19 Exposure Notifications are based on Bluetooth Low Energy (BLE). They are based on BLE advertisements and can be received (and in general also be sent) by the card10.

> :warning: The Exposure Notification support of the card10 is not meant as an replacement for official Exposure Notification apps. It is merely meant as a tool for the curious.

[![Exposure Notification Stats app](/media/card10-exnostat.jpg)](/media/card10-exnostat.jpg)

The currently released firmware for the card10 does not allow receiving of BLE advertisements.
[Here](https://git.card10.badge.events.ccc.de/card10/firmware/-/merge_requests/392)'s
a Merge Request which implements this functionality. If you have a working toolchain for the card10,
please try and build this MR, as you will have to most up-to-date version.

If you do not have a working toolchain, you can download a [pre-build image](/release/card10-exno-r1.zip).
Simply unzip the archive and merge it onto your card10. See the [firmware update page](/firmware/firmwareupdate) for details. Most importantly
always use the "safely eject" functionality of your operating system after writing files to the card10.

To use the BLE features of the card10 make sure to enable BLE in the `Bluetooth` app.

> :warning: This firmware has to be considered untested and therefore faulty. Please make a backup of your file system before putting the new firmware onto your card10.

## Exposure Notification Statistics App

After installing the firmware update, you will find a new app on your card10: `Exposure Notification Stats`. If you launch this app (Bluetooth has to be enabled. See above.) you will start to see some statistics about Exposure Notifications in you vicinity. The app will try to distinguish Apple and Google devices based on a heuristic. This heuristic might fail at any point in time. The app shows the number of unique MACs (aka devices) seen during the last 100 seconds. The seconds counter shows how long ago the oldest considered MAC has been received. A low number means that most of the counted devices are still in you vicinity.

Two buttons allow you to change the LED and vibration motor behavior:

 - Off: Default after launching the app.
 - New MAC: Flash an LED (yellow) or strongly vibrate when a new MAC (aka device) is observed.
 - Each RX: Flash an LED (blue) or weakly vibrate when for each received Notification Exposure.
 - Both: Do both ;)

Almost all logic is written in Python and can be modified by you: [`apps/exnostat/__init__.py`](https://git.card10.badge.events.ccc.de/card10/firmware/-/blob/schneider/covid-tracing/preload/apps/exnostat/__init__.py)

### Possible Improvements
 - Write received Exposure Notifications to a file:
   - Try to follow [Google's guidlines](https://developers.google.com/android/exposure-notifications/ble-attenuation-overview#aggregation_over_a_four-second_scan_scaninstance_min_and_average).
   - Try to limit the amout of writes to the flash. Accumulate data in RAM first and write in batches.
 - Disable the screen while not looking at it:
   - The [G-watch app](https://badge.team/projects/g_watch) can serve as a starting point. It uses the gyroscope and accelerometer to detect glances.
 - Show more statistics over time:
   - A graph of accumulated activity over time.
   - Showing RSSI on the front LEDs (will consume more power).
 - Send exposure notifications:
   - Needs changes to epicardium and some crypto efforts.

### Media
[Video of the Exposure Notification Stats app running](/media/card10-exnostat.mp4)


## Resources

 - https://github.com/kauzu/CoronaAppDetector
 - https://github.com/frankrieger/CoronaAppDetectorM5StickC
 - https://github.com/znuh/microbit-corona-scanner
 - https://www.bunniestudios.com/blog/?p=5820

+5 −5
Original line number Original line Diff line number Diff line
---
---
title: Erste Interhacktionen
title: Erste Interhacktionen
hidden: true
---
---



{{% notice info %}}
Hinweis: Die authoritative Seite ist die englische. Wenn du hier etwas inhaltlich änderst, bitte sorge dafür, dass es auch auf der englischen Seite geändert wird.
Hinweis: Die authoritative Seite ist die englische. Wenn du hier etwas inhaltlich änderst, bitte sorge dafür, dass es auch auf der englischen Seite geändert wird.

{{% /notice %}}
# Erste Interhacktionen


Die einfachste Art und Weise, um LEDs zum blinken zu bringen, ist, python zu benutzen. Es gibt zwei Möglichkeiten, um Python-Code auszuführen: Entweder du verwendest eine interaktive Python-Kommandozeile oder du speicherst `.py`-Dateien auf dem card10. Die interaktive Kommandozeile ist sehr praktisch, um Python-Kommandos auszuführen und `.py`-Dateien zu debuggen. Wenn du.py-Dateien direkt speicherst, sind die Skripte, die du schreibst auch dann verfügbar, wenn card10 nicht mehr mit deinem Computer verbunden ist.
Die einfachste Art und Weise, um LEDs zum blinken zu bringen, ist, python zu benutzen. Es gibt zwei Möglichkeiten, um Python-Code auszuführen: Entweder du verwendest eine interaktive Python-Kommandozeile oder du speicherst `.py`-Dateien auf dem card10. Die interaktive Kommandozeile ist sehr praktisch, um Python-Kommandos auszuführen und `.py`-Dateien zu debuggen. Wenn du.py-Dateien direkt speicherst, sind die Skripte, die du schreibst auch dann verfügbar, wenn card10 nicht mehr mit deinem Computer verbunden ist.


@@ -64,4 +64,4 @@ Die erste Zahl, die eingegeben wird, ist der Index, um die Raketen-LED auszuwäh
Um eine Sitzung in screen zu beenden, drücke `Strg+A` dann `k` dann `y`.  In picocom ist die Tastenkombination `Strg+A`, dann `Strg+Q`.
Um eine Sitzung in screen zu beenden, drücke `Strg+A` dann `k` dann `y`.  In picocom ist die Tastenkombination `Strg+A`, dann `Strg+Q`.


## Glückwunsch!
## Glückwunsch!
Wenn du deine neu erworbenen card10-Skills anwendest, schau dir bitte die [generellen überlegungen, um Interhacktions zu designen](/de/interhacktions) an. Denk ausserdem daran, dass manche blinke-Muster bereits eine besondere Bedeutung haben, um den [persönlichen Zustand](/ps) einer reisenden person anzuzeigen .
Wenn du deine neu erworbenen card10-Skills anwendest, schau dir bitte die [generellen überlegungen, um Interhacktions zu designen](/interhacktions) an. Denk ausserdem daran, dass manche blinke-Muster bereits eine besondere Bedeutung haben, um den [persönlichen Zustand](/ps) einer reisenden person anzuzeigen .
+5 −1
Original line number Original line Diff line number Diff line
@@ -2,6 +2,10 @@
title: First Interhacktions
title: First Interhacktions
---
---


{{% notice info %}}
Deutsche Version: [Erste Interhacktionen](../firstinterhacktions.de)
{{% /notice %}}

The easiest way to make some LEDs blink is using python. There are two ways of executing python code: Using an interactive python command line, and saving `.py` files on the card10. The interactive command line is very practical to try out python commands, and debug '.py' files. Directly saving .py files makes the scripts you write available when you have card10 disconnected from your computer.
The easiest way to make some LEDs blink is using python. There are two ways of executing python code: Using an interactive python command line, and saving `.py` files on the card10. The interactive command line is very practical to try out python commands, and debug '.py' files. Directly saving .py files makes the scripts you write available when you have card10 disconnected from your computer.


## Using the interactive command line
## Using the interactive command line
@@ -79,4 +83,4 @@ Once you are satisfied, you can publish it in an official revision. As you impro
To close a session in screen, press `Ctrl+A` then `k` then `y`.  In picocom, exit using `Ctrl+A`, then `Ctrl+Q`.
To close a session in screen, press `Ctrl+A` then `k` then `y`.  In picocom, exit using `Ctrl+A`, then `Ctrl+Q`.


## Congratulations!
## Congratulations!
When applying your newly learned card10 skills, please have a look at the [general considerations for designing Interhacktions](/en/interhacktions). Also bear in mind that some blinking patterns have been assigned a special meaning for communicating a traveler's [personal state](/ps).
When applying your newly learned card10 skills, please have a look at the [general considerations for designing Interhacktions](/interhacktions/). Also bear in mind that some blinking patterns have been assigned a special meaning for communicating a traveler's [personal state](/ps/).
+8 −7
Original line number Original line Diff line number Diff line
---
---
title: Logbook
title: Logbook
weight: 60
---
---


#### general 
## General 
We got some log entries from travelers that have been to this years camp. As far as we know there will be a badge, people call it card10 and "wear" it on one of their arms and connect via BLE.
We got some log entries from travelers that have been to this years camp. As far as we know there will be a badge, people call it card10 and "wear" it on one of their arms and connect via BLE.
It is documented that we will have been developing a wide range of so called "interhacktions" (loadables) for card10. A lot of the villages at the camp will have so called GIGAs, BLE Devices to spread new interhacktions, host games and connect to travelers.
It is documented that we will have been developing a wide range of so called "interhacktions" (loadables) for card10. A lot of the villages at the camp will have so called GIGAs, BLE Devices to spread new interhacktions, host games and connect to travelers.
To not ruin the future by hiding information that was given to us, we started a wiki (CARD10LOGIX) for everyone to collaborate on ideas for card10.
To not ruin the future by hiding information that was given to us, we started a wiki (CARD10LOGIX) for everyone to collaborate on ideas for card10.
@@ -10,9 +11,9 @@ To not ruin the future by hiding information that was given to us, we started a
what travelers will write down in their log-entry at cccamp 2019 will be developed from now on by all of us.
what travelers will write down in their log-entry at cccamp 2019 will be developed from now on by all of us.




# Logbooks
## Logbooks
## [card10-camp-travelers](/en/logbook/card10-camp)
### [card10-camp-travelers](/logbook/card10-camp)
## [personal time, wristband, individual design](/en/logbook/I-O-time-wristband-individual-design)
### [personal time, wristband, individual design](/logbook/i-o-time-wristband-individual-design)
## [personale state LED](/en/logbook/personal-state-led)
### [personale state LED](/logbook/personal-state-led)
## [topics near by](/en/logbook/topics-near-by)
### [topics near by](/logbook/topics-near-by)
## [notifications](/en/logbook/notifications)
### [notifications](/logbook/notifications)
+0 −0

File moved.

+3 −3
Original line number Original line Diff line number Diff line
@@ -3,11 +3,11 @@ title: Notifications
---
---




# Overview:
## Overview:


Android notifications can be intercepted and sent to the card10 to be displayed there
Android notifications can be intercepted and sent to the card10 to be displayed there


# Firmware support:
## Firmware support:
- The badge can receive notifications via BLE and display them
- The badge can receive notifications via BLE and display them
- It is possible to trigger the  vibration motor with a notification
- It is possible to trigger the  vibration motor with a notification
- It is possible to define on the Android side how the motor vibrates
- It is possible to define on the Android side how the motor vibrates
@@ -18,7 +18,7 @@ Android notifications can be intercepted and sent to the card10 to be displayed
— For example: If the notification is a call notification: The user can reject or take that call
— For example: If the notification is a call notification: The user can reject or take that call
— In general: pressing a button opens the application on the users phone
— In general: pressing a button opens the application on the users phone


# Data Format:
## Data Format:
- Protobufs are used  to encode these notifications to the badge
- Protobufs are used  to encode these notifications to the badge


+1 −1
Original line number Original line Diff line number Diff line
@@ -26,4 +26,4 @@ Additionally there could be a privacy friendly way to announce personal topics v
* There could be a way to find other people with same topics.
* There could be a way to find other people with same topics.
* If I try to contact a person with a similar topic, this person should be able to anonymously decline the the contact before we are "matched"
* If I try to contact a person with a similar topic, this person should be able to anonymously decline the the contact before we are "matched"
* There needs to be a way to find that person if we get matched. Maybe the LEDs on our badges show the same randomly generated pattern and we raise our badge wearing arm to find each other.
* There needs to be a way to find that person if we get matched. Maybe the LEDs on our badges show the same randomly generated pattern and we raise our badge wearing arm to find each other.
* other peoples interests shouldn't be discoverable if they set their [personal state leds](/en/logbook/personal-state-led.md) to a non-communicative state
* other peoples interests shouldn't be discoverable if they set their [personal state leds](/logbook/personal-state-led) to a non-communicative state

maintenance/_index.md

0 → 100644
+9 −0
Original line number Original line Diff line number Diff line
---
title: Maintenance & Repair
weight: 20
---

An important aspect of open hardware is that you have the information you need so you can fix it - if you have the skills to do so.
In this section hopefully we can collectively gather information and tutorials so all of us can enjoy our card10s for as long as possible!

To prevent the display from cracking consider putting your card10 into a [case](/userguide/cases). This is likely the most important thing to do so your card10 has a long life.

maintenance/display.md

0 → 100644
+99 −0
Original line number Original line Diff line number Diff line
---
title: Display repair and replacement
---

All card10 displays were hand soldered by volunteers, many directly at cccamp2019 - impressive, right?!
On the other hand, if untrained volunteers were able to do it, you can probably learn how to solder a card10 display, too!
If you have little soldering experience, it might still be good to find someone with a bit of experience to guide you a bit.

Another consequence of the hand soldered displays: Particularly if your display never worked properly and is not visibly  damaged,
there is a good chance that it has a bad solder connection. So if your display 
appears broken, you might be able to fix it by just re-doing the solder connection.

This guidance shows you how to check your display, do this:

**Step 0:** Disassemble your card10 by removing the screws on the top PCB with a T6 screwdriver and gently pulling up the harmonic board.
Disconnect the battery with a pair of tweezers.

**Step 1:** The display sticks to the Harmonic board with two small double sided glue points (like the one you placed on
the backside to mount your battery). So careful lift the broken display with a pair of tweezers from the right side upwards.
Make sure that you under no circumstances lift the display to an extent so that the flex PCB of the display rips off
one or more solder pads from the harmonic PCB. Otherwise you would not be able to rework your Harmonic!

**Step 2:** Carefully remove the glue points from the Harmonic PCB.

If your display is not physically broken, now is a good time to check what the solder connection looks like.
If the solder connection looks bad, continue in section **Soldering connection**, otherwise continue with **Replacement**.

### Replacement

**Step 3:** Apply a larger amount of solder with your solder iron. For this step you want to use your largest
solder tip. Try to apply heat to all pins of the flex pcb at the same time. Slowly and carefully apply an
upward force to lift the flex pcb. If all of the pins are heated the flex pcb will come off the Harmonic board.

**Step 4:** Use a desolder wire to remove the rest of the solder from the Harmonic pcb. Be careful and make
sure not to damage the board by ripping off one of the pads.

**Step 5:** Place your new display in the right orientation onto your Harmonic board. Make sure that the small
holes of the display flex pcb and the Harmonic board pcb align. At this stage the metal can part of the display
(bottom side) will point upwards.

### Soldering connection

**Step 6:** Apply solder on the display flex pcb pins.

**Step 7:** Visually check the connections and make sure that there are no shorts between the pins.

**Step 8:** Apply two glue points to the Harmonic pcb (one directly over the blanc pins of the flex pcb to
isolate them to the metal can of the display and one on the right side of the display pcb marking). If you don't
have those glue points we used, you also can make use of standard double-sided tape.

**Step 9:** Flip the display over end carefully press the display to the Harmonic pcb. Make sure that the
force does not destroy the LCD. You can apply the force at the edges of the display. Also make sure that the LCD is
in its right position and aligned with the rectangle on the pcb. It's easy to produce shorts on the components on the
right edge of the LCD.

**Step 10:** Connect the battery and switch on the badge

The LCD can be bought at AliExpress: https://de.aliexpress.com/item/4000018872259.html or from ebay: 
https://www.ebay.de/itm/0-96-1-3-1-44-1-8-SPI-TFT-LCD-Full-Color-Display-Module-ST7789-OLED-Screen/174041960470, 0.96" variant.


## tl;dr:

**Parts needed**
Glue dots or double sided tape; replacement LCD, e.g. from AliExpress: https://de.aliexpress.com/item/4000018872259.html or from ebay: 
https://www.ebay.de/itm/0-96-1-3-1-44-1-8-SPI-TFT-LCD-Full-Color-Display-Module-ST7789-OLED-Screen/174041960470, 0.96" variant.

**Step 0:** Disconnect the battery with a pair of tweezers.

**Step 1:** Carefully lift the broken display with a pair of tweezers from the right side upwards.
Make sure you don't rips off
one or more solder pads from the harmonic PCB. Otherwise you will not be able to rework your Harmonic!

**Step 2:** Remove the glue points from the Harmonic PCB.

**Step 3:** Apply a larger amount of solder with your solder iron with your largest
solder tip. Try to apply heat to all pins of the flex pcb at the same time. Slowly and carefully apply an
upward force to lift the flex pcb. If all of the pins are heated, the flex pcb will come off the Harmonic board.

**Step 4:** Use a desolder wire to remove the rest of the solder from the Harmonic pcb. Again, avoid ripping off one of the pads.

**Step 5:** Place your new display in the right orientation onto your Harmonic board. Make sure that the small
holes of the display flex pcb and the Harmonic board pcb align. At this stage the metal part of the display
(bottom side) will point upwards.

**Step 6:** Apply solder on the display flex pcb pins.

**Step 7:** Visually check the connections and make sure that there are no shorts between the pins.

**Step 8:** Use glue points or double sided tape to attach the display. Make sure to cover the blank pins of the flex pcb
with the points/tape to isolate them.

**Step 9:** Flip the display over, carefully press the display to the Harmonic pcb, ensure correct alignment to avoid
shorting other components on the PCB.

**Step 10:** Connect the battery and switch on the badge
</details>

+20 −0
Original line number Original line Diff line number Diff line
---
title: File system maintainance
---
## Read only file system

One possible reason for a read-only filesystem is a set "dirty-bit".
To change this the linux tool fsck can be used.
First the badge needs to be ejected safely, then it needs to be restartet and put back into "USB storage" mode.
The device should not be mounted. Now `lsblk` can help with finding the correct blockdevice.
Then you can check the filesystem with `fsck /dev/sdX` (replace `sdX` with the correct device).
If neccessary the tool will ask if the "dirty bit" should be removed, this needs to be answered with yes.
After this, the problem should be solved.

## No file system detected
If operating does not show a file system after activating _USB Storage Mode_ and attaching it via USB, a few things might be at fault:

 - The file system might be corrupted. Please try to create a new FAT file system and copy over the data from a working firmware release.
 - The USB cable might be broken. Check if your computer recognized a new device.

+1.02 MiB

1.02 MiB

media/card10-exnostat.mp4

0 → 100644LFS
+133 B

File added.

No diff preview for this file type.

+215 −0

File added.

Preview size limit exceeded, changes collapsed.

+3 −3
Original line number Original line Diff line number Diff line
@@ -9,7 +9,7 @@
   xmlns="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="297mm"
   width="310mm"
   height="125mm"
   height="125mm"
   viewBox="0 0 1052.3622 442.91313"
   viewBox="0 0 1052.3622 442.91313"
   id="svg9123"
   id="svg9123"
@@ -173,7 +173,7 @@
         style="text-align:end;text-anchor:end;stroke-width:0.26458332"
         style="text-align:end;text-anchor:end;stroke-width:0.26458332"
         y="942.59967"
         y="942.59967"
         x="240.28717"
         x="240.28717"
         sodipodi:role="line">LEFT</tspan></text>
         sodipodi:role="line">LEFT/UP</tspan></text>
    <text
    <text
       id="text8109-5"
       id="text8109-5"
       y="887.44299"
       y="887.44299"
@@ -195,7 +195,7 @@
         style="text-align:start;text-anchor:start;stroke-width:0.26458332"
         style="text-align:start;text-anchor:start;stroke-width:0.26458332"
         y="953.84882"
         y="953.84882"
         x="798.30328"
         x="798.30328"
         sodipodi:role="line">RIGHT</tspan></text>
         sodipodi:role="line">RIGHT/DOWN</tspan></text>
    <g
    <g
       transform="matrix(-21.678507,0,0,21.678507,4575.1855,-1034.2757)"
       transform="matrix(-21.678507,0,0,21.678507,4575.1855,-1034.2757)"
       id="g9304">
       id="g9304">
+771 KiB

771.50 KiB

media/ecg/3-solder.jpg

0 → 100644
+816 KiB

815.78 KiB

+805 KiB

805.36 KiB

+743 KiB

743.38 KiB

+807 KiB

807.45 KiB

+578 KiB

577.94 KiB

media/ecg/fertig.jpg

0 → 100644
+777 KiB

777.49 KiB

+811 KiB

811.22 KiB

+1.04 MiB

1.04 MiB

+1.75 MiB

1.75 MiB

+646 KiB

645.51 KiB

+762 KiB

761.70 KiB

+442 KiB

442.02 KiB

+1.98 MiB

1.98 MiB

+100 KiB

100.27 KiB

media/ug/1-boot-1.jpg

0 → 100644
+57.5 KiB

57.53 KiB

media/ug/1-boot-2.jpg

0 → 100644
+58.6 KiB

58.63 KiB

+61.5 KiB

61.50 KiB

+3.17 KiB

3.17 KiB

media/ug/1-ps.jpg

0 → 100644
+36.5 KiB

36.46 KiB

media/ug/1-standby.jpg

0 → 100644
+65.4 KiB

65.38 KiB

+63.8 KiB

63.84 KiB

+71.5 KiB

71.54 KiB

+62.2 KiB

62.18 KiB

+80 KiB

80.04 KiB

+92.7 KiB

92.70 KiB

+62.1 KiB

62.09 KiB

+58.1 KiB

58.13 KiB

+65.1 KiB

65.15 KiB

media/ug/2-ble-off.jpg

0 → 100644
+58.8 KiB

58.84 KiB

+60.6 KiB

60.65 KiB

+61.7 KiB

61.66 KiB

+59.3 KiB

59.33 KiB

+61.5 KiB

61.50 KiB

+64.5 KiB

64.50 KiB

media/ug/3-home.jpg

0 → 100644
+63.9 KiB

63.88 KiB

+61 KiB

File added.

Preview size limit exceeded, changes collapsed.

+62.4 KiB

File added.

Preview size limit exceeded, changes collapsed.

media/ug/5-ecg-app.jpg

0 → 100644
+216 KiB

File added.

Preview size limit exceeded, changes collapsed.

+1.29 MiB

File added.

Preview size limit exceeded, changes collapsed.

+1.71 MiB

File added.

Preview size limit exceeded, changes collapsed.

+211 KiB

File added.

Preview size limit exceeded, changes collapsed.

+150 KiB

File added.

Preview size limit exceeded, changes collapsed.

+230 KiB

File added.

Preview size limit exceeded, changes collapsed.

+1.5 MiB

File added.

Preview size limit exceeded, changes collapsed.

+1.3 MiB

File added.

Preview size limit exceeded, changes collapsed.

media/ug/5-ecg-usb.jpg

0 → 100644
+210 KiB

File added.

Preview size limit exceeded, changes collapsed.

media/ug/6-case-9r.jpg

0 → 100644
+41.2 KiB

File added.

Preview size limit exceeded, changes collapsed.

+48.7 KiB

File added.

Preview size limit exceeded, changes collapsed.

+63.5 KiB

File added.

Preview size limit exceeded, changes collapsed.

+452 KiB

File added.

Preview size limit exceeded, changes collapsed.

+1020 KiB

File added.

Preview size limit exceeded, changes collapsed.

+236 KiB

File added.

Preview size limit exceeded, changes collapsed.

+153 KiB

File added.

Preview size limit exceeded, changes collapsed.

media/ug/6-case-wb.jpg

0 → 100644
+28.9 KiB

File added.

Preview size limit exceeded, changes collapsed.

media/watchface.jpg

0 → 100644
+503 KiB

File added.

Preview size limit exceeded, changes collapsed.

other/_index.md

0 → 100644
+4 −0

File added.

Preview size limit exceeded, changes collapsed.

+13 −0

File added.

Preview size limit exceeded, changes collapsed.

+5 −5

File changed.

Preview size limit exceeded, changes collapsed.

+397 KiB

File added.

Preview size limit exceeded, changes collapsed.

+398 KiB

File added.

Preview size limit exceeded, changes collapsed.

+428 KiB

File added.

Preview size limit exceeded, changes collapsed.

+357 KiB

File added.

Preview size limit exceeded, changes collapsed.

+337 KiB

File added.

Preview size limit exceeded, changes collapsed.

+334 KiB

File added.

Preview size limit exceeded, changes collapsed.

+336 KiB

File added.

Preview size limit exceeded, changes collapsed.

+346 KiB

File added.

Preview size limit exceeded, changes collapsed.

+335 KiB

File added.

Preview size limit exceeded, changes collapsed.

+333 KiB

File added.

Preview size limit exceeded, changes collapsed.

+393 KiB

File added.

Preview size limit exceeded, changes collapsed.

+465 KiB

File added.

Preview size limit exceeded, changes collapsed.

+548 KiB

File added.

Preview size limit exceeded, changes collapsed.

+302 KiB

File added.

Preview size limit exceeded, changes collapsed.

+308 KiB

File added.

Preview size limit exceeded, changes collapsed.

+306 KiB

File added.

Preview size limit exceeded, changes collapsed.

+309 KiB

File added.

Preview size limit exceeded, changes collapsed.

+307 KiB

File added.

Preview size limit exceeded, changes collapsed.

+318 KiB

File added.

Preview size limit exceeded, changes collapsed.

tutorials/_index.md

0 → 100644
+22 −0

File added.

Preview size limit exceeded, changes collapsed.

+65 −0

File added.

Preview size limit exceeded, changes collapsed.

+11 −5

File changed and moved.

Preview size limit exceeded, changes collapsed.

+43 −0

File added.

Preview size limit exceeded, changes collapsed.

+1001 −0

File added.

Preview size limit exceeded, changes collapsed.

+947 −0

File added.

Preview size limit exceeded, changes collapsed.

+142 −0

File added.

Preview size limit exceeded, changes collapsed.

+236 −0

File added.

Preview size limit exceeded, changes collapsed.

+34.8 KiB

File added.

Preview size limit exceeded, changes collapsed.

+22.3 KiB

File added.

Preview size limit exceeded, changes collapsed.

+51.8 KiB

File added.

Preview size limit exceeded, changes collapsed.

+15.4 KiB

File added.

Preview size limit exceeded, changes collapsed.

+12.5 KiB

File added.

Preview size limit exceeded, changes collapsed.

+19.4 KiB

File added.

Preview size limit exceeded, changes collapsed.

+19.7 KiB

File added.

Preview size limit exceeded, changes collapsed.

+18.3 KiB

File added.

Preview size limit exceeded, changes collapsed.

+40 KiB

File added.

Preview size limit exceeded, changes collapsed.

+102 KiB

File added.

Preview size limit exceeded, changes collapsed.

+133 KiB

File added.

Preview size limit exceeded, changes collapsed.

+190 KiB

File added.

Preview size limit exceeded, changes collapsed.

+95.7 KiB

File added.

Preview size limit exceeded, changes collapsed.

+13.4 KiB

File added.

Preview size limit exceeded, changes collapsed.

+104 KiB

File added.

Preview size limit exceeded, changes collapsed.

+8.45 KiB

File added.

Preview size limit exceeded, changes collapsed.

+18.5 KiB

File added.

Preview size limit exceeded, changes collapsed.

+28.3 KiB

File added.

Preview size limit exceeded, changes collapsed.

+27.9 KiB

File added.

Preview size limit exceeded, changes collapsed.

+25.7 KiB

File added.

Preview size limit exceeded, changes collapsed.

+8.38 KiB

File added.

Preview size limit exceeded, changes collapsed.

+124 −0

File added.

Preview size limit exceeded, changes collapsed.

userguide/_index.md

0 → 100644
+56 −0

File added.

Preview size limit exceeded, changes collapsed.

+45 −0

File added.

Preview size limit exceeded, changes collapsed.

+54 −0

File changed and moved.

Preview size limit exceeded, changes collapsed.

+58 −0

File changed and moved.

Preview size limit exceeded, changes collapsed.

userguide/ble.md

0 → 100644
+116 −0

File added.

Preview size limit exceeded, changes collapsed.

userguide/cases.md

0 → 100644
+57 −0

File added.

Preview size limit exceeded, changes collapsed.

userguide/ecg.md

0 → 100644
+118 −0

File added.

Preview size limit exceeded, changes collapsed.

+92 −0

File added.

Preview size limit exceeded, changes collapsed.

+45 −0

File added.

Preview size limit exceeded, changes collapsed.

userguide/watch.md

0 → 100644
+20 −0

File added.

Preview size limit exceeded, changes collapsed.

vid.md

0 → 100644
+5 −0

File added.

Preview size limit exceeded, changes collapsed.

vid/_index.md

deleted100644 → 0
+0 −13

File deleted.

Preview size limit exceeded, changes collapsed.