Close
0%
0%

BalCCon Cyberdeck 0o27, aka BCD-0o27

Style over substance, that's why!

Similar projects worth following
Note: This is a pre-release of the BalCCon Cyberdeck 0o27, or BCD-0o27 in short (which will be the offical badge for the BalCCon security conference in September). Development is still in progress (and will probably always be - as every console cowboy knows: Don't take the stock firmware. Make it yours.)

The BCD-0o26 features 8 buttons for input, a reset button and a (honestly useless, as you don't need it due to the auto programming circuit) boot button for programming. Further it features 6 ws2812b individually addressable RGB leds, a st7735 160x128px 1.8" display, a SAO (semi-)compatible i2c port and a serial console. At its heart is a ESP32-S3 that offers everything a netrunner desires, including wifi and bluetooth connectivity.

While the BCD-0o26 comes with an example firmware, the main idea is that it also provides a framework that allows for easier development and customisation of own firmware. The development framework is programmed in c++ on top of espidf.

Get the repository containing the hardware design needed for manufacturing and the software framework at https://gitlab.com/fschuetz/bcd-0o27/. Make sure to clone the repository with all its submodules.

Detailed documentation can be found in the git repository. The schematics, pcb design the framework for developing your own firmware as well as an example firmware is provided. Make sure to check the documentation directory for instructions.

As this is an ongoing project, more information will be added in due time. This was the official badge for the BalCCon 2k23 security conference in Novi Sad and it will be used and enhanced in the future. So easiest to get a badge is to visit the conference and order yours - or order online once the organisers offer this. However, everything is provided here, so you can build and assemble your own hardware (without the conference logo, so a little less style ;-)). 

When checking out the example firmware or developing your own firmware please note that currently there is a bug in the serial console code. When you connect your computer to your badge using a serial cable and opening a serial connection (preferably with syncterm (http://syncterm.net) or minicom (https://salsa.debian.org/minicom-team/minicom) or another ansi capable terminal), the terminal might not be properly recognised if the cyberdeck already started up. If you don't get a prompt, leave everything connected and reset the cyberdeck by pushing the reset button (left button between battery holder and display).

WiFi configuration must be done through the console in the example firmware. Type wificfg help for instructions. (or be brave and just do wificfg add ssid pass, then wificfg connect - but keep in mind you can store the configuration and then quickconnect using wificfg lsc id, where id is the slot you stored the configuration in).

Also, there is a case in the files section (not the repository yet) that can be 3d printed and used (hiding the nice pcb, but diffusing the leds). When you use the case, you need to use other buttons for the badge. Use the same brand (see BOM), but higher ones. 

Contributions are highly welcome. Whether this is improving the framework or contributing interesting modules or console commands. Just contact me if you have questions.

A special thank you to honey the codewitch, who develops the htcw gfx library (https://github.com/codewitch-honey-crisis/gfx) and was super helpful for getting some bugs fixed and giving some advice. Further thanks goes to the developers of libssh2 (https://libssh2.org/), and linenoise (https://github.com/antirez/linenoise). And of course the people behind espidf and the people behind FreeRTOS.

Last but not least I would like to thank Jelena and Mladen for their support in spinning around ideas and reviewing the electronics design and the example framework implementation. And Voja for helping troubleshooting a strange effect that would lead to the TP5000 overheating with my psu design - even though we never found the reason and I redesigned it to avoid the problem. 

BCD-0o27-Presentation-BalcCon.pdf

Presentation about building the cyberdeck and some of its features.

Adobe Portable Document Format - 11.27 MB - 09/17/2023 at 10:04

Preview
Download

BCD-Oo26-rev5.STEP

3d step file of the cyberdeck. Can for example be importet to 3d modeller to design own cases.

step - 26.42 MB - 09/12/2023 at 23:13

Download

Hardware Assembly Guide.pdf

Manual how to order pcbs and get them assembled. Get KiCAD files from the git repository.

Adobe Portable Document Format - 952.22 kB - 08/15/2023 at 01:17

Preview
Download

Hardware Design.pdf

Initial design considerations, potentially outdated.

Adobe Portable Document Format - 532.82 kB - 08/15/2023 at 01:17

Preview
Download

Development Guidelines.pdf

In the making guide on how to develop for the cyberdeck.

Adobe Portable Document Format - 131.80 kB - 08/15/2023 at 01:17

Preview
Download

View all 7 files

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates