Skip to the content
PCBKitNew board
2 layers80 × 45.7 mmCustomPCB, the printed circuit board in 3D

Automate tree ring gathering!

Size
80 × 45.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
50
Pads
91
Tracks, vias
82, 0
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
19 Dec 2023
Updated
9 Jun 2025

Overview

CustomPCB is an open-source printed circuit board by UAA-Robo, from the UAA-Robo/tree-ring repository on GitHub, published under the MIT licence. It is a 2-layer board of 80 × 45.7 mm with 20 parts on 50 nets, routed with 82 tracks and 0 vias.

It belongs with the AVR (ATmega, ATtiny) boards of this library.

README

README.md

Tree Ring Imaging Machine (TRIM)

⚠️ Notice: This project is no longer actively maintained.

For an actively supported alternative, please see FORGE — a low-cost, open-source imaging system built with off-the-shelf hardware. FORGE is designed to replace TRIM with improved support, extensibility, and easier hardware sourcing.

Documentation can be viewed at uaa-robo.github.io/tree-ring and in the docs folder.

This code controls the Amscope camera (our model is the MU500 and MU1000).

The following files are taken from the SDK provided by AmScope here when you select your camera and model:

  • amcam.py - this file provides an API for the camera. For more information about the API, see API.pdf.
  • simplest.py - this file provides a simple example that opens the camera and grabs frames from the camera, though it does not display these frames.
  • qt.py - this file provides an example that grabs frames from the camera and renders them in a GUI.
  • libamacam.dylib - needed for mac
  • win/ - contains drivers and dlls needed for windows

We created the following files:

  • camera.py - Interfaces with images from the amcam or the webcam if no amcam is present.
  • gui.py - Displays a gui that the user can use to run the automation script. Displays camera feed.
  • automationScript.py - Script that rotates the motor to shift the platform and trigger the camera to take pctures.

Setup & Running

For setup, run python -m pip install -r requirements.txt to install the python requirements needed.

To execute this program run python gui.py in this directory.

Bundle program into an executable for Windows

To compile this program, double-click on the build.bat script. An executable will be generated in the dist folder.

Note: When building the program in "windowed" mode or "noconsole", Windows thinks its a virus. Building it with the console window attached when running prevents that from happening.

Parts

20
QtyValueFootprintReferences
5TestPointTestPoint:TestPoint_Pad_1.5x1.5mm12v_N_1, D2, D11, D12, D13
4MountingHole_2.7mm_M2.5MountingHole:MountingHole_2.7mm_M2.5M2.5, M2.5, M2.5, M2.5
2Conn_01x04_SocketConnector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalMotor_1, Motor_2
2Pololu_Breakout_A4988Module:Pololu_Breakout-16_15.2x20.3mmTMC2088_1, TMC2088_2
1Arduino_Nano_v3.xModule:Arduino_NanoArduino_1
1Barrel_Jack_MountingPinConnector_BarrelJack:BarrelJack_HorizontalDC_12V_1
1C 100Capacitor_THT:CP_Radial_D8.0mm_P5.00mm100uF_C1
1Conn_01x01_SocketConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ2
1Fan_3pinConnector:FanPinHeader_1x03_P2.54mm_VerticalFan_Header_1
1Limit 1x1 PinConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ1
1Screw_Terminal_01x02TerminalBlock:TerminalBlock_bornier-2_P5.08mmPwr_Switch_1

Questions

How big is the CustomPCB PCB?

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

What parts does the CustomPCB use?

20 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 CustomPCB KiCad files?

From the UAA-Robo/tree-ring repository on GitHub, at the commit this page was made from: the board is PCB_files/CustomPCB.kicad_pcb and its schematic PCB_files/CustomPCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the CustomPCB 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 layers66.9 × 74.5 mmDeskHop Rev1, the printed circuit board in 3D

    DeskHop Rev1

    hrvach/deskhop

    Fast Desktop Switching Device

    20 parts7.9kGPL-3.0
  • 2 layers86.4 × 64.8 mmSlot machine, the printed circuit board in 3D

    Slot machine

    google/google-ctf

    Google CTF

    20 parts5.1kApache-2.0
  • 2 layers36.2 × 26.8 mmEsp32 minimal, the printed circuit board in 3D

    Esp32 minimal

    atopile/atopile

    Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️

    20 parts4kMIT
  • 2 layers108.1 × 393.8 mmSweep compact ble, the printed circuit board in 3D

    Sweep compact ble

    davidphilipbarr/Sweep

    Sweep - a small promicro based keyboard inspired by the Ferris.

    20 parts2.1k
  • 2 layers26 × 15.9 mmTPS54340 Buck Regulator, the printed circuit board in 3D

    TPS54340 Buck Regulator

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    20 parts1.2k
  • 2 layers67.6 × 30.5 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    20 parts1kGPL-3.0
  • 2 layers44.3 × 28.7 mmLin bus adapter esp32, the printed circuit board in 3D

    Lin bus adapter esp32

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    20 parts915
  • 2 layers89.5 × 61.6 mmFreeDeck TH 2020-02, the printed circuit board in 3D

    FreeDeck TH 2020-02

    FreeYourStream/freedeck-hardware

    all the stuff you need to build your own FreeDeck

    20 parts772