ZigZag: Your Personal Security Badge

Radiona.org is a non-profit organisation and citizen lab consisting of makerspace/hackerspace, media art lab, Repair Café and residence program founded in 2011. The organisation is dealing with DIY (do-it-yourself), DIWO (do-it-with-others) and DITO (do-it-together) cultures, STEAM concepts, interdisciplinary and intergenerational non-formal education and hybrid activities.

About RadionaOrg

Request and starting point

 

We got request from BSidesZG to design some blink LED badge with some interesting task to solve.

https://www.bsideszagreb.com/

Starting point for our badge was RVPC from Olimex, we have preserved most of schematics, and added LEDs

The EURO 1.00 Risc-V personal computer with VGA and Keyboard and Woz like monitor. The purpose of this project is to make educational platform which people can use to learn RISCV assembler and experiment like in the old days in 1980s :)

https://www.olimex.com/Products/Retro-Computers/RVPC/open-source-hardware

We whare also inspired with BalCCon badge that is using same chip.

https://2k25.balccon.org/

Olimex 1€ RVPC

BalCCon 2024 badge

Few of ideas we wanted to test

 

  • Keep it simple
  • Keep it low cost
  • Should be solder able by hand
  • Input and outputs are needed
  • Tasks can be quickly changed added
  • It needs to be cheap to order assembled
  • Use most standard COIN CELL battery CR2032
  • Unique design that is connected to Radiona (ZigZag)
  • Badge should not drain to much current so it can survive conference day

ten-cent RISC-V part that has an impressive array of capabilities

 

  • CH32V003 QingKe 32-bit RISC-V2A processor
  • 48MHz system main frequency
  • 2KB SRAM
  • 16KB Flash

Why 5 LEDs?

With less then 5 LEDs we could do blinky, but with 5 we can do

Persistence of Vision (PoV) Display

https://en.wikipedia.org/wiki/Persistence_of_vision

https://radiona.org/wiki/project/wifi_signal_painting

Why Only one button?

 

We only have 6 pins, and we did not want to introduce any additional chip.

And there are many things we can do with one button.

Considering that we can have short press, long press, longer press, double press, triple press - you get the point that one button should be enough for everything...

Why those component and why 0603

 

We are using 0603 resistors and 0805 LEDs as they are still hand solder able, and we are using those on ULX3S so we can recycle components from scraped boards...

Assembly

 

We wanted to confirm hand assembly, and low batch DIY assembly so we did first badge by hand, and rest of 69 badges with stencil. We baked first batch in oven but also checked paper stencil + hot air, and all works fine.

Paper is just 80g color paper. Diode laser cuts some colors better so we are using orange one.

For PCB holder we are using cardboard

And for BOTTOM side we are using standoff cutter from hammer paper.

Applying paste to front side

Implemented features

 

  • Fancy raider blinking
  • Morse used for output messages
  • PoV used for clues and solutions
  • Short button press
  • Long button press
  • Sleep mode

 

Make it hackable!

 

We did not want to remove any RVPC component so with moving few resistors and closing jumpers you could even have RVPC with VGA, PS2 and speaker...

Badge Power ON

Put battery and you will see one LED slightly ON.

There is 5 second programming delay, please wait 5 seconds and badge will start doing LED RAIDER.

Badge sleep

Hold button until you see all LEDs on, release button and badge will go to sleep.

In sleep mode badge will consume around 1mA.

To go out of sleep just press button again.

If you will not use badge for long period it is best to remove battery.

 

Modes

This badge has 10 cases, 5 are Morse code 5 are Pov ( Persistance of Vision ).

On button press you are moving to next case.

Morse

It is hardly human readable, so you will need to use some app, or write your own...

Each LED has it's own message, first 4 are encoded clues or keys for last one.

Fourth message is not the same for public and speakers so make sure you have both.

Last message is encrypted.

 

PoV

 

GOTO 2DARK

SET BLEND 2S

MOVE BADGE

 

1,2,3 PoV messages are solutions to first 3 tasks 4,5 PoV messages are clues for messages 4 and 5 if you are stacked...

Top side PCB design by Damir Prizmić Back side PCB design by Goran Mahovlić

Idea: BSidesZG, Ante Jurjević, Damir Prizmić, Goran Mahovlić, kost, 1g0r, BalCCon Badge, Olimex RVPC

Code: Goran Mahovlić

Big thanks to Olimex for all RVPC code examples...

       

Badge solvers

 

BSidesZG 07.03.2025. Jurica Radović ~4h

Designers and helpers

Thank you!

 

https://slides.com/goranmahovlic/

https://radiona.org/

https://intergalaktik.eu/news

https://github.com/RadionaOrg/ZigZag

https://github.com/goran-mahovlic/

https://github.com/intergalaktik/

ZigZag

By Goran Mahovlić

ZigZag

LoRa - LoRaWAN presentation

  • 181