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
  • annejan/logix
  • kgz/logix
  • pink/logix
  • mot/logix
  • 9R/logix
  • melle/logix
  • jspricke/logix
  • sjn/logix
  • marble/logix
  • audionerd/logix
  • astro/logix
  • genotest/logix
  • _luc/logix
  • C-Tim/logix
  • Superwallah/logix
  • nitram/logix
  • Pixtxa/logix
  • royrobotiks/logix
  • deusfigendi/logix
  • arist/logix
  • LordBonzi/logix
  • Stormwind/logix
  • dag/logix
24 results
Select Git revision
  • master
  • patch-1
  • patch-2
  • patch-3
  • patch-4
5 results
Show changes
Showing
with 720 additions and 0 deletions
tutorials/grafana/iotstack-1-turn-on-nodered.png

133 KiB

tutorials/grafana/iotstack-2-select-generic-ble.png

190 KiB

tutorials/grafana/iotstack-3-build-addons.png

95.7 KiB

tutorials/grafana/nodered-1.png

13.4 KiB

tutorials/grafana/nodered-2.png

104 KiB

tutorials/grafana/nodered-3.png

8.45 KiB

tutorials/grafana/nodered-4.png

18.5 KiB

tutorials/grafana/nodered-6.png

28.3 KiB

tutorials/grafana/nodered-7.png

27.9 KiB

tutorials/grafana/nodered-8.png

25.7 KiB

tutorials/grafana/nodered-9.png

8.38 KiB

---
title: Sewable RGB LEDs Tutorial
---
## Type of LED used
This tutorial is based on the Sparkfun [LilyPad Pixel Board](https://www.sparkfun.com/products/13264) addressable RGB LED.
You can either order them online (see link above) or get them as a kit from the card10 team at any CCC event.
### How to solder the kit
If you received an LED that is not yet soldered onto the PCB with the sewable connections, you need to solder the LED onto the board. See the following picture for the chamfered corner indicating the correct position of the LED:
[![pin 1 markger](/media/led_sewing/led_corner_mark.jpg)](/media/led_sewing/led_corner_mark.jpg)
After finding the correct alignment of the LED, tin one of the solder pads on the PCB, and then solder on the LED. Continue to solder the remaining 3 pins. Heating both the pad and the pin on the LED is a
bit tricky, don't hesitate to ask for help/advice.
## Connecting LEDs to the card10
You need to make three connections from the card10 to the LED. Before you start sewing, check that the LED PCB is well aligned to the card10, so none of the sewn connections cross:
[![labeled card10 pins](/media/led_sewing/labeled_card10_pins.jpg)](/media/led_sewing/labeled_card10_pins.jpg)
Not all 6 sewable connections are used (see below), so you can use non-conductive thread to attach the LED board with the unused sewable corners.
Next we give you the connections you need to make, followed by some tips for sewing with conductive thread.
[![led pins](/media/led_sewing/led_pins.jpg)](/media/led_sewing/led_pins.jpg)
### Connections
The six connections are marked in the figure below. DI and DO are duplicated, you only need to use one of each.
* GND is marked with a -, right next to the capital L
* 3.3 V is marked with a +, it is the connector on the opposite side of GND
* Data In is marked DI, pick one of the two available DI pins
* Data Out is marked with DO; you only need this pin if you are attaching a more RGB LEDs. In this case pick one of the two available DO pins and connect it to a DI pin of the next LED.
[![labeled led pins](/media/led_sewing/labeled_led_pins.jpg)](/media/led_sewing/labeled_led_pins.jpg)
### Tips for sewing
Whilst very practical, the conductivity of the thread can also be a curse when the thread gets into the wrong places. To make sure the end of your thread doesn't short circuit the card10, first sew it onto the wristband
at a safe distance. You can make a knot at the end of the thread to fix it onto the wristband. To seal the end of the conductive thread, you can add a little drop of nail polish on top of it.
While the risk of damaging your card10 is while it is sleeping, we recomment to fully switch the card10 off by holding the power/menu button for more than 8 seconds.
Please also make sure to not leave behind any conductive fibers. They might ruin someones day.
## Software
The card10 firmware has support for the type of LED which the LilyPad Pixel Board uses (WS2812). It is located in the ws2812 module. See our [firmware documentation](https://firmware.card10.badge.events.ccc.de/pycardium/ws2812.html) for details.
### Quick start
- Connect your card10 via USB
- Open a serial console to your card10 (see [First Interhacktions](/interhacktions/firstinterhacktions/) for details)
- Press Ctrl+C to stop the current application
- Type the following code (replacing `gpio.WRISTBAND_1` with the pin you are using:
```
import gpio
import ws2812
ws2812.set_all(gpio.WRISTBAND_1, [[25, 25, 0]])
ws2812.set_all(gpio.WRISTBAND_1, [[25, 25, 0]])
```
Due to a bug in the libray setting the color does not work the first time. That's why the last line is repeated.
Your LED should light up yellow now :)
### Sample application
This example queries the state of the lower right button and turns multiple RGB LEDs on when the button is pressed:
You can adjust the color, number of leds and which pin is used.
```
import buttons
import ws2812
import utime
import color
import gpio
COLOR_ON = color.YELLOW * 0.2 # 20% yellow
COLOR_OFF = [0, 0, 0]
LED_NUM = 1 # Number of connected LEDS: 1
LED_PIN = gpio.WRISTBAND_1
ws2812.set_all(LED_PIN, [COLOR_OFF] * LED_NUM)
ws2812.set_all(LED_PIN, [COLOR_OFF] * LED_NUM)
state = False
while True:
if buttons.read(buttons.BOTTOM_RIGHT):
state = not state
if state:
color = COLOR_ON
else:
color = COLOR_OFF
ws2812.set_all(LED_PIN, [color] * LED_NUM)
# Debounce the button
utime.sleep(0.1)
while buttons.read(buttons.BOTTOM_RIGHT): pass
utime.sleep(0.1)
```
An example which connects the accelerometer with multiple RGB LEDs. They start lighting up when the card10 is moved:
```
import bhi160
import gpio
import ws2812
LED_NUM = 1
LED_PIN = gpio.WRISTBAND_1
acc = bhi160.BHI160Accelerometer(sample_rate=30)
while True:
data = acc.read()
if len(data) > 0:
color = (abs(int(data[0].x * 64)), abs(int(data[0].y * 64)), abs(int(data[0].z * 64)))
#print(data[0], color)
ws2812.set_all(LED_PIN, [color] * LED_NUM)
```
---
title: User Guide
weight: 10
---
{{% notice warning %}}
THIS USER GUIDE IS IN ITS EARLY STATE OF CONSTRUCTION. IT IS INCOMPLETE.
{{% /notice %}}
The user guide of the card10 is divided into a few sections. Here is an overview of the different sections and what they cover:
### [Assembly](assembly)
- [Assembly video](assembly#assembly-video)
- [Assembly instructions](assembly#assembly-instructions)
### [General usage](general-usage)
- [Buttons](general-usage#buttons)
- [Powering on](general-usage#powering-on)
- [Expected run time](general-usage#expected-run-time)
- [Going to standby](general-usage#going-to-standby)
- [Powering off](general-usage#powering-off)
- [Starting apps](general-usage#starting-apps)
- [Setting your personal state](general-usage#setting-your-personal-state)
- [Installing apps via USB](general-usage#installing-apps-via-usb)
### [Bluetooth Low Energy (BLE)](ble)
- [Enabling and disabling BLE](ble#enabling-and-disabling-ble)
- [Pairing](ble#pairing)
- [Creating a pairing](ble#creating-a-pairing)
- [Removing a pairing](ble#removing-a-pairing)
- [Checking if a device is already connected](ble#checking-if-a-device-is-already-connected)
- [Installing the companion app on Android](ble#installing-the-companion-app-on-android)
- [Installing the companion app on iOS](ble#installing-the-companion-app-on-ios)
- [Using the light sensor with Phyphox](ble#using-the-light-sensor-with-phyphox)
- [Using characteristics via BLE](ble#using-characteristics-via-ble)
### [The menu system](menu-system)
- [Selecting a default app](menu-system#selecting-a-default-app)
- [Changing the button layout](menu-system#changing-the-button-layout)
### [Using the card10 as a watch](watch)
- Setting the time without BLE
- Setting the time with BLE
- Apps which implement watch features
### [Using the card10's ECG functionality](ecg)
- Configuring the ECG app correctly
- Using it correctly
- Taking a recording
- Installing wired connections
### [Cases](cases)
- 3D printed cases
- Other variants
---
title: User Guide
---
The user guide of the card10 is divided into a few sections. Here is an overview of the different sections and what they cover:
### Assembling:
- Assembly video
- Instructions how to assemble the card10
### [General usage](general-usage)
- Buttons
- Powering on
- Expected run time
- Going to standby
- Powering off
- Installing apps via USB
### Bluetooth Low Energy (BLE):
- Pariring
- How to check if a device is connected
- Installing companion app on android
- Installing companion app on ios
- Using characteristics via BLE
- Using the light sensor with PhyFox
### Menu system
- How to select a default app
### Using the card10 as a watch
- Setting the time without BLE
- Setting the time with BLE
- Apps which implement watch features
### Using the card10's ECG functionality
- Configuring the ECG app correctly
- Using it correctly
- Taking a recording
- Installing wired connections
### Cases
- 3D printed cases
- Other variants
--- ---
title: Das card10 zusammenbauen title: Das card10 zusammenbauen
hidden: true
--- ---
Dein card10 kommt mit all seinen Komponenten und einem [flyer/booklet/Handbuch](/media/assembly_flyer.pdf). Du kannst dir ausserdem unser Zusammenbau-[video-tutorial](/vid/) anschauen. Dein card10 kommt mit all seinen Komponenten und einem [flyer/booklet/Handbuch](/media/assembly_flyer.pdf).
## Video
Dieses kurze [video](https://media.ccc.de/v/camp2019-2323-card10) zeigt wie dein card10 zusammengebaut wird.
Alles was du brauchst ist ein Torx T6 Schraubendreher.
{{< rawhtml >}}
<iframe width="1024" height="440" src="https://media.ccc.de/v/camp2019-2323-card10/oembed" frameborder="0" allowfullscreen></iframe>
{{< /rawhtml >}}
## Anleitung
Die Hauptkomponenten deines Card10 sind zwei elektronische Boards, das _fundamental_-Board und das _harmonic_-Board. Die Hauptkomponenten deines Card10 sind zwei elektronische Boards, das _fundamental_-Board und das _harmonic_-Board.
Das _fundamental_-Board sitzt direkt auf dem Armband, das _harmonic_-Board sitzt darüber. Das _fundamental_-Board sitzt direkt auf dem Armband, das _harmonic_-Board sitzt darüber.
Wenn du mehr über die Boards lernen willst, kannst du eine detailliertere Beschreibung auf der [Hardware-Übersicht](/en/hardware-overview/)-Seite finden. Wenn du mehr über die Boards lernen willst, kannst du eine detailliertere Beschreibung auf der [Hardware-Übersicht](/hardware)-Seite finden.
Wenn du die Tüte auspackst und das Board zusammensetzt, sorge dafür dass die Schutzfolie auf dem Display bleibt, bis du dir die Sektion zu Wenn du die Tüte auspackst und das Board zusammensetzt, sorge dafür dass die Schutzfolie auf dem Display bleibt, bis du dir die Sektion zu
[polarisierenden Displays](/de/faq/#why-should-i-consider-keeping-the-protective-foil-on-the-display) in der FAQ angeschaut hast. [polarisierenden Displays](/faq/#why-should-i-consider-keeping-the-protective-foil-on-the-display) in der FAQ angeschaut hast.
<img class="center" alt="harmonic board with glue dot" src="/media/assemble/IMG_20190819_143216.jpg" width="420" height="auto" align="center"> [![Harmonic board with glue dot](/media/assemble/IMG_20190819_143216.jpg)](/media/assemble/IMG_20190819_143216.jpg)
- Benutze den Klebepunkt, um die Batterie auf das Harmonic-Board zu kleben - Benutze den Klebepunkt, um die Batterie auf das Harmonic-Board zu kleben
<img class="center" alt="battery attached to harmonic board" src="/media/assemble/IMG_20190819_143128.jpg" width="420" height="auto" align="center"> [![Battery attached to harmonic board](/media/assemble/IMG_20190819_143128.jpg)](/media/assemble/IMG_20190819_143128.jpg)
- Stecke die Batterie ein - Stecke die Batterie ein
<img class="center" alt="attaching the spacers" src="/media/assemble/IMG_20190819_142944.jpg" width="420" height="auto" align="center"> [![Attaching the spacers](/media/assemble/IMG_20190819_142944.jpg)](/media/assemble/IMG_20190819_142944.jpg)
- Schraube die Abstandshalter mit den vier Schrauben an. - Schraube die Abstandshalter mit den vier Schrauben an.
- Stecke den nylon-Abstandshalter neben LED3. Der Nylon-Abstandshalter ist nicht symmetrisch, die flache Seite sollte in Richtung der Fundamental-Board-Schraube zeigen. Sei vorsichtig und zieh die Schraube auf dem Nylon-Abstandshalter nicht zu fest an, sonst riskierst du, dass das Gewinde im Abstandshalter beschädigt wird und die Schraube sich lockert. - Stecke den nylon-Abstandshalter neben LED3. Der Nylon-Abstandshalter ist nicht symmetrisch, die flache Seite sollte in Richtung der Fundamental-Board-Schraube zeigen. Sei vorsichtig und zieh die Schraube auf dem Nylon-Abstandshalter nicht zu fest an, sonst riskierst du, dass das Gewinde im Abstandshalter beschädigt wird und die Schraube sich lockert.
<img class="center" alt="both boards placed on top of each other" src="/media/assemble/IMG_20190819_143114.jpg" width="420" height="auto" align="center"> [![Both boards placed on top of each other](/media/assemble/IMG_20190819_143114.jpg)](/media/assemble/IMG_20190819_143114.jpg)
- Stecke die beiden Boards vorsichtig zusammen. - Stecke die beiden Boards vorsichtig zusammen.
<img class="center" alt="wristband with card10" src="/media/assemble/IMG_20190819_142436.jpg" width="420" height="auto" align="center"> [![Wristband with card10](/media/assemble/IMG_20190819_142436.jpg)](/media/assemble/IMG_20190819_142436.jpg)
- lege das Armband hin, mit der flauschigen Seite nach oben, und lege die Metall-stäbe auf das Badge und schraube die übrigen Schrauben an. - lege das Armband hin, mit der flauschigen Seite nach oben, und lege die Metall-stäbe auf das Badge und schraube die übrigen Schrauben an.
<img class="center" alt="wristband with card10" src="/media/assemble/IMG_20190819_142653.jpg" width="420" height="auto" align="center"> [![Wristband with card10](/media/assemble/IMG_20190819_142653.jpg)](/media/assemble/IMG_20190819_142653.jpg)
## Viel Spass mit deinem card10! ## Viel Spass mit deinem card10!
Jetzt ist es Zeit, dein card10 [anzuschalten](/de/gettingstarted/#card10-navigation). Jetzt ist es Zeit, dein card10 [anzuschalten](/tutorials/gettingstarted.de/#card10-navigation).
<img class="center" alt="happy hacking" src="/media/assemble/IMG_m6w9xw.jpg" width="420" height="auto" align="center"> [![Happy Hacking!](/media/assemble/IMG_m6w9xw.jpg)](/media/assemble/IMG_m6w9xw.jpg)
--- ---
title: Assemble your card10 title: "Assembly"
weight: 10
--- ---
{{% notice info %}}
Deutsche Version: [Das card10 zusammenbauen](../assembly.de)
{{% /notice %}}
Your card10 comes in a bag with all its components and a [flyer/booklet/manual](/media/assembly_flyer.pdf). You can also checkout our assembly [video-tutorial](/vid/). Your card10 comes in a bag with all its components and a [flyer/booklet/manual](/media/assembly_flyer.pdf).
## Assembly video
This short [video](https://media.ccc.de/v/camp2019-2323-card10) shows how to assemble your card10.
All that you'll need is a Torx T6 screwdriver.
{{< rawhtml >}}
<iframe width="1024" height="440" src="https://media.ccc.de/v/camp2019-2323-card10/oembed" frameborder="0" allowfullscreen></iframe>
{{< /rawhtml >}}
## Assembly instructions
The main components of your card10 are two electronic boards, the _fundamental_ board and the _harmonic_ board. The main components of your card10 are two electronic boards, the _fundamental_ board and the _harmonic_ board.
The _fundamental_ board sits directly on the wrist band, the _harmonic_ board with the display sits on top of it. The _fundamental_ board sits directly on the wrist band, the _harmonic_ board with the display sits on top of it.
If you are curious to learn more about the two boards, you can find a more detailed description on the [hardware overview](/en/hardware-overview/) page. If you are curious to learn more about the two boards, you can find a more detailed description on the [hardware overview](../..//hardware-overview/) page.
When unpacking and assembling, make sure to keep your protective foil on the display at first, until you had a look at the When unpacking and assembling, make sure to keep your protective foil on the display at first, until you had a look at the
[polarizing display](/en/faq/#why-should-i-consider-keeping-the-protective-foil-on-the-display) faq section. [polarizing display](../../faq/#why-should-i-consider-keeping-the-protective-foil-on-the-display) FAQ section.
<img class="center" alt="harmonic board with glue dot" src="/media/assemble/IMG_20190819_143216.jpg" width="420" height="auto" align="center"> [![Harmonic board with glue dot](/media/assemble/IMG_20190819_143216.jpg)](/media/assemble/IMG_20190819_143216.jpg)
- use the glue dot to attach the battery to the harmonic board - use the glue dot to attach the battery to the harmonic board
<img class="center" alt="battery attached to harmonic board" src="/media/assemble/IMG_20190819_143128.jpg" width="420" height="auto" align="center"> [![Battery attached to harmonic board](/media/assemble/IMG_20190819_143128.jpg)](/media/assemble/IMG_20190819_143128.jpg)
- plug in the battery - plug in the battery
<img class="center" alt="attaching the spacers" src="/media/assemble/IMG_20190819_142944.jpg" width="420" height="auto" align="center"> [![Attaching the spacers](/media/assemble/IMG_20190819_142944.jpg)](/media/assemble/IMG_20190819_142944.jpg)
- attach the spacers with four of the screws - attach the spacers with four of the screws
- put the nylon spacer next to LED3. The nylon spacer is not symmetrical, the flat side should face the fundamental board screw. Be careful not to fasten the screw too firmly to the nylon spacer, otherwise you risk damaging the thread in the spacer and the screw will become loose. - put the nylon spacer next to LED3. The nylon spacer is not symmetrical, the flat side should face the fundamental board screw. Be careful not to fasten the screw too firmly to the nylon spacer, otherwise you risk damaging the thread in the spacer and the screw will become loose.
<img class="center" alt="both boards placed on top of each other" src="/media/assemble/IMG_20190819_143114.jpg" width="420" height="auto" align="center"> [![Both boards placed on top of each other](/media/assemble/IMG_20190819_143114.jpg)](/media/assemble/IMG_20190819_143114.jpg)
- carefully connect the two boards with the connector - carefully connect the two boards with the connector
<img class="center" alt="wristband with card10" src="/media/assemble/IMG_20190819_142436.jpg" width="420" height="auto" align="center"> [![Wristband with card10](/media/assemble/IMG_20190819_142436.jpg)](/media/assemble/IMG_20190819_142436.jpg)
- place the wristband with its fluffy side up, put the metal bars on top of the badge and add the remaining screws - place the wristband with its fluffy side up, put the metal bars on top of the badge and add the remaining screws
<img class="center" alt="wristband with card10" src="/media/assemble/IMG_20190819_142653.jpg" width="420" height="auto" align="center"> [![Wristband with card10](/media/assemble/IMG_20190819_142653.jpg)](/media/assemble/IMG_20190819_142653.jpg)
## Have fun with your card10! ## Have fun with your card10!
Now it's time to [switch on](/en/gettingstarted/#card10-navigation) Now it's time to [switch on](/tutorials/gettingstarted/#card10-navigation)
your card10. your card10.
<img class="center" alt="happy hacking" src="/media/assemble/IMG_m6w9xw.jpg" width="420" height="auto" align="center"> [![Happy Hacking!](/media/assemble/IMG_m6w9xw.jpg)](/media/assemble/IMG_m6w9xw.jpg)
---
title: "Bluetooth Low Energy (BLE)"
weight: 30
---
BLE is a low power (and low throughput) radio communication standard. Currently the card10 only implements the peripheral role and can be connected to one other device at a time. The other device acts as the central and is usually a smartphone or a regular computer.
**Note:** All information on this page relates to firmware versions including and following release 1.16 (Pandemic Potato). Before this release BLE support was handled differently. All pairings created with release 1.15 and before become invalid with release 1.16.
## Configuring BLE
### Enabling and disabling BLE
By default BLE is turned off. This has multiple reasons:
- BLE slightly raises the power consumption
- If paired to another device, BLE can impact your privacy. Currently a paired card10 can be tracked (it does not implement BLE privacy features)
- An active BLE interface can pose a security risk (as to all wireless interfaces).
If you want to make use of the BLE features, you therefore have to enable BLE first.
BLE can be enabled and disabled in the `Bluetooth` app. The app will tell you if BLE is enabled or not:
![Going to standby](/media/ug/2-ble-menu.jpg)
![Going to standby](/media/ug/2-ble-off.jpg)
Use the `SELECT` button to enable or disable BLE. Your card10 will restart to apply the changes after pressing the button. This is normal.
![Going to standby](/media/ug/2-ble-ready.jpg)
After enabling BLE for the first time you can continue to create a BLE pairing:
## Pairing
### Creating a pairing
Generally the card10 only allows interaction with other devices if they have paired to he card10 before.
To create a pairing open the `Bluetooth` app:
![Going to standby](/media/ug/2-ble-menu.jpg)
![Going to standby](/media/ug/2-ble-ready.jpg)
Your card10 is now in pairing mode and can be seen by other devices. You can use the `card10companion` on Android or the system dialog of other devices to find your card10 and start the pairing process:
Android:
{{< figure src="/media/ug/2-ble-android-1.png" link="/media/ug/2-ble-android-1.png" width="300px" >}}
iOS:
card10companion:
Once the pairing process has started both devices will show a confirmation code. Make sure that they both show the same code and accept the pairing on both. If possible the card10 will also show a name of the device which is trying to pair:
![Going to standby](/media/ug/2-ble-confirmation.jpg)
**Hint:** On Android this dialog sometimes pops up in the background and has to be selected from the status bar.
Android:
{{< figure src="/media/ug/2-ble-android-2.png" link="/media/ug/2-ble-android-1.png" width="300px">}}
iOS:
card10companion:
If the pairing process was successful, the card10 will show the following message:
![Going to standby](/media/ug/2-ble-success.jpg)
It will also tell you the name of the pairing which was created. You can use this name to later delete it again.
If the pairing process failed, the card10 will show an error message:
![Going to standby](/media/ug/2-ble-fail.jpg)
This might be due to several issues:
- Your phone/computer might not yet support BLE 4.2 which implements the security features required by the card10
- You did not confirm the pairing in time. Make sure to locate the confirmation dialog on you phone. Especially on Android.
- BLE implementations frequently show bugs. Consider restarting both devices.
### Removing a pairing
If you don't trust a pairing anymore or want to prevent the other device from automatically connecting to your card10, you can remove an individual pairing. To do this go the the `USB Storage` mode, navigate to the `pairings/` folder and delete the pairing you want to remove:
Make sure to always us the `eject safely` feature of your operating system before leaving USB storage mode!.
## Checking if a device is already connected
The card10 can only be connected to one other device at a time. If you can't connect with a particular device it might be the case that another device is already connected. You can check if this is the case in the `Bluetooth` app. If another device is connected, it's name will be shown there:
![Going to standby](/media/ug/2-ble-active.jpg)
## Installing the companion app on Android
The companion app for Android allows you to:
- Set the current time and date
- Install or update apps
- Set the personal state
- Upload files
- Make your card10 sparkle
You can find the latest release of the Companion App in the F-Droid repository:
[Companion App for the card10 Chaos Communication Camp badge](https://f-droid.org/en/packages/de.ccc.events.badge.card10/)
Have a look at the [app section](/app) for more information about the app.
## Installing the companion app on iOS
Currently there is no regular iOS release of the card10 companion available. If you want to help out, **please** get in touch:
What you can to on iOS without the app:
- Get the current time and date (including time zone)
- *Probably* use Phyphox to read out sensors
## Using the light sensor with Phyphox
Phyphox is a versatile physics experimentation app for smartphones. It can use the internal sensors of a smartphone, but it can also use external sensors via BLE. Currently only the light sensor is exposed via BLE. This might change in future firmware releases.
To use the light sensor in Phyphox:
TBD
## Using characteristics via BLE
How to use nRF Connect goes here.
---
title: "Cases"
weight: 70
---
The card10 is a delicate piece of hardware. Consider getting a case for your card10 to give it a long life.
There are multiple options. The simplest is to just use the wrist band to protect your card10 while transporting it. Other options are printing a case or using a laser cutter. You can even build the simplest case using scissors and the plastics from a water bottle.
If you don't own a 3D printer (and don't have access to one or know people wo do), consider using one of the many 3D printing services like Shapeways.
## Using the wristband for protection
{{< figure src="/media/ug/6-case-wb.jpg" link="/media/ug/6-case-wb.jpg" width="800px" >}}
Simply roll one part of the wristband over the top of the card10 and use the other side to wrap around the whole card10. This protects the display from cracks while transporting the card10.
## card10 cover generator
A 3D printable case which can be customizes according to your desires. You can even print a whole wristband:
{{< figure src="/media/ug/6-case-roy.jpg" link="/media/ug/6-case-roy.jpg" width="800px" >}}
- https://niklasroy.com/card10covergenerator/index.html
- https://card10-cover.0x1b.de/index.php
- https://www.thingiverse.com/thing:3898846
- https://www.thingiverse.com/make:767080
## Wooden case by Backspace Bamberg
A case which can be cut from wood and acrylic glass:
{{< figure src="/media/ug/6-case-backspace.jpg" link="/media/ug/6-case-backspace.jpg" width="800px" >}}
- https://www.hackerspace-bamberg.de/Card10-case
## Cases made by cutting water bottles
Use scissors to cut out a small rectangle from a water bottle and screw it down. Probably the cheapest yet somehow effective "case":
{{< figure src="/media/ug/6-case-pet.jpg" link="/media/ug/6-case-pet.jpg" width="800px" >}}
- https://twitter.com/Haze_Core/status/1165247123669078016
## Full enclosure by ratzupaltuff
{{< figure src="/media/ug/6-case-ratzupaltuff.png" link="/media/ug/6-case-ratzupaltuff.png" width="800px" >}}
{{< figure src="/media/ug/6-case-ratzupaltuff-2.png" link="/media/ug/6-case-ratzupaltuff-2.png" width="800px" >}}
- https://github.com/ratzupaltuff/card10-case
- https://www.thingiverse.com/thing:3769330
- https://www.thingiverse.com/make:709697
## Original card10 case by 9r
{{< figure src="/media/ug/6-case-9r.jpg" link="/media/ug/6-case-9r.jpg" width="800px" >}}
- https://git.card10.badge.events.ccc.de/card10/cover
- https://www.thingiverse.com/thing:3815098
## Case by Jan Mrlth
{{< figure src="/media/ug/6-case-jan.png" link="/media/ug/6-case-jan.png" width="800px" >}}
- https://grabcad.com/library/card10-case-1
---
title: "ECG usage"
weight: 60
---
[![ECG usage with a finger](/media/ug/5-ecg-finger.png)](/media/ug/5-ecg-finger.png)
The card10 features a single channel ECG sensor. There are two
general ways how to use it (there are more, see the "Contact options" section):
- Wearing the card10 on your wrist and pressing a finger on one of the gold contacts
- Attaching a USB-C to [ECG electrodes adapter](/tutorials/ecg_kit_assembly/)
Using external electrodes will provide better signal quality and offers more flexibility on what and
how to measure.
{{% notice warning %}}
Do not attach a USB connection to the card10 while waring it. It is a safety hazard
(think electric shock because of a bad USB power supply) and it also makes the ECG measurements unusable.
{{% /notice %}}
Currently there are two ways how to see and save the data:
- Using the ECG app on your card10
- Using the card10 companion app on Android
In both cases you will need to start the ECG app on your card10. It is able to configure all parameters of the sensor via a menu system and allows to log the data to a file on the card10.
If you have your card10 paired to an Android phone you are also able to send the measurements to your phone via Bluetooth Low Energy (BLE). Make sure to use the latest card10 firmware and card10 companion app to use this feature. Minimum versions are:
- card10 firmware v1.18 (Queer Quinoa)
- card10 companion app v0.9
[![ECG app](/media/ug/5-ecg-app.jpg)](/media/ug/5-ecg-app.jpg)
## ECG app menu options
The ECG app offers a menu system to change the main parameters of the ECG sensors. You can enter the menu
by pressing the lower right button. By default you can then use the lower left and lower right buttons to
navigate between the different menu items.
### Mode
Use this to switch to switch between using your wrist/finger as a contact or external electrodes, connected
via USB-C.
[![Mode option in menu](/media/ug/5-ecg-menu-mode.jpg)](/media/ug/5-ecg-menu-mode.jpg)
### Bias
The bias option selects if a small bias voltage should be applied to the positive and negative ECG electrodes.
This helps the ECG sensor to make better measurements with less noise. It is turned on by default.
There is an alternative option to supply the bias voltage to the body: The third electrode which is at the bottom
of the card10. When you wear the card10 on your wrist this electrode also makes contact to your skin and
supplies the bias voltage. In this case you can experiment and turn off the bias voltage in the menu.
It is highly recommended to have this option active when using external electrodes, as you don't
need to have the back of the card10 connected to your body in that case.
[![Bias option in menu](/media/ug/5-ecg-menu-bias.jpg)](/media/ug/5-ecg-menu-bias.jpg)
### Rate
The sample rate at which the data is taken by the sensor. The default is 128 samples per second. So far this seems to be plenty. You can increase it to 256 samples per second if you want to.
### Filter
Muscle movement can easily swamp the ECG signal and make it hard to see. By default the card10 applies a high-pass
(HP) filter to reduce the effect of this. It is especially relevant when using the card10 on you wrist without
external electrodes. If you use external electrodes, give it a try and turn of this filter.
The signal written to the log file or transmitted via BLE to the Android app is not affected by this filter.
It is purely for displaying the ECG data on the card10's screen.
[![Filter option in menu](/media/ug/5-ecg-menu-filter.jpg)](/media/ug/5-ecg-menu-filter.jpg)
## Contact options
### Finger
[![ECG usage with a finger](/media/ug/5-ecg-finger.png)](/media/ug/5-ecg-finger.png)
## Finger ECG
![Top View Harmony Board](/media/ug/5-ecg-top_1-4.jpg "Finger ECG and Pulse Oxymeter")
Your card10 comes with a number of fun things to play with
- 1 : Contact, negative ECG electrode
- 2 : Pluse oxymeter (can [potentially, if at some point supported by software] measure pulse and blood oxygen
levels using an optical sensor)
- 3 : Contact, negative ECG electrode (again)
- 4 : Screw (also works as a negative electrode, see [8])
![Bottom View - ](/media/ug/5-ecg-bottom_5-6.jpg "COM for Bias and positive electrode for finger ECG")
- 5 : COM (for bias)
- 6 : Contact, positive ECG electrode
![Side View Details](/media/ug/5-ecg-side_front_7-8.jpg "Pin and isolation")
- 7 : Pin for soldering/stitching an alternative electrode, if you don't want to use (6)
- 8 : Plastic distancer, works as an isolation (see [4])
### USB-C
[![ECG usage with a USB cable](/media/ug/5-ecg-usb.jpg)](/media/ug/5-ecg-usb.jpg)
- see [ECG Kit Assembly](/tutorials/ecg_kit_assembly/) on how to solder your ECG cable
- NB: it DOES matter how you connect the kit via USB. if you get a lot of noise, try to turn the connection
### Wristband contacts
## Logging
### Phone
### card10
## Research
https://www.frontiersin.org/articles/10.3389/fnhum.2015.00145/full
https://ieeexplore.ieee.org/document/8857832
https://www.health.harvard.edu/heart-health/mindfulness-can-improve-heart-health
### Blood pressure measurement
### Meditation
### Synchronization
### BLE streaming to computers
## External resources
https://gehringer.li/post/20200105-card10/
---
title: "General usage"
weight: 20
---
## Buttons
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/UP` 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/DOWN` button.
[![Drawing of card10 with button names](/media/card10buttons.svg)](/media/card10buttons.svg)
## Powering on
To switch on card10, briefly press the `POWER` button. After showing you which firmware version is installed, it will launch the [default app](../menu-system#selecting-a-default-app).
[![Boot Screen 1](/media/ug/1-boot-1.jpg)](/media/ug/1-boot-1.jpg)
[![Boot Screen 2](/media/ug/1-boot-2.jpg)](/media/ug/1-boot-2.jpg)
[![Default App](/media/ug/1-default-watchface.jpg)](/media/ug/1-default-watchface.jpg)
### Expected run time
With the default watch face and the current firmware (version 1.16) , a card10 should last around 24 hours. It will go into standby mode when the battery reaches a critically low level. In standby mode it continues to keep the time for multiple days. Even with an "empty" battery.
The card10 signals going to sleep with this screen and by turning on the vibration motor:
## Going to standby
The card10 has a standby mode in which it continues to keep the current time and date. In this mode it draws very little power and should last multiple months with a full battery.
To go the standby mode press the `POWER` button for a few seconds until you see this screen:
[![Going to standby](/media/ug/1-standby.jpg)](/media/ug/1-standby.jpg)
Let go of the button before the counter reaches 0 and your card10 will go to standby. If you keep pressing until the counter reaches 0, you card10 will hard turn off and lose the current time and date.
## Powering off
Sometimes it is necessary to fully power off the card10:
- When storing it for a longer period to preserve the battery
- To reset it if the firmware is not able to go to standby anymore
- To reduce power consumption if a debugger was attached before
To fully power of the card10, press the `POWER` button for at least 10 seconds. If the firmware is working, you will see the card10 counting down until 0 and then turn off. If the firmware is not working, slowly count to 10 and let go of the button. Afterwards you can turn on the card10 as usual again.
## 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/DOWN` button,
and up with the `LEFT/UP` button. The `SELECT` button starts the selected app.
The POWER button will always bring you back to the main menu, no matter what the current app is doing.
If you chose "Home" or let the menu time out (after 30 seconds) it will launch the [default app](../menu-system#selecting-a-default-app).
Each time you press the `POWER` button the card10 will be reset into a known state. The LEDs, the sensors and the vibration motor will turn off. The display will turn on.
## Setting your personal state
The card10 comes with an app to set your [personal state](/ps). Enter the menu
by pressing the POWER button briefly. Select the `Personal State` app with the `SELECT` button,
and navigate to your state with the `LEFT/UP` and `RIGHT/DOWN` buttons. Unlike the other apps, the state of the personal
state LED will remain blinking and glowing even after you leave the app.
[![Personal State](/media/ug/1-ps.jpg)](/media/ug/1-ps.jpg)
## Installing apps via USB
Your card10 can function similar to a USB stick in its _USB Storage Mode_. You can use this mode to upload configuration files, firmware updates and apps. Another way to install apps is via [Bluetooth](../ble) using your mobile phone and the [card10companion app](/app).
First: connect another computer (or mobile phone) via USB to the card10.
Press the `POWER` button to enter the menu and navigate to `USB Storage`. Then use the `SELECT` button to activate the USB storage mode.
[![Going to standby](/media/ug/1-usb-storage.jpg)](/media/ug/1-usb-storage.jpg)
[![Going to standby](/media/ug/1-usb-active.jpg)](/media/ug/1-usb-active.jpg)
{{< rawhtml >}}
<div id="bootloader-fix"></div>
{{< /rawhtml >}}
{{% notice info %}}
If you don't have a `USB Storage` menu entry or your card10 reboots while using it, you can also use the bootloader to access your card10: First put your card10 into [standby](#going-to-standby) with a long press of the `POWER` button. Next, hold down the `RIGHT/DOWN` button and press the `POWER` button, until your display shows the text "USB activated. Ready.". Use your operating systems "Eject Safely" function or press the POWER button again to exit the bootloader after you are done.
{{% /notice %}}
You can now use your computer to access the internal file system of the card10. The `apps` folder contains all applications which are installed on the card10. The card10 comes with a few applications already pre-installed which you can find as well in the `apps` folder.
**Important:** Don't forget to eject/unmount the card10 before unplugging it or pressing any button.
To get additional applications please go to the [badge.team hatchery](https://hatchery.badge.team/badge/card10) and select `card10` as the badge model:
[![Going to standby](/media/ug/1-badge-team.png)](https://hatchery.badge.team/badge/card10)
You can now browse the different applications. After selecting one, you can press "Download latest egg (tar.gz)" which contains the files needed to execute the app on your card10. Simply download the file and extract its contents into the `apps` folder on the card10. You can also update already installed applications this way:
![Going to standby](/media/ug/1-download-egg.png)
After transferring the application files don't forget to use the "Eject Safely" functionality of your operating system to make sure all data gets written to the card10.
If you experience issues with apps not working, weird files showing up, the file system being read-only or your operating system talking about a corrupted file system, go to the [file system maintenance page](../../maintenance/filesystem) and follow the instructions to repair the file system.