Skip to the content
PCBKitNew board
2 layersTiny sao, the printed circuit board in 3D

Capture The Flag Shitty Addon

Copper layers
2
Thickness
1.6 mm
Parts
5
Nets
9
Pads
18
Tracks, vias
35, 0
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
27 Aug 2019
Updated
2 Nov 2019

Overview

Tiny sao is an open-source printed circuit board by urish, from the urish/ctf-shittyaddon repository on GitHub, published under the MIT licence. It is a 2-layer board with 5 parts on 9 nets, routed with 35 tracks and 0 vias.

It is built around the ATTINY45-20SU. Its parts include 1 resistor, 1 IC, 1 diode, 1 connector and 1 switch. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

Minimal Shitty Add-On with Capture The Flag Challenge

Copyright (C) 2019, Uri Shaked. Released under the MIT license.

Learn more in the blog post: Capture The Flag Shitty Add-On

Hardware

The ctf-shittyaddon board includes the following hardware:

  1. ATtiny85 Processor
  2. A ShittyAddon V1 connector
  3. Reset button
  4. Red LED connected to ATtiny85's pin 6 (PB1)
Tiny CTF PCB

You can also hack a simplified version on a breadboard:

Arduino Connection Diagram

Firmware

Compile the firmware using the Arduino IDE:

  1. Install ATTiny Core
  2. Install the TinyWire Library
  3. Configure Arduino IDE as follows:
    • Board: ATtiny25/45/85
    • Processor: ATtiny85
    • Clock: Internal 8 MHz
  4. Set the fuses of the chip to enable self programming (SELFPRGEN=1). This can be done using avrdude:
    bash
    avrdude -pattiny85 -cusbtiny -e -Uefuse:w:0xfe:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m

When building your own firmware, replace SECRET in the string "$FLAG:SECRET" with your secret value (the flag).

The Challenge

The firmware code implements an I2C slave listening on address 0x23.

The challenge consists of several milestones of increasing difficulty:

  1. Make the red LED light
  2. Find the secret flag value (it starts with the string "$FLAG:")
  3. Make the red LED blink by executing code directly on the ATTiny85
  4. Replace the secret flag with a new value without bricking the board

All the above milestones can be achieved through I2C communication with the chip.

For more information, check out the blog post

Parts

5
QtyValueFootprintReferences
1ATtiny45-20SUPackage_SO:SOIJ-8_5.3x5.3mm_P1.27mmU1
1LEDLED_SMD:LED_0603_1608MetricD1
1Male_02x02Connector_PinHeader_2.54mm:PinHeader_2x02_P2.54mm_VerticalJ1
1RResistor_SMD:R_0603_1608MetricR1
1SW_Pushswitches:TACTILE-SWITCH-1101NESW1

Questions

What parts does the Tiny sao use?

5 parts, built around the ATTINY45-20SU. 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 Tiny sao KiCad files?

From the urish/ctf-shittyaddon repository on GitHub, at the commit this page was made from: the board is pcb/tiny-sao.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tiny sao design in my own project?

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

Similar boards

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

    Mist1010

    UzixLS/mist1010-board

    10x10cm PCB variant of MIST FPGA project for G738/G706 enclosure

    273 parts43MIT
  • 2 layers31 × 30.5 mmChristmas tree barrier, the printed circuit board in 3D

    Christmas tree barrier

    Petezah/roomba_wall_v2

    An AVR program for ATTiny85 to transmit a virtual wall signal for an iRobot Roomba

    17 parts32GPL-3.0
  • 4 layers158.8 × 104.1 mm8-Bit CPU, the printed circuit board in 3D

    8-Bit CPU

    frenchie/8-Bit-Computer

    An 8-Bit Computer

    323 parts20
  • 2 layers35.6 × 30.5 mmLevel shifter adapter, the printed circuit board in 3D

    Level shifter adapter

    ZeroPhone/ZeroPhone-Mod-PCBs

    ZeroPhone mod board PCB files

    45 parts12GPL-3.0
  • 2 layersCbs badge, the printed circuit board in 3D

    Cbs badge

    cbs-ntcore/cbs_badge

    This badge is designed to highlight digital fabrication techniques that are commonly used in the Neurotechnology Core(NTCore) at the Center for Brain Science at Harvard University.

    13 parts5
  • 2 layers65 × 56.5 mmPiSupply, the printed circuit board in 3D

    PiSupply

    enwi/PiSupply

    Uninterruptable power supply for Raspberry Pi's, which can also power external HDDs

    80 parts4LGPL-3.0
  • 2 layers40.6 × 20.3 mmBike motor shim, the printed circuit board in 3D

    Bike motor shim

    mar0x/bike_motor_shim

    Shimano e-bike shim between wheel sensor and motor to "extend the limits"

    21 parts4
  • 2 layers27.9 × 30 mmRoomba wall v3, the printed circuit board in 3D

    Roomba wall v3

    Petezah/roomba_wall_v3

    A slightly more advanced AVR program for ATTiny45 to transmit a virtual wall signal for an iRobot Roomba

    16 parts4GPL-3.0