-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
51 changed files
with
2,189 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,43 @@ | ||
# xcb-2024 | ||
Cross Communication Badge to gamify conference encounters | ||
# xcb-2024 | ||
The cross communication badge (xcb) was created for a two day internal company conference. Its main purpose was to gamify communication and networking across the 150 participants. | ||
|
||
<img src="img/xcb-2024-top-bottom-revb-photo-front-assembled-off.jpg" width="800"/> | ||
|
||
<sup>Additional images can be found in the [img](img/) directory</sup> | ||
|
||
# Features | ||
The badge features three modes: Conference, Play and Sensor. | ||
|
||
In <ins>conference mode</ins> each badge transmits its unique ID every 30 seconds. Any badge receiving two transmissions from the same badge within 100 seconds will count this as a unique contact. Due to limited infrared power, close proximity between sender and receiver is assumed. The amount of unique contacts is displayed on the LCD screen to gamify in-person encounters. | ||
|
||
In addition secret badges are hidden at the event location, offering a treasure hunt for those who want to explore beyond the main conference tracks. The needed hints are printed on [flyers](xcb-2024-flyer.pdf) handed out with the badge. The discovery of these secret badges is encoded in the display as single segments to easily compare progress between participants. | ||
|
||
It was important to me that the badge could be re-used after the conference so I added two additional modes. | ||
|
||
In <ins>play mode</ins> the badge features a version of the popular game Simon https://en.wikipedia.org/wiki/Simon_(game) (in Germany known as Senso https://de.wikipedia.org/wiki/Senso_(Spiel)). People can chase a high score, which can also be displayed when in conference mode. | ||
|
||
In <ins>sensor mode</ins> the badge transforms into a temperature and humidity display with min/max functionality. Powered by USB the badge can continue to operate in the home or office. | ||
|
||
On the back of this stacked PCB assembly (preventing any electrical shorts while wearing) the participants can find a [silk screened word puzzle](img/xcb-2024-bottom-revb-render-back.png) containing the names of the employees of the company. | ||
|
||
## Video | ||
There is a short video highlighting all badge features on youtube: https://youtu.be/XA52-lHTVL4 | ||
|
||
<a href="http://www.youtube.com/watch?feature=player_embedded&v=XA52-lHTVL4" target="_blank"> | ||
<img src="http://img.youtube.com/vi/XA52-lHTVL4/hqdefault.jpg" alt="xcb-2024 on youtube" width="800" border="2" /> | ||
</a> | ||
|
||
# Hardware | ||
The hardware is [straight forward](kicad/xcb-2024-top-revb-schematic.png). Powered by two CR2032 coin cells or USB, a STM32, a three digit LCD display, an infrared receiver/transmitter, a buzzer, four capacitive touch buttons and a temperature and humidity sensor. All neatly packed into a wearable badge. | ||
|
||
# Repository | ||
- [datasheets](datasheets/): Datasheets of most components | ||
- [firmware](firmware/): STM32CubeIDE project | ||
- [kicad](kicad/): KiCad schematics, PCBs and BOM for single+panelized badge and flash adapter | ||
- [tools](tools/): Helper scripts to generate buzzer note table, mass flashing with auto ID increment and masked word puzzle generator | ||
|
||
# License | ||
This project is licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported (CC BY-NC 3.0) license. Use of the company name and company logo in any form is not covered by this license. | ||
|
||
# Thanks <3 | ||
Thanks to Fabian for helping out on the flyer design and Andrii, Maria (+Sebastian), Monika, Niels (+Milla) for working hard doing the final mechanical assembly! |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+454 KB
...sheets/C2757850-AHT-20_Aosong Electronic Temperature and Humidity Sensor Design Guide.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added
BIN
+671 KB
datasheets/C46830-an4013-introduction-to-timers-for-stm32-mcus-stmicroelectronics.pdf
Binary file not shown.
Binary file added
BIN
+259 KB
...heets/C46830-an4061-eeprom-emulation-in-stm32f0xx-microcontrollers-stmicroelectronics.pdf
Binary file not shown.
Binary file added
BIN
+6.53 MB
...ts/C46830-cd00167594-stm32-microcontroller-system-memory-boot-mode-stmicroelectronics.pdf
Binary file not shown.
Binary file added
BIN
+1.02 MB
...heets/C46830-cd00262073-stm32-st-link-utility-software-description-stmicroelectronics.pdf
Binary file not shown.
Binary file added
BIN
+6.45 MB
...eets/C46830-um1785-description-of-stm32f0-hal-and-lowlayer-drivers-stmicroelectronics.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# xcb-2024 | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-front-assembled-off.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-front-assembled.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-back-assembled.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-unpopulated.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-populated.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-panel-unpopulated.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-panel-populated.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-top-bottom-revb-photo-panel-pile.jpg" width="800"/> | ||
|
||
<img src="xcb-2024-dev-adapter-reva-photo.jpg" width="800"/> | ||
|
||
# xcb-2024-top | ||
|
||
<img src="xcb-2024-top-revb-render-front.png" width="800"/> | ||
|
||
<img src="xcb-2024-top-revb-render-back.png" width="800"/> | ||
|
||
<img src="xcb-2024-top-revb-panel-4x1-render-front.png" width="800"/> | ||
|
||
<img src="xcb-2024-top-revb-panel-4x1-render-back.png" width="800"/> | ||
|
||
# xcb-2024-bottom | ||
|
||
<img src="xcb-2024-bottom-revb-render-front.png" width="800"/> | ||
|
||
<img src="xcb-2024-bottom-revb-render-back.png" width="800"/> | ||
|
||
# xcb-2024-dev-adapter | ||
|
||
<img src="xcb-2024-dev-adapter-reva-render-front.png" width="800"/> | ||
|
||
<img src="xcb-2024-dev-adapter-reva-render-back.png" width="800"/> |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"> | ||
<attributes> | ||
<attribute name="module" value="true"/> | ||
</attributes> | ||
</classpathentry> | ||
<classpathentry kind="src" path="src"/> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>WordPuzzleGenerator2</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
</natures> | ||
</projectDescription> |
2 changes: 2 additions & 0 deletions
2
tools/WordPuzzleGenerator2/.settings/org.eclipse.core.resources.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
eclipse.preferences.version=1 | ||
encoding/<project>=UTF-8 |
14 changes: 14 additions & 0 deletions
14
tools/WordPuzzleGenerator2/.settings/org.eclipse.jdt.core.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 | ||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve | ||
org.eclipse.jdt.core.compiler.compliance=21 | ||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate | ||
org.eclipse.jdt.core.compiler.debug.localVariable=generate | ||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate | ||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled | ||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning | ||
org.eclipse.jdt.core.compiler.release=enabled | ||
org.eclipse.jdt.core.compiler.source=21 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
/WordPuzzleGenerator2$Orientation.class | ||
/WordPuzzleGenerator2$StringLengthComparator.class | ||
/WordPuzzleGenerator2$WordPlace.class | ||
/WordPuzzleGenerator2.class |
Oops, something went wrong.