Skip to the content
2 layers76.2 × 76.2 mmSaintcon2020, the printed circuit board in 3D

This year's badge was created by compukidmike, ProfessorPlum, and SodiumHydrogen. It's styled after a combination lock and the shackle actually opens!

Size
76.2 × 76.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
77
Nets
110
Pads
353
Tracks, vias
1,084, 160
Pours
8
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
15 Aug 2021
Updated
6 Apr 2023

Overview

Saintcon2020 is an open-source printed circuit board by compukidmike, from the compukidmike/Saintcon2021 repository on GitHub. It is a 2-layer board of 76.2 × 76.2 mm with 77 parts on 110 nets, routed with 1,084 tracks and 160 vias.

It is built around the ATSAME53J18A-MF, AT25QF641B-MHB-T and 19-337C/RSBHGHC-A88/4T, with the SBH11-PBPC-D10-ST-BK and XRCGB27M120F3M10R0 among its other parts. Its parts include 30 capacitors, 6 ICs, 4 resistors, 3 connectors and 2 switches. It belongs with the SAM D and SAM boards of this library.

Main components

5

README

README.md

Saintcon2021

BadgeFrontUnlocked

This year's badge was created by compukidmike, Professor_Plum, and Sodium_Hydrogen. It's styled after a combination lock and the shackle actually opens!

BadgeFrontLocked

We tried something different for the front PCB. We used pcbbuy.com because they can do 2-color soldermask. It didn't turn out exactly like planned, but it was still a cool option that we'll probably use in the future.

One of the major features of the badge is NFC. The badge can read and write NFC tags, as well as emulate cards. This is used for sharing contact information, reading unlock tags, and trading items.

The main microcontroller is an ATSAME53J18A. The NFC controller is an ST25R95 and the LCD is actually round. The badge is composed of a stack of PCBs (4 boards thick, 5 boards total). Here's an exploded view of the badge:

Exploded Inside

One of the big challenges was fitting parts under the screen. We've got the thickness of 2 boards (3.2mm) to fit everything. The LCD is 2.2mm thick, so that leaves 1mm for components. This made it extremely difficult to find parts, especially with the chip shortages this year.

Firmware

Compiling

You'll need to install Atmel Microchip Studio to compile the firmware. Once it's compiled, you can flash it to the badge with an SWD programmer, or follow the directions below to use the USB bootloader.

Making a UF2 File

When you've compiled the firmware, Microchip Studio will create a bunch of files (likely in the Debug folder inside your project folder). You want the .hex file. You'll need to use a tool called uf2conv.py from https://github.com/microsoft/uf2 (it's in the utils folder). This python script will convert your hex file into a UF2 file that you can use to program your badge. Here's an example command: python .\uf2conv.py .\flash.bin -c -o .\flash.uf2

Flashing

To re-flash your badge there is a USB bootloader. To activate it, move the power switch to USB and hold the button on the right side of the badge when you connect it to your computer. The screen should show some hardware tests and then it will connect to your computer as a mass storage device. Simply copy the new UF2 firmware file to the badge.

External SPI Flash

The badge has an 8MB SPI flash chip that stores all the images. It can be reprogrammed via the bootloader, but it's a bit cumbersome. You'll need to use the makeFlash.py script in the ExternalFlash folder to create a binary file from the images. NOTE: The images will be placed in the binary one after the other aligned to 1024 byte boundaries. If you change the images, you'll need to update the list of image locations in flash.h

Once you've got the binary file, you need to convert it to a hex file. This can be done with with bin2hex.py script in the ExternalFlash folder. Here's an example command: python .\bin2hex.py .\flash.bin .\flash.hex

Finally, you need to convert this hex file into a UF2 file that the bootloader can use to reprogram the SPI flash. When using the uf2conv.py script, you'll need to add an offset parameter so that the bootloader knows this data is for the SPI flash. Here's an example command: python .\uf2conv.py .\flash.bin -c -b 0x4000000 -o .\flash.uf2

NOTE: When copying a UF2 file that reprograms the SPI flash, the badge will send an erase command to the SPI flash. This can take a while (30-60 seconds) and you will see an activity indicator on the screen. If this process takes too long, your computer may timeout on copying the file (the badge will change from "erasing" to "writing", but the LED will be pulsing slowly instead of blinking rapidly). If this happens, simply reset the badge into bootloader mode and copy the file again. This time the SPI flash will be empty and the erase command will be quick.

Parts

77
QtyValueFootprintReferences
90.1uFCapacitor_SMD:C_0603_1608MetricC6, C11, C18, C25, C26, C27, C28, C29, C30
4100pFCapacitor_SMD:C_0603_1608MetricC9, C10, C12, C13
410pFCapacitor_SMD:C_0603_1608MetricC1, C2, C15, C16
4Fiducial_1mm_Mask2mmFiducial:Fiducial_1mm_Mask2mmFID1, FID2, FID3, FID4
4Standoff-4-40Saintcon2020:Standoff-4-40STANDOFF1, STANDOFF2, STANDOFF3, STANDOFF4
34.7uFCapacitor_SMD:C_0603_1608MetricC19, C22, C24
3SHACKLESaintcon2020:TouchButton4mmTP4, TP5, TP6
3TOUCHSaintcon2020:SPRING-120220-0315TP1, TP2, TP3
20.01uFCapacitor_SMD:C_0603_1608MetricC5, C8
21Klibraries:RAVF164D-RES_PACK_4RN1, RN2
21uFCapacitor_SMD:C_0603_1608MetricC4, C7
2330Resistor_SMD:R_0603_1608MetricR3, R4
247pFCapacitor_SMD:C_0603_1608MetricC14, C17
2560nHInductors_SMD:L_0805L1, L2
2DNPCapacitor_SMD:C_0603_1608MetricC21, C23
110kResistor_SMD:R_0603_1608MetricR1
119-337C/RSBHGHC-A88/4TEverlight-RGB-LED:19-337C_RSBHGHC-A88_4TD1
11nFCapacitor_SMD:C_0603_1608MetricC3
124pFCapacitor_SMD:C_0603_1608MetricC20
1A3910Package_DFN_QFN:DFN-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mmU6
1AT25QF641B-MHB-TAdestoMemory:UDFN-8_EP_6x5_Pitch1.27mmU4
1ATSAME53J18A-MPackage_DFN_QFN:QFN-64-1EP_9x9mm_P0.5mm_EP4.7x4.7mmU1
1BatterySaintcon2020:Battery3xAAABT1
1Conn_01x05Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_VerticalJ1
1DNPResistor_SMD:R_0603_1608MetricR5
1LOGOlibraries:MKFactorLogoG***
1NCP115ASN330T2GTO_SOT_Packages_SMD:SOT-23-5U3
1NFC_ANT1Saintcon2020:SPRING-120220-0315ANT1
1NFC_ANT2Saintcon2020:SPRING-120220-0315ANT2
1RoundLCDSaintcon2020:RoundLCD-36PLCD1
1SBH11-PBPC-D10-ST-BKPin_Headers:Pin_Header_Straight_2x10_Pitch2.54mmJ3
1SELECTSaintcon2020:KMS231GFLSSW3
1SHIMSaintcon2020:TouchButton4mmTP7
1SN74LVC1G04DBVRG4Package_TO_SOT_SMD:SOT-23-5U5
1ST25R95Saintcon2020:ST25R95U2
1SW_SPDTSaintcon2020:CUS-12BSW2
1USB_B_MicroAmphenolMicroUSB:10118192-0002LFJ2
1Val**ProfessorPlum_logoRef**
1Val**BackSilkComboRef**
1Val**SodiumHydrogen_logoRef**
1Val**SaintconLogo2021Ref**
1Val**Saintcon2020:BoardShapeRef**
1XRCGB27M120F3M10R0Saintcon2020:Crystal-XRCGB27M120F3M10R0Y1

The 76 most common of 77 parts.

More from compukidmike/Saintcon2021

2
  • 2 layers94 × 61 mmSaintconMinibadgeHolder8, the printed circuit board in 3D

    SaintconMinibadgeHolder8

    compukidmike/Saintcon2021

    This year's badge was created by compukidmike, ProfessorPlum, and SodiumHydrogen. It's styled after a combination lock and the shackle actually opens!

    16 parts3
  • 2 layers76.2 × 76.2 mmSaintcon2020Front, the printed circuit board in 3D

    Saintcon2020Front

    compukidmike/Saintcon2021

    This year's badge was created by compukidmike, ProfessorPlum, and SodiumHydrogen. It's styled after a combination lock and the shackle actually opens!

    7 parts3

Similar boards

  • 2 layers48 × 22 mmJoka, the printed circuit board in 3D

    Joka

    abeljim/joka

    40 parts
  • 4 layers28.8 × 12.8 mmLego smart brick, the printed circuit board in 3D

    Lego smart brick

    nanash1/smart_brick

    Lego Smart Brick reverse engineered schematic

    148 parts11
  • 4 layers122 × 122 mmMotordriver, the printed circuit board in 3D

    Motordriver

    fest004/Cubitron

    Cubitron Project

    418 parts1MIT
  • 4 layers51.1 × 65.3 mmNAV V3 final, the printed circuit board in 3D

    NAV V3 final

    nammenam/stash

    A collection of topics and ideas to explore and learn

    67 parts
  • 4 layers31.5 × 65 mmUrchinCam 01, the printed circuit board in 3D

    UrchinCam 01

    nickraymond/nereus_Pi_shield_ADIN2111

    A Raspberry Pi Zero 2W shield built from a copy of the Sofar Bristlemouth mote: ADIN2111 two-port 10BASE-T1L with PoDL, powered from the bus, 5 V for the Pi, a 24 V payload port, and the Sofar mote's power path…

    96 parts
  • 4 layers85 × 85 mmPcb version2, the printed circuit board in 3D

    Pcb version2

    constancegdl/RP2350-FI-Attack-PCB

    PCB designed for fault injection on the RP2350.

    69 parts
  • 2 layers100.5 × 30.5 mmLulu-1 datalogger pcb, the printed circuit board in 3D

    Lulu-1 datalogger pcb

    elenajusto/lulu-1

    Repository to store design files related to the Lulu-1 LPR which features a 3D printed Fincan.

    51 parts

Questions

How big is the Saintcon2020 PCB?

It measures 76.2 × 76.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Saintcon2020 use?

77 parts, built around the ATSAME53J18A-MF, AT25QF641B-MHB-T, 19-337C/RSBHGHC-A88/4T and SBH11-PBPC-D10-ST-BK. 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 Saintcon2020 KiCad files?

From the compukidmike/Saintcon2021 repository on GitHub, at the commit this page was made from: the board is Hardware/Saintcon2021/Saintcon2020.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Saintcon2020 design in my own project?

Its repository states no licence, so its author keeps all rights: ask compukidmike before reusing the design.