
GEMS Ruby
GemsErasmusPlus/GEMS_Electronics
electronics design for the GEMS educational hardware

The 2017 Crypto and Privacy Village Badge
Badge2017 is an open-source printed circuit board by cryptovillage, from the cryptovillage/badge2017 repository on GitHub. It is a 2-layer board of 95.2 × 154.5 mm with 233 parts on 138 nets, routed with 2,184 tracks and 139 vias.
It is built around the 74HCT245, ESP32-WROOM-32 and MAX4468EKA, with the MMA8452QT, MCP73831 and SP0503BAHTG among its other parts. Its parts include 48 capacitors, 41 resistors, 11 ICs, 10 diodes and 7 connectors. It belongs with the ESP32 and Silicon Labs (EFR32, EFM) boards of this library.
To buld the ESP32 firmware:
Pull in the ESP-IDF, MicroPython, and other dependencies:
git submodule update --init --recursive
Build mpy_cross:
cd firmware/esp32/components/micropython/micropython/mpy-cross/ && make && cd ../../../..
Optionally configure the serial port that your badge appears on (under Serial Flasher Config):
make menuconfig
Build it:
make -j5
Flash it:
make flash OR
python esptool/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader.bin 0x10000 cpv2017.bin 0x8000 partitions.bin
you may need to replace /dev/ttyUSB0 with /dev/ttyACM0 or whatever serial device the badge is listed as.
You can edit the build configuration with (includes wifi creds):
make menuconfig
SD Card contents can be found: https://2017.badge.cryptovillage.org/sdcard/0.3-prerel.zip
If your device is showing "TEST MODE", the EFM8 needs to be flashed. We've found that this only works from a Windows computer or Virtualbox with the Extension Pack for USB devices. If using a VM, we found that the IE11 Win7 testing VM from MicroSoft worked. You will need to install the driver from: https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
Download the flashing tools here: https://2017.badge.cryptovillage.org/W18779AXC7/TestFlash.zip
The prebuilt firmware can be found here: https://2017.badge.cryptovillage.org/firmware/v0.9/
You need to replace esp32test.bin with cpv2017.bin, and partitions_singleapp.bin with partitions.bin in TestFlash after unzipping. (Keeping the original filenames from TestFlash.zip contents but replacing the file content)
Hold down the knob when plugging the device in to put the device into a mode to flash the EFM8. The LEDs should not turn on and the screen will be blank and dim.
Run efm8load.exe to flash the EFM8. The device should reboot, but may require replugging in the USB cable. It should now appear as a serial device.
Then run NodeMCU-PyFlasher.exe to flash the ESP32.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 21 | 1uF | Capacitors_SMD:C_0603 | C18, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C30, C31, C32, C38 +5 |
| 10 | 1k | Resistors_SMD:R_0603 | R1, R6, R9, R10, R11, R31, R41, R48, R49, R50 |
| 9 | 0.1uF | Capacitors_SMD:C_0603 | C2, C8, C11, C16, C33, C34, C41, C42, C45 |
| 9 | 100k | Resistors_SMD:R_0603 | R4, R5, R13, R20, R22, R34, R37, R39, R40 |
| 8 | APA102 | lib:APA102-2020 | LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8 |
| 7 | 10k | Resistors_SMD:R_0603 | R21, R42, R43, R44, R45, R46, R47 |
| 5 | 10uF | Capacitors_SMD:C_0603 | C7, C12, C13, C17, C47 |
| 5 | 4.7uF | Capacitors_SMD:C_0603 | C1, C3, C4, C5, C35 |
| 5 | NMOS | TO_SOT_Packages_SMD:SOT-23 | Q2, Q3, Q4, Q5, Q6 |
| 2 | 0.47uF | Capacitors_SMD:C_0603 | C36, C37 |
| 2 | 12pF | Capacitors_SMD:C_0603 | C9, C10 |
| 2 | 22k | Resistors_SMD:R_0603 | R27, R28 |
| 2 | 22uF | Capacitors_SMD:C_0603 | C14, C15 |
| 2 | 4.7uH | Resistors_SMD:R_0603 | L1, L2 |
| 2 | 47k | Resistors_SMD:R_0603 | R29, R30 |
| 2 | 4k7 | Resistors_SMD:R_0603 | R2, R3 |
| 2 | D_Schottky | Diodes_SMD:SOD-323 | D1, D2 |
| 2 | hole | lib:hole | hole_l, hole_l |
| 1 | 0.01uF | Capacitors_SMD:C_0603 | C46 |
| 1 | 1.1A | Resistors_SMD:R_1210 | F1 |
| 1 | 15 | Resistors_SMD:R_0603 | R14 |
| 1 | 160k | Resistors_SMD:R_0603 | R38 |
| 1 | 1k87 | Resistors_SMD:R_0603 | R8 |
| 1 | 2.2k | Resistors_SMD:R_0603 | R35 |
| 1 | 200k | Resistors_SMD:R_0603 | R36 |
| 1 | 20k | Resistors_SMD:R_0603 | R33 |
| 1 | 2k | Resistors_SMD:R_0603 | R23 |
| 1 | 32.768k | lib:abs25_crystal | Y1 |
| 1 | 470k | Resistors_SMD:R_0603 | R32 |
| 1 | 47pF | Capacitors_SMD:C_0603 | C48 |
| 1 | 5k62 | Resistors_SMD:R_0603 | R7 |
| 1 | 74HCT245 | Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mm | U8 |
| 1 | ATECC508A | Housings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mm | U4 |
| 1 | Backlight | lib:JST_PH_SMD | P6 |
| 1 | Battery | lib:JST_PH_SMD | P3 |
| 1 | CKO | Measurement_Points:Measurement_Point_Round-SMD-Pad_Small | W7 |
| 1 | CONN_02X02 | lib:Socket_Strip_Straight_2x02_TP | P2 |
| 1 | EFM8UB1 | Housings_DFN_QFN:QFN-28-1EP_5x5mm_Pitch0.5mm | U3 |
| 1 | ERC12864-1 | lib:LCD_zif_connector | P5 |
| 1 | ESP32-WROOM | lib:ESP32-WROOM | U7 |
| 1 | LCD_outline | lib:LCD_outline | LCD |
| 1 | LOGO | lib:wingfix | G*** |
| 1 | LOGO | lib:CPV2FMask | G*** |
| 1 | LOGO | lib:Rdot | G*** |
| 1 | LOGO | lib2:puzz2 | G*** |
| 1 | LOGO | lib:barcode | G*** |
| 1 | LOGO | lib:badgelife | G*** |
| 1 | LOGO | lib:CPV2FCu | G*** |
| 1 | LOGO | lib2:puzz1 | G*** |
| 1 | LOGO | lib:Ldot | G*** |
| 1 | LOGO | lib:smoothbug | G*** |
| 1 | LOGO | lib:bugv3fcu | G*** |
| 1 | LOGO | lib:triangleremovedtopfmask2 | G*** |
| 1 | LOGO | lib2:puzz3 | G*** |
| 1 | LOGO | lib:bugv2 fmask | G*** |
| 1 | LOGO | lib:cryptovillageBMask | G*** |
| 1 | MAX4468 | TO_SOT_Packages_SMD:SOT-23-8 | U11 |
| 1 | MAX9723 | Housings_DFN_QFN:QFN-16-1EP_4x4mm_Pitch0.65mm | U10 |
| 1 | MCP73831 | TO_SOT_Packages_SMD:SOT-23-5 | U2 |
| 1 | MIC2288 | TO_SOT_Packages_SMD:SOT-23-5 | U5 |
| 1 | MISO | Measurement_Points:Measurement_Point_Round-SMD-Pad_Small | W4 |
| 1 | MMA8452Q | lib:MMA8452Q | U9 |
| 1 | Micro_SD_Card | lib:MICROSD | CON1 |
| 1 | PAM2305 | TO_SOT_Packages_SMD:SOT-23-5 | U6 |
| 1 | PMOS | TO_SOT_Packages_SMD:SOT-23 | Q1 |
| 1 | Rotary_Encoder_Switch | lib:EN12_RotaryEncoder | SW1 |
| 1 | SDO | Measurement_Points:Measurement_Point_Round-SMD-Pad_Small | W6 |
| 1 | SP0503BAHTG | TO_SOT_Packages_SMD:SOT-143 | U1 |
| 1 | SPST | lib:DPDT_SMD | SW2 |
| 1 | T0 | Measurement_Points:Measurement_Point_Round-SMD-Pad_Small | W1 |
| 1 | T1 | Measurement_Points:Measurement_Point_Round-SMD-Pad_Small | W2 |
| 1 | T2 | Measurement_Points:Measurement_Point_Round-SMD-Pad_Small | W3 |
| 1 | TRRS | lib:TRRS_jack | CON2 |
| 1 | USB | lib:USB_Micro-B-cpv | P1 |
The 153 most common of 233 parts.
It measures 95.2 × 154.5 mm and has 2 copper layers, 1.6 mm thick.
233 parts, built around the 74HCT245, ESP32-WROOM-32, MAX4468EKA and MMA8452QT. 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.
From the cryptovillage/badge2017 repository on GitHub, at the commit this page was made from: the board is hardware/badge2017.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask cryptovillage before reusing the design.

GemsErasmusPlus/GEMS_Electronics
electronics design for the GEMS educational hardware


miekush/sopracciglio-rp2040
Raspberry Pi RP2040 based Sopracciglio Board for use with 2026 Open Sauce Badge



makehackvoid/ESP8266Lib
I decided to make a PCB for my ESP32 things. I have many installed, each made differently. It is time to standardise them, hence this KiCAD (6) project. ======

