DCZia 2020 Defcon 28 Badge - PiBadge Mini
____ _ ____ _ __ __ _ _
| _ \(_) __ ) __ _ __| | __ _ ___| \/ (_)_ __ (_)
| |_) | | _ \ / _` |/ _` |/ _` |/ _ \ |\/| | | '_ \| |
| __/| | |_) | (_| | (_| | (_| | __/ | | | | | | | |
|_| |_|____/ \__,_|\__,_|\__, |\___|_| |_|_|_| |_|_|
|___/
This year was crazy, so our origianl plan never happened. Howerever we wanted to do something so that people could have a badge for this year. Our idea was to have an open source design that you can buy parts online and put together at home. We did this with our first badge, and decided to revisit it now just in a smaller package! Think of it as a mini badge, or a small desk toy.
DCZia would like to present the PiBadge Mini: A Raspberry Pi Zero W with a Waveshare 1.44" LCD Display. We wrote a custom image for the Pi that will auto play some open source and in house made videos.
Coming soon, but here is the rough guide:
- Gather parts listed in the Hardware Overview.
- Get your pi and screen, and put them together. If your pi does not have headers already attached, solder them on now.
- Install the screen. Be gentle when putting the screen on, gently press on the sides of the boards to attach it. Avoid pressing down on the screen as it is delicate.
- Burn the official DCZia Raspbian image to your SD card using something like balenaEtcher or another SD card imaging tool. (dd, etc...)
- Optionally if you want to build your own image read about how to use our Build Script
- Power on your pi with a usb power adapter.
- Profit ?
The general hardware used for this is:
- Raspberry Pi Zero W
- Waveshare 1.44" Pi Zero LCD Screen
- SD Card - Speed Class 10 / U1 highly recommended
Optional unsupported hardware, but likely to work:
- Any Pi
- Any screen supported by https://github.com/juj/fbcp-ili9341
Cheap mode (aka i already have a pi but dont want to buy a screen)
- Any Pi
- Plug HDMI from the Pi into your TV. Presto, giant DCZia badge / screensaver / whatever
-
WaveShare 1.44" LCD Screen 128x128 Resolution
-
Raspberry Pi Zero w/header presoldered
-
Or if you can solder
-
SD card 8GB minimun
Coming soon!
- Download Raspbian Buster Lite (https://downloads.raspberrypi.org/raspios_lite_armhf_latest)
- Burn it to an sd card (using balenaEtcher, dd, etc...)
- enable networking
- Boot it, login with the default raspbian user: pi password: raspberry
- Change your password with passwd
- Install git: sudo apt-get install git
- Clone our git repo: git clone https://github.com/dczia/Defcon28-Badge.git
- Run the dczia_setup.sh script inside our repo
- Reboot and you should be good! Screen will be white while booting.
- New hostname will be: pibadgemini
- user: pi pass: dczia
Still a work in progress. Currently it supports our PiBadge 1/2 screen the Adafruti PiTFT 3.5", and the WaveShare 1.44" LCD. Shoudl work on a Pi Zero, Pi Zero W, Pi A, and Pi B.
If you have any pi with a base Raspbian Buster image you should be able to run our setup script to build the badge environment. You will likely need to tune the fbcp-ili9341 build options for your screen.
Also if you have any PiScreen you should also be able to install the native drivers for your screen and then remove the fbcp-ili9341 driver section from the script to get up and running, but this is unsupported and other drivers may have performance issues.
What? I thought this year you were doing mini?! I know,.. I know... but if you want to go big we also present the PiBadge XL. Go buy a Hyperpixel 4" screen here: https://www.pishop.us/product/non-touch-hyperpixel-4-0-hi-res-display-for-raspberry-pi/
Pi Shop also carries the Pi Zero W with and without headers: https://www.pishop.us/product/raspberry-pi-zero-w/
Hyperpixel Cases: https://www.thingiverse.com/search?q=Hyperpixel&type=things&sort=relevant&page=2
- Install base raspbian
- Install hyperpixel drivers: curl https://get.pimoroni.com/hyperpixel4 | bash
- Clone the repo
- Copy this to /etc/rc.local before the exit 0: sudo /home/pi/Defcon28-Badge/autoplay.sh DCZIA
- Done, hopefully
Coming Soon!
For now you need to clone the repo into the pi users home directory as paths are hardcoded. I know, i know...
If you want to configure your pi to have network access there are two way to do it:
If you do not have a keyboard & monitor Mount your /boot partition on the SDCard and add a file called wpa_supplicant.conf
Add the following information:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US
network={
ssid="<Name of your wireless LAN>"
psk="<Password for your wireless LAN>"
}
Finally add an empty file called SSH to the /boot folder to enable SSH.
More info at: https://www.raspberrypi.org/documentation/configuration/wireless/headless.md
If you have a keyboard and monitor
Log into your Pi using the default Raspbian username and password then use the tool raspi-config to setup WiFi and enable SSH.
Alternativly you can use the commandline to setup your wireless network.
Open the wpa-supplicant config file in nano or vi:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Add the following lines to the bottom:
network={
ssid="your network"
psk="your password"
}
NOTE: for added security (who doesn’t appreciate that?), omit the quotes and input your password as a 32 byte hexadecimal!
Save the file by pressing Ctrl+x, then y, then Enter
If it doesn’t work, check your inputs
More config deets available at https://www.raspberrypi.org/documentation/configuration/wireless