/Defcon28-Badge

DCZia Defcon 28 Badge - 2020 #badgelife

Primary LanguageShell

DEFCON28-Badge

DCZia 2020 Defcon 28 Badge - PiBadge Mini

 ____  _ ____            _            __  __ _       _ 
|  _ \(_) __ )  __ _  __| | __ _  ___|  \/  (_)_ __ (_)
| |_) | |  _ \ / _` |/ _` |/ _` |/ _ \ |\/| | | '_ \| |
|  __/| | |_) | (_| | (_| | (_| |  __/ |  | | | | | | |
|_|   |_|____/ \__,_|\__,_|\__, |\___|_|  |_|_|_| |_|_|
                           |___/                       

Description

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.

Build Guide Almost Done -- Check back Saturday 8/1

Build Guide

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 ?

Hardware Overview

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:

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

Mini Pi Badge Official Hardware - Ordering Suggestions

Software Setup Guide

Official DCZia Raspbian / Debian Buster Image

Build Script

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.

Alternative Options

Bring your own pi or fbcp-ili9341 display

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.

PiBadge XL

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

Manual Install:

  • Install base raspbian
  • Install hyperpixel drivers: curl https://get.pimoroni.com/hyperpixel4 | bash
  • Set rotation after drivers are installed and before reboot: hyperpixel-rotate right
  • Reboot
  • Clone the repo
  • Run the hyperpixel_setup.sh scrip to pull down the videos and install software.
  • Reboot!

Cases

See the cases folder. Syntax remixed a case design to allow your badge to be protected with an optional lid. babdor also made a Zia shaped desk stand for your PiBadge.

Troubleshooting

  • For now you need to clone the repo into the pi users home directory as paths are hardcoded. I know, i know...
  • If you see the worlds tiniest console on your pi you are likely missing the video. Check if dczia2020.m4v is in the videos folder.
  • If your screen stays white check that fbcp-ili9341 is running, this is the LCD driver. (ps -ef | grep fbcp)
    • If it is running and your screen is still white, check your soldering if you soldered on the headers.

WiFi Setup

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