Skip to the content
PCBKitNew board
4 layers80 × 30 mmBaseboard, the printed circuit board in 3D

NOTE: This is still not set in stone, currently talking about it and might change ### Hardware Features - 1x Real time clock (32kHz crystal) - 1x Button - 1x USB connector - 1x Display - 1x Battery connector (5V)

Size
80 × 30 mm
Copper layers
4
Thickness
1.6 mm
Parts
47
Nets
43
Pads
176
Tracks, vias
260, 58
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
30 Jan 2026
Updated
20 Mar 2026

Overview

Baseboard is an open-source printed circuit board by SimonPergel, from the SimonPergel/e7020e_project_Group10 repository on GitHub. It is a 4-layer board of 80 × 30 mm with 47 parts on 43 nets, routed with 260 tracks and 58 vias.

Its parts include 17 capacitors, 6 resistors, 5 diodes, 4 connectors and 2 ICs. It belongs with the computers and single-board computers boards and the nRF52 and nRF5x boards of this library.

README

README.md

e7020e_project

We shamelessly borrowed the footprint & symbol libraries used in the labs of E7020E

TOTP with automatic password input

Members

High level specification

Our TOTP fob is designed to be able to automatically input the password calculated by behaving like a keyboard when you click the button once and it's connected to the USB, holding the button down will instead make it behave like a usb memory thus allowing a user to insert a new secret onto the device. When the password has been sent the display will show a "Success" message letting the user know that it's safe to remove the device. When the device is only powered by battery the device will show the one time password on the display instead, holding down the button will instead show the secret stored on the device.

  • Button
    • Click, USB powered: calculate & act as keyboard (enters password automatically)
    • Click, battery powered: calculate password and show it on the display
    • Hold, USB powered: allow insertion of secrets
    • Hold, battery powered: display secret
  • Display
    • If button was clicked show password (battery)
    • If button was clicked send password (usb)
      • Show successful message when password was "sent"
    • If button was held & connected to USB
      • Restart USB connection & act as a USB memory
      • Allow a user to store new secret

NOTE: This is still not set in stone, currently talking about it and might change

Hardware Features

  • 1x Real time clock (32kHz crystal)
  • 1x Button
  • 1x USB connector
  • 1x Display
  • 1x Battery connector (5V)

Software Features

  • Allow setting & getting time
  • Set shared secret
  • Encrypt secret
  • Deep sleep (1mA during idle)

Additional features

  • Battery powered while not connected to USB
  • Allowing the TOTP to switch between different behaviour
    • Might need to terminate USB connection for this to work
    • Acting as a keyboard
    • Acting as a USB memory auto running a CLI?
  • *LED displaying remaining battery

Features starting with * might be included depending on difficulty and time required to complete said feature

Grading

  • Gabriel

    • Expected contributions towards grade 4 or 5.
  • Simon

    • Expected contributions towards grade 4 or 5.
  • Patrik

    • Expected contributions towards grade 4 or 5.

Summary of workflow and member contribution

Regarding our goal, it turned out to be very hard to achive all features due to faults in the final PCB manufactured board (as brought up on presentation meeting), which led to delays and alot of time-pressure towards the end. But overall, we are very happy that we manage to do in the time we had. Working button, working keyboard feature, working Secret-key storeage on the flash memory on the pcb and also a correct working OTP-code generator.

  • Contribution

    • When it comes to hardware, we decided to do everything as a group together, mostly because all of us wanted to learn soldering and the whole process.
    • When it comes to the software, we reused alot of code from the excercises. But we assignt our selfs to be responsible for diffrent task inside the software. Gabriel was responsable for getting the pcb to work as a keyboard and get the button up and running. Patrik took upon himself to implement the secret key store/retrieval-feature and helping Simon with the display. Simon was responsible for how the otp-code was generated and at the end tried with Patrik to get the display to work. Ofcourse there had to be alot of pair/group programing because our parts had to work together and in the "same direction". So alot of times there where open discussion where ideas was floating in the air and changes was made.
  • NOTE: our code is not very well structred(due to time press), but important to know is that our working software is placed inside a file named "examples/main.rs". There are also some things added in the cargo files and in the command-parser file, but the main software is in main.rs. There may also be code that is not yet finished (display), if that is a problem let us know.

Parts

47
QtyValueFootprintReferences
6~E7020E:TestPoint_THTPad_1.5x1.5mm_Drill0.8mmTP1, TP2, TP3, TP4, TP5, TP6
54.7µFCapacitor_SMD:C_0603_1608MetricC4, C6, C9, C18, C19
412pFCapacitor_SMD:C_0603_1608MetricC1, C2, C15, C16
3100nFCapacitor_SMD:C_0603_1608MetricC5, C7, C11
3330OhmResistor_SMD:R_0603_1608MetricR3, R4, R5
35.1kOhmResistor_SMD:R_0603_1608MetricR1, R2, R6
3LEDLED_SMD:LED_0805_2012MetricD1, D2, D3
21µFCapacitor_SMD:C_0603_1608MetricC3, C13
2D_SchottkyDiode_SMD:D_SOD-123D4, D5
1-Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalPower1
11.0µFCapacitor_SMD:C_0603_1608MetricC12
1100pFCapacitor_SMD:C_0603_1608MetricC10
132MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mm_HandSolderingY1
132kHzCrystal:Crystal_AT310_D3.0mm_L10.0mm_HorizontalX2
1820pFCapacitor_SMD:C_0603_1608MetricC8
1Battery_CellBattery:BatteryHolder_Keystone_3002_1x2032BT1
1DISPConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ3
1MCP1700x-330xxMBPackage_TO_SOT_SMD:SOT-89-3U2
1Q_PMOS_DSGPackage_TO_SOT_SMD:SOT-23Q1
1RSTButton_Switch_THT:SW_PUSH_6mmSW2
1SWDConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1
1SW_PushButton_Switch_THT:SW_PUSH_6mmSW1
1USB_AConnector_USB:USB_A_Molex_48037-2200_HorizontalJ4
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ2
1nRF52833-QDxxE7020E:QFN-40-1EP_5x5mm_P0.4mm_EP3.6x3.6mmU1

Questions

How big is the Baseboard PCB?

It measures 80 × 30 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Baseboard use?

47 parts. 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 Baseboard KiCad files?

From the SimonPergel/e7020e_project_Group10 repository on GitHub, at the commit this page was made from: the board is baseboard/baseboard.kicad_pcb and its schematic baseboard/baseboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Baseboard design in my own project?

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

Similar boards

  • 4 layers17.4 × 43.2 mmAmulet encoder, the printed circuit board in 3D

    Amulet encoder

    EPFLXplore/XRE_LeggedRobot_HW

    PCB designs for Xplore Research's robot dog project

    47 parts348Apache-2.0
  • 4 layers41 × 20 mmPmod prbs slow, the printed circuit board in 3D

    Pmod prbs slow

    azonenberg/starshipraider

    Open hardware test equipment

    47 parts193BSD-3-Clause
  • 4 layers67.5 × 9.2 mmRef mic, the printed circuit board in 3D

    Ref mic

    loudifier/OpenRefMic

    open hardware design for a high-performance low-cost measurement microphone

    47 parts169MIT
  • 4 layers67 × 31.3 mmFlipper subg, the printed circuit board in 3D

    Flipper subg

    ElectronicCats/flipper-addons

    Flipper addons by Electronic Cats

    47 parts133
  • 4 layers149.9 × 110 mmSch, the printed circuit board in 3D

    Sch

    DownUnderCTF/Challenges_2024_Public

    Files + Solutions for DownUnderCTF 2024 Challenges

    47 parts116
  • 4 layers61.3 × 66.3 mmTerasicDECACape, the printed circuit board in 3D

    TerasicDECACape

    MiSTeX-devel/MiSTeX-hardware

    Hardware for MiSTeX

    47 parts73
  • 4 layers100 × 65 mmBefore split, the printed circuit board in 3D

    Before split

    rjwalters/kicad-tools

    Standalone Python tools for parsing and manipulating KiCad schematic and PCB files

    47 parts73MIT
  • 4 layers17.8 × 51.6 mmBonsai C, the printed circuit board in 3D

    Bonsai C

    customMK/Bonsai-C

    An open-source ARM-based microcontroller board

    47 parts71