Skip to the content
4 layers148.3 × 147.3 mmSaintcon2019TopBoard, the printed circuit board in 3D

Saintcon2019TopBoard

compukidmike/Saintcon201920

There is also a video of my badge talk at Saintcon https://www.youtube.com/watch?v=MAhJ2WoN14

Size
148.3 × 147.3 mm
Copper layers
4
Thickness
1.6 mm
Parts
1,120
Nets
343
Pads
4,742
Tracks, vias
10,470, 2,459
Pours
23
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
9 Jul 2019
Updated
25 Jan 2020

Overview

Saintcon2019TopBoard is an open-source printed circuit board by compukidmike, from the compukidmike/Saintcon2019 repository on GitHub. It is a 4-layer board of 148.3 × 147.3 mm with 1,120 parts on 343 nets, routed with 10,470 tracks and 2,459 vias.

It is built around the ICE40HX1K-TQ144, SIL2301-TP and AP2112K-3.3, with the MIC5504-1.2YM5-TR among its other parts. Its parts include 1,025 diodes, 32 resistors, 31 capacitors, 23 ICs and 1 connector. It belongs with the FPGA and CPLD boards of this library.

Main components

4

README

README.md

Saintcon 2019 Enigma Badge

About the Badge

There is a writeup available at https://mkfactor.com/?p=100

There is also a video of my badge talk at Saintcon https://www.youtube.com/watch?v=MAhJ2W_oN14

Completing the Badge Challenge

Since you probably don't have 26 badges and a Hut 6 "teleprinter" at your house, it will be difficult to complete the challenge. I have created a modified version of the badge firmware that will allow you to complete the challenge at home! You'll need to complete the steps for reprogramming your badge below. Once that's done, grab the Saintcon2019BadgeChallenge.pdf file from this repository. It has all the intercepted messages for you to decode. Be sure to decode them in order! Your badge should say "LEVELED UP" after successfully decoding a message. Good luck! If you get stuck, feel free to reach out on the SaintComms slack, or via twitter @compukidmike or even email compukidmike @ gmail.

Reprogramming your badge

Note: This will completely erase the memory on your badge. Any progress in the challenge, as well as custom messages will be lost.

You will need the STM32CubeProgrammer software from https://www.st.com/en/development-tools/stm32cubeprog.html to reprogram your badge. It's cross-platform, though I've only tested it on Windows 10. Unfortunately ST requires you to create a login to download software :(

You'll also need the 2 hex files called Saintcon2019.hex and fpga.hex from this repository as well as a micro USB cable and one of the plugboard jumper wires from your badge.

Programming Steps:

  1. Turn off the badge.
  2. Connect the 2 TEST pins on your badge using the jumper (On the bottom-right side of your badge). If you haven't soldered that connector, you can put the jumper in from the back and hold it.
  3. Connect the badge to your computer using a micro USB cable.
  4. Turn on the badge. It will boot into DFU (Device Firmware Upgrade) mode.
  5. From the STM32CubeProgrammer application, select USB from the drop-down menu at the top-right.
  6. If you don't see anything next to "Serial number", click the little refresh button.
  7. Click the green "Connect" button in the top-right corner. It should now say "Connected" above that button.
  8. Click the Eraser button on the bottom-left corner (right above the question mark) and click OK to erase the badge memory. This is required for the new program to run correctly as there were many changes made to the way the internal EEPROM is organized.
  9. Now click the "+" tab next to Device Memory and select "Open file". Choose one of the hex files you downloaded earlier. Now do the same for the other hex file.
  10. With one of the hex file tabs selected, click the blue Download button. This will load the file onto your badge. Now do the same for the other hex file tab.
  11. Remove the jumper and turn it off and back on. The first time you turn it on, it will go into a testing mode, where all the LEDs are turned on white. This is normal. Simply press each keyboard button until all the lampboard lights are off. It will say "TEST DONE". Turn it off and back on, and you are finished programming your badge. Enjoy!

Editing Badge Code

The badge code can be found in the Firmware folder. It was written using the STM32CubeIDE. It's cross-platform and works reasonably well. You'll need an ST-Link V2 USB adapter to program and debug your badge. They can be had for ~$10 from Amazon or even less from Aliexpress if you're willing to wait for shipping. The IDE can be downloaded from ST here: https://www.st.com/en/development-tools/stm32cubeide.html

The FPGA code was written using Icestudio https://icestudio.io/ It's a cross-platform IDE for Lattice ICE40 FPGAs

The FPGA code is in SaintconFPGA.ice

Parts

1,120
QtyValueFootprintReferences
1024LED_ARGBRGB_LED_0402_1mm:LTSN-B28JEGBBD1, D10, D100, D101, D1000, D1001, D1002, D1003, D1004, D1005, D1006, D1007, D1008, D1009, D1010, D1011 +1008
281KResistors_SMD:R_0603R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25 +12
260.1uFCapacitors_SMD:C_0603C1, C2, C10, C15, C16, C17, C18, C20, C21, C22, C23, C24, C25, C26, C27, C28 +10
1216BitLEDShiftRegHousings_SSOP:SSOP-24_3.9x8.7mm_Pitch0.635mmU5, U6, U7, U8, U9, U10, U11, U12, U13, U14, U15, U16
8SIL2301TO_SOT_Packages_SMD:SOT-23-6U17, U18, U19, U20, U21, U22, U23, U24
41uFCapacitors_SMD:C_0603C11, C12, C13, C14
310kResistors_SMD:R_0603R1, R2, R3
1100Resistors_SMD:R_0603R4
110uFCapacitors_SMD:C_0603C9
1AP2112K-3.3TO_SOT_Packages_SMD:SOT-23-5U2
1Conn_02x10_Counter_ClockwiseBergStakBTBConnectors:BergStak_20Pin_0.5mm_Male_2.7mmJ1
1DDiodes_SMD:D_SOD-323D1025
1ICE40HX1K-TQ144Housings_QFP:TQFP-144_20x20mm_Pitch0.5mmU1
1LOGOBashNinjaLogoG***
1LOGOMKFactorLogoG***
1LOGOPCBWayLogoG***
1MIC5504-1.2YM5TO_SOT_Packages_SMD:SOT-23-5U3
1Val**Saintcon2019TopBoardArtworkFinalRef**

The 1,116 most common of 1,120 parts.

More from compukidmike/Saintcon2019

3
  • 2 layers264.2 × 264.2 mmSaintconMinibadgeDisplay10x10, the printed circuit board in 3D

    SaintconMinibadgeDisplay10x10

    compukidmike/Saintcon2019

    There is also a video of my badge talk at Saintcon https://www.youtube.com/watch?v=MAhJ2WoN14

    139 parts20
  • 2 layers148.3 × 147.3 mmSaintcon2019, the printed circuit board in 3D

    Saintcon2019

    compukidmike/Saintcon2019

    There is also a video of my badge talk at Saintcon https://www.youtube.com/watch?v=MAhJ2WoN14

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

    SaintconMinibadgeHolder8

    compukidmike/Saintcon2019

    There is also a video of my badge talk at Saintcon https://www.youtube.com/watch?v=MAhJ2WoN14

    29 parts20

Similar boards

  • 4 layers80.7 × 65.8 mmPico hx, the printed circuit board in 3D

    Pico hx

    dan-rodrigues/pico-hx

    PCB combining Raspberry Pi Pico and iCE40 FPGA

    75 parts31
  • 4 layers65 × 30 mmIce4pi, the printed circuit board in 3D

    Ice4pi

    lightside-instruments/ice4pi

    KiCAD project of a Pi Hat with ice40hx1k FPGA

    57 parts8
  • 4 layers68.6 × 53.3 mmIcezum, the printed circuit board in 3D

    Icezum

    FPGAwars/icezum

    :star2: IceZUM Alhambra: an Arduino-like Open FPGA electronic board

    218 parts357GPL-3.0
  • 2 layers100 × 77.7 mmApple ice, the printed circuit board in 3D

    Apple ice

    ironsteel/apple-ice

    Apple II expansion prototyping board based on the ICE40 FPGA

    83 parts4CC-BY-SA-4.0
  • 2 layers68.8 × 78.7 mmHX1K Devboard, the printed circuit board in 3D

    HX1K Devboard

    RicBent/Hisame

    Development board for the Lattice iCE40 HX1K FPGA

    70 parts3
  • 4 layers30 × 42 mmM2-ice40, the printed circuit board in 3D

    M2-ice40

    mokus0/m2-ice40

    A M.2 3042 B-key card with an ICE40 FPGA. Currently intended for a specific application, but could easily be used for more general purposes.

    146 parts2
  • 2 layers100 × 72 mmPicow-1k, the printed circuit board in 3D

    Picow-1k

    Agilack/eCow-logic

    164 parts1

Questions

How big is the Saintcon2019TopBoard PCB?

It measures 148.3 × 147.3 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Saintcon2019TopBoard use?

1,120 parts, built around the ICE40HX1K-TQ144, SIL2301-TP, AP2112K-3.3 and MIC5504-1.2YM5-TR. 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 Saintcon2019TopBoard KiCad files?

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

Can I use the Saintcon2019TopBoard design in my own project?

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