Skip to content

Latest commit

 

History

History
251 lines (149 loc) · 15.2 KB

README.md

File metadata and controls

251 lines (149 loc) · 15.2 KB

Building guide

BOM

These BOMs are for assembling a finished backpack and are to be seen additional to the PCBA BOMs in the respective pcb folder. These BOMs will not include any parts that are placed on the board by the PCB fabhouse.

This list is also what you would get, if you were to buy a kit through Tindie.

Bare / Prototype

Name Part number Amount Link
Protoboard PCB N/A 1 PCB
Connecting-piece PCB N/A 1 PCB
8 x 2.54mm pin header N/A 1 N/A
10 x 2.54mm pin header N/A 1 N/A
3D printed case N/A 1 Case
M2 x 5mm self tapping screw GB2670.2 5mm 3 M2 x 5 noname screws

ESP32 Internal Antenna

Name Part number Amount Link
ESP32 PCB (With ESP32-S2-WROVER, C701333) N/A 1 PCB, PCBA BOM
Connecting-piece PCB N/A 1 PCB
8 x 2.54mm pin header N/A 1 N/A
10 x 2.54mm pin header N/A 1 N/A
3D printed case N/A 1 Case
M2 x 5mm self tapping screw GB2670.2 5mm 3 M2 x 5 noname screws

ESP32 External Antenna

Name Part number Amount Link
ESP32 PCB (With ESP32-S2-WROVER-I, C701334) N/A 1 PCB, PCBA BOM
Connecting-piece PCB N/A 1 PCB
8 x 2.54mm pin header N/A 1 N/A
10 x 2.54mm pin header N/A 1 N/A
3D printed case N/A 1 Case
M2 x 5mm self tapping screw GB2670.2 5mm 3 M2 x 5 noname screws
2.4GHz Wifi Antenna with IPX to RP-SMA cable N/A 1 Noname Antenna

Raspberry Pi

Name Part number Amount Link
Raspberry PCB N/A 1 PCB, PCBA BOM
Connecting-piece PCB N/A 1 PCB
8 x 2.54mm pin header N/A 1 N/A
10 x 2.54mm pin header N/A 1 N/A
Raspberry Pi Zero W RPD08818W 1 Elecrow Rpi Zero W
3D printed case N/A 1 Case
M2 x 5mm self tapping screw GB2670.2 5mm 3 M2 x 5 noname screws
M2.5 Hexagon Nut DIN-EN-ISO 4032 2 Norm
M2.5 x 6mm countersunk machine screw ISO 14581 2 Norm
CR927 (3V) Battery N/A 1 N/A

3D printing

In the 3d_printing folder you'll find a case option for every design variant. The cases are to be printed with PETG with 0.15mm layer height and a 0.4mm nozzle. Larger layer heights or nozzles might make the boards not fit easily.

The cases currently provided are:

  • Bare (Case without cutouts for prototyping)
  • ESP32_InternalAntenna (Wifi dev board using the on-board ESP32 antenna. Sleek and compact)
  • ESP32_ExternalAntenna (Wifi dev board using an external antenna. Powerful but bulky)
  • Raspberry (Pi Zero mount)

Assembling the boards

Step 1 - Clamp the back board vertically

Step1

Step 2 - Slide on the connecting piece

Step2

Step 3 - Solder down one of the connectors

You don't have to care about the angle of the boards for now.

Step3

Step 4 - Reflow the connection, aligning the boards at 90 degrees

Step

Step 5 - Make sure the boards are also aligned when viewed from the front

Step5

Step 6 - Solder the remaining connections on the top

Step6

Step 7 - Make sure that none of the connections are bridged between the pads horizontally

Step7

Step 8 - Flip the board around so you can see the bottom connections

Step8

Step 9 - Solder the bottom connections

Step9

Step 10 - Flip the board around again and solder the pin headers

Make sure to get them at a right angle to the board as well. Otherwise you will put stress on the board when inserting into the Flipper.

Step10

Step 11 - Optional - Find the 3D printed case and screws

Step11

Excursion: Installing the antenna jack for external antenna boards

Step 11.1 - Insert the antenna jack into the slot and fix nut from the outside

Step11.1

Step11.1b

Step 11.2 - Plug antenna extension into the board

Step11.2

Step 11.3 - Carefully route the extension while inserting the board

Step11.3

Step 11.4 - Make sure the board is seated without pinching the wire

Step11.4

Step 12 - Slide the board into the case and screw down the 3 mounting points

Step12

Raspberry Pi specific subassembly

Step 0 - Find the Raspberry board and read the instructions as printed on the board

Step0

Step 1 - Place the Raspberry Pi Zero W on top of the board

Note the lack of pin headers. The board won't fit with headers installed!

Step1

Step 2 - Screw down the Raspberry Pi Zero W using M2.5 screws and nuts from behind

The screws are countersunk into the PCB so they will be flat from the outside

Step2

Step 3 - Solder the 7 connections through both boards

With the Pi face down, heat the pads from the backpack board and apply solder into the hole. You will see the solder "bubble down" through both holes forming a connection between the boards.

Flipping the board to the front you should see solder ran all the way through both boards. This picture shows 50% of the solder process done, having soldered only from the back:

Step3

When it looks like this, apply some solder from the top as well to make the connections look nice from both sides.

Step 4 - The finished board should look like this

You should now see clean connections between both sides of the board. You can now insert the CR927 battery for the RTC if desired, and continue with the rest of the general build guide, to assemble your backpack.

Step4

Firmware flash

ESP32

I recommend using FZEasyMarauderFlash for this. It allows you to flash either the BlackMagic Firmware that Flipper itself ships with their Devboards, as well as Marauder or Evil Portal.

Instructions are done using a fresh Arch install.

  1. Make sure you have git python and pip installed:

sudo pacman -S --needed python python-pip git

  1. Add your current user to the uucp group (sometimes dialout on other OSes)

sudo usermod -a -G uucp $USER

  1. Download appropriate UDEV rules (Grabbing from Platformio for convenience)

curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules

You might need to reboot afterwards as manually reloading rules and triggering doesn't always work with EasyInstall.py

  1. Clone the FZEasyMarauderFlash repo

git clone https://github.com/SkeletonMan03/FZEasyMarauderFlash

  1. Change directory into the cloned repo

cd FZEasyMarauderFlash

  1. Install required dependencies (With the override for ease of use. Doing this in a VM anyways.)

pip install -r requirements.txt --break-system-packages

  1. Execute EasyInstall.py, which will download the binaries on first launch

python ./EasyInstall.py

You should be greeted with the following selection screen:

Easy Flash start screen

  1. At this point, hold down the BOOT button on your ESP32 board and plug the board into your Computer using a USB-C cable

  2. Select the firmware you wish to install. For Marauder, choose 1, for Black magic, choose 3, and for Evil Portal, choose 15. In this example, we're gonna install Marauder with 1

Choose1

  1. This will take a few seconds. After the flash is complete you'll get the following confirmation:

FlashComplete

  1. Pressing the RESET button on the backpack at this point will make the board restart with the new firmware. Marauder will confirm successful installation by blinking the LED briefly in White, Yellow, Red, before shutting the LED off.

  2. Inserting the board into your Flipper, you can test the functionality by opening the Wifi Marauder app (Present in Unleashed firmware or similar) and executing a simple AP scan

StartApp

ScanAP

ScannedAP