

PGP Badge
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
6CP2102N-A01-GQFN24
QFN-24-EP(4x4)3Mbps 3V~3.6V Transceiver QFN-24-EP(4x4) USB Converters ROHSSilicon LabsUSB ConvertersESP32-WROOM-32
SMD,18x25.5mm-40℃~+85℃ -98dBm 2.4GHz 2.7V~3.6V 20dBm Bluetooth4.2 ESP32-DOWDQ6 UART、SDIO、SPI、I2C、GPIO、PWM、ADC、DAC SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesTPS63030DSKR
SON-10-EP(2.5x2.5)-40℃~+85℃@(TA)、-40℃~+125℃@(TJ) 1 1.2V~5.5V 1.8V~5.5V 2.4MHz 25uA 900mA Adjustable Buck-Boost Buck-Boost Built-in Yes SON-10-EP(2.5x2.5) DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersBQ27542DRZR-G1
SON-12-EP(2.5x4)-40℃~+85℃ 1 2.7V~5.5V 60uA I2C、HDQ Lithium Battery Monitoring IC Support SON-12-EP(2.5x4) Battery Management ROHSTexas InstrumentsBattery ManagementLM3658SD
WSON-10(3x3)-40℃~+85℃ 1 1A 1uA 4.2V 4.5V~6V Charging IC Lithium Battery Support Support WSON-10(3x3) Battery Management ROHSTexas InstrumentsBattery ManagementTPD4E02B04DQAR
USON-10(1x2.5)-40℃~+125℃ 0.33pF 10nA 17W@8/20us 2A@8/20us 3.6V 7.5V 8.8V Bidirectional Four channels IEC 61000-4-2、IEC 61000-4-5、IEC 61000-4-4 TVS USON-10(1x2.5) ESD and Surge Protection (TVS/ESD) ROHSTexas InstrumentsESD And Surge Protection (TVS/ESD)
README
README.mdPokemon Go Plus Custom Badge
Installing Toolchain
This was all tested under Windows 10
-
Install Python 2.7 (This is tested by 2.7.12) This is required for the edf-sdk installer
-
Install CMake for Windows (Tested using 3.17.0)
-
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
- Write 0x01 to Characteristic
6b64be6f-5467-d8b5-7143-1716be1b96be - Disconnect from the device
- Wait a few seconds
- Press the Pokemon Go Plus button, it should be flashing blue or white
Building the firmware
- Open a command window
- Browse to the esp-idf folder and run export.bat to setup sdk
- Browse to the pgpemu-esp32 project folder and run
idf.py menuconfig - Exit using the default configuration
- 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
- Build the firmware using
idf.py build - Flash the firmware using
idf.py -p (PORT) flashwhere (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| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | 1K | Resistor_SMD:R_0402_1005Metric | R3, R4, R10, R11, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24 +1 |
| 10 | 4.7u | Capacitor_SMD:C_0805_2012Metric | C1, C2, C4, C5, C6, C8, C9, C10, C12, C16 |
| 6 | 0.1u | Capacitor_SMD:C_0402_1005Metric | C3, C7, C11, C13, C14, C17 |
| 5 | tactile_TL3305AF160QG | pgpbadge:tactile_TL3305AF160QG | S1, S2, S3, S4, S5 |
| 4 | 5.6k | Resistor_SMD:R_0402_1005Metric | R1, R2, R5, R12 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R6, R8 |
| 1 | 0.01 | Resistor_SMD:R_1206_3216Metric | R7 |
| 1 | 1.5uH | Inductor_SMD:L_1008_2520Metric | L1 |
| 1 | 100u | Capacitor_SMD:C_1206_3216Metric | C15 |
| 1 | BAT+ | pgpbadge:solder_pad | B+1 |
| 1 | BAT- | pgpbadge:solder_pad | B-1 |
| 1 | BQ27542DRZR-G1 | pgpbadge:SON40P250X400X100-13N | U2 |
| 1 | CP2102N-A01-GQFN24 | Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm | U4 |
| 1 | ESP32-WROOM-32 | RF_Module:ESP32-WROOM-32 | U5 |
| 1 | LM3658 | pgpbadge:wson-10-3x3 | U1 |
| 1 | Q_DNPN | Package_TO_SOT_SMD:SOT-363_SC-70-6 | Q1 |
| 1 | SSD1306 | pgpbadge:ssd1306 | M1 |
| 1 | TPD4E02B04DQAR | pgpbadge:DIO_TPD4E02B04DQAR | D1 |
| 1 | TPS63030DSKR | pgpbadge:10-WFDFN_EP_2.5_2.5 | U3 |
| 1 | UJ31-CH-3-SMT-TR_official | pgpbadge:CUI_UJ31-CH-3-SMT-TR | J1 |
| 1 | VIB+ | pgpbadge:solder_pad | VIB+1 |
| 1 | VIB- | pgpbadge:solder_pad | VIB-1 |
Similar boards
- 2 layers115 × 147.5 mm

- 2 layers100 × 100 mm

PowerSubmoduleVersion1
SarahTallack/Power_Submodule
Power submodule design for perch scale design project. Custom power supply PCB.
60 parts - 2 layers67.7 × 79.8 mm

- 4 layers160 × 73.2 mm

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 mm

- 4 layers65.1 × 70 mm

ESP32-Zip Panelized
vintlabs/ESP32-Zip
ESP32 Development Module compatible with Pi Zero cases (hardware)
88 parts10GPL-3.0 - 4 layers40.1 × 38.1 mm

- 2 layers73 × 100 mm

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).