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.
We got request from BSidesZG to design some blink LED badge with some interesting task to solve.
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.
Olimex 1€ RVPC
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
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...
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...
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
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...
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.
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.
This badge has 10 cases, 5 are Morse code 5 are Pov ( Persistance of Vision ).
On button press you are moving to next case.
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.
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...
BSidesZG | 07.03.2025. | Jurica Radović | ~4h |
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/