Skip to the content
4 layers28.3 × 52.6 mmPGP Badge, the printed circuit board in 3D

This is a hardware implementation using Yohanes' pgp reverse engineering repo

Size
28.3 × 52.6 mm
Copper layers
4
Thickness
1.6 mm
Parts
60
Nets
83
Pads
275
Tracks, vias
723, 156
Pours
4
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
16 Mar 2020
Updated
9 May 2020

Overview

PGP Badge is an open-source printed circuit board by bentomo, from the bentomo/PGP-Badge repository on GitHub, published under the BSD-2-Clause licence. It is a 4-layer board of 28.3 × 52.6 mm with 60 parts on 83 nets, routed with 723 tracks and 156 vias.

It is built around the CP2102N-A01-GQFN24, ESP32-WROOM-32 and TPS63030DSKR, with the BQ27542DRZR-G1, LM3658SD and TPD4E02B04DQAR among its other parts. Its parts include 24 resistors, 17 capacitors, 5 ICs, 5 switches and 1 diode. It belongs with the lEDs and displays boards and the ESP32 boards of this library.

Main components

6

README

README.md

Pokemon Go Plus Custom Badge

Installing Toolchain

This was all tested under Windows 10

  1. Install Python 2.7 (This is tested by 2.7.12) This is required for the edf-sdk installer

  2. Install CMake for Windows (Tested using 3.17.0)

  3. Install espressif SDK (Tested using Windows installer 2.2) https://docs.espressif.com/projects/esp-idf/en/latest/get-started/#id1

I needed to use this because of an installer problem https://github.com/espressif/esp-idf/issues/4744

python.exe -m pip install --upgrade virtualenv==16.7.9

Then run the program as administrator

Extracting a MAC, Blob, and Key

Note that this is unusable without a Mac address, BLOB and device key from an ORIGINAL Pokemon GO plus Pokeball plus and Gotcha not supported https://github.com/Jesus805/Suota-Go-Plus

It's easiest to use the release page app

Currently the app is bugged, it can download custom firmware but you need to use the nRF android app to extract the values and restore the FW MAC address is given by the app characteristic 870d5ab1-20bd-b88a-5746-a97f5c33ea58 is the device key characteristic fe0002af-f8e3-f1b2-b141-b40adf381d18 is the blob

To restore the FW

  1. Write 0x01 to Characteristic 6b64be6f-5467-d8b5-7143-1716be1b96be
  2. Disconnect from the device
  3. Wait a few seconds
  4. Press the Pokemon Go Plus button, it should be flashing blue or white

Building the firmware

  1. Open a command window
  2. Browse to the esp-idf folder and run export.bat to setup sdk
  3. Browse to the pgpemu-esp32 project folder and run idf.py menuconfig
  4. Exit using the default configuration
  5. Modify your secrets.c file with your MAC, Blob, and Key extracted from an original Pokemon GO Plus - This file is not tracked by git
  6. Build the firmware using idf.py build
  7. Flash the firmware using idf.py -p (PORT) flash where (PORT) is the COMX that the esp32 enumerated as

For more background read: http://tinyhack.com/2018/11/21/reverse-engineering-pokemon-go-plus/

Preliminary parts list

ESP32 - Bluetooth - https://www.digikey.com/product-detail/en/espressif-systems/ESP32-WROOM-32/1904-1010-1-ND/8544305 SSD1306 - OLED LCD - https://www.amazon.com/WINGONEER-Display-SSD1306-Headers-Arduino/dp/B07QB65CPS/ref=sr_1_5?keywords=oled+module&qid=1584226742&sr=8-5 ~~ adafruit 1578 - 500mah battery - https://www.digikey.com/product-detail/en/adafruit-industries-llc/1578/1528-1841-ND/5054539 ~~ battery - https://www.digikey.com/product-detail/en/tinycircuits/ASR00008/1832-1044-ND/8680974 BQ27426 - Fuel Gauge - https://www.digikey.com/product-detail/en/texas-instruments/BQ27426YZFR/296-43359-1-ND/5806500 LM3658 - Battery Charger - https://www.digikey.com/product-detail/en/texas-instruments/LM3658SD-NOPB/LM3658SD-NOPBCT-ND/808013 TPS63030 - Voltage Regulator - https://www.digikey.com/product-detail/en/texas-instruments/TPS63030DSKR/296-39460-1-ND/5143408 CP2102N - USB Interface - https://www.digikey.com/product-detail/en/silicon-labs/CP2102N-A01-GQFN20R/336-4826-1-ND/8619802 USB4085 - Through hole usb c - https://www.digikey.com/product-detail/en/gct/USB4085-GF-A/2073-USB4085-GF-ACT-ND/9859733 316040004 - Vibration Motor - https://www.digikey.com/product-detail/en/seeed-technology-co-ltd/316040004/1597-1245-ND/5487673 ~~ BQ297X - Protection Circuit - http://www.ti.com/lit/ds/symlink/bq2971.pdf ~ Battery includes protection circuit~

Other components not listed jelly beans sense resitors tactile switches mechanicals

Parts

60
QtyValueFootprintReferences
171KResistor_SMD:R_0402_1005MetricR3, R4, R10, R11, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24 +1
104.7uCapacitor_SMD:C_0805_2012MetricC1, C2, C4, C5, C6, C8, C9, C10, C12, C16
60.1uCapacitor_SMD:C_0402_1005MetricC3, C7, C11, C13, C14, C17
5tactile_TL3305AF160QGpgpbadge:tactile_TL3305AF160QGS1, S2, S3, S4, S5
45.6kResistor_SMD:R_0402_1005MetricR1, R2, R5, R12
210kResistor_SMD:R_0402_1005MetricR6, R8
10.01Resistor_SMD:R_1206_3216MetricR7
11.5uHInductor_SMD:L_1008_2520MetricL1
1100uCapacitor_SMD:C_1206_3216MetricC15
1BAT+pgpbadge:solder_padB+1
1BAT-pgpbadge:solder_padB-1
1BQ27542DRZR-G1pgpbadge:SON40P250X400X100-13NU2
1CP2102N-A01-GQFN24Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mmU4
1ESP32-WROOM-32RF_Module:ESP32-WROOM-32U5
1LM3658pgpbadge:wson-10-3x3U1
1Q_DNPNPackage_TO_SOT_SMD:SOT-363_SC-70-6Q1
1SSD1306pgpbadge:ssd1306M1
1TPD4E02B04DQARpgpbadge:DIO_TPD4E02B04DQARD1
1TPS63030DSKRpgpbadge:10-WFDFN_EP_2.5_2.5U3
1UJ31-CH-3-SMT-TR_officialpgpbadge:CUI_UJ31-CH-3-SMT-TRJ1
1VIB+pgpbadge:solder_padVIB+1
1VIB-pgpbadge:solder_padVIB-1

Similar boards

  • 2 layers100 × 100 mmPowerSubmoduleVersion1, the printed circuit board in 3D

    PowerSubmoduleVersion1

    SarahTallack/Power_Submodule

    Power submodule design for perch scale design project. Custom power supply PCB.

    60 parts
  • 2 layers67.7 × 79.8 mmEspDuino, the printed circuit board in 3D

    EspDuino

    foufee/EspDuino

    49 parts
  • 4 layers160 × 73.2 mmMainPCB, the printed circuit board in 3D

    MainPCB

    doppelgrau/esp32-f9p-io-board

    An IO-PCB (two motor-driver/H-bridge, CAN, RS232, ADS1115, relay, ethernet, ardusimple f9p compatible connector) with an ESP32 for 12V power, three 15V tolerant analog inputs, three 5V tolerant inputs.

    162 parts39
  • 2 layers65 × 56 mmESP32-Pi, the printed circuit board in 3D

    ESP32-Pi

    singleboardsolutions/Obsidian-ESP32

    Design Files for Obsidian ESP32

    65 parts16
  • 4 layers65.1 × 70 mmESP32-Zip Panelized, the printed circuit board in 3D

    ESP32-Zip Panelized

    vintlabs/ESP32-Zip

    ESP32 Development Module compatible with Pi Zero cases (hardware)

    88 parts10GPL-3.0
  • 4 layers40.1 × 38.1 mmCrazyflie contol board, the printed circuit board in 3D

    Crazyflie contol board

    sPyOpenSource/ESP32-PCB

    PCB boards designed with ESP32

    98 parts8MIT
  • 2 layers73 × 100 mm12V SmartSwitch 2panel, the printed circuit board in 3D

    12V SmartSwitch 2panel

    vintlabs/ESP32-PWM-Driver-Devkit

    ESP WROOM-32 DevKit with 8 2A PWM Drivers (5-15V)

    160 parts5

Questions

How big is the PGP Badge PCB?

It measures 28.3 × 52.6 mm and has 4 copper layers, 1.6 mm thick.

What parts does the PGP Badge use?

60 parts, built around the CP2102N-A01-GQFN24, ESP32-WROOM-32, TPS63030DSKR and BQ27542DRZR-G1. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the PGP Badge KiCad files?

From the bentomo/PGP-Badge repository on GitHub, at the commit this page was made from: the board is pcb/pgpbadge/pgpbadge.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the PGP Badge design in my own project?

Its repository publishes it under the BSD-2-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).