Skip to the content
PCBKitNew board
2 layers36.8 × 34.7 mmTinylab proto1, the printed circuit board in 3D

EspoTek Labrador is a USB device that transforms your PC or smartphone into a fully-featured electronics lab. This repo holds all of the source code!

Size
36.8 × 34.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
79
Nets
76
Pads
235
Tracks, vias
833, 73
Routed
Yes
KiCad
KiCad 4
Created
7 Sep 2016
Updated
22 Oct 2026

Overview

Tinylab proto1 is an open-source printed circuit board by espotek-org, from the espotek-org/Labrador repository on GitHub. It is a 2-layer board of 36.8 × 34.7 mm with 79 parts on 76 nets, routed with 833 tracks and 73 vias.

It is built around the ATXMEGA32A4U-AU, LM324 and DMN63D8LDW, with the 78L05 among its other parts. Its parts include 32 resistors, 18 capacitors, 11 connectors, 5 ICs and 4 inductors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

4

README

README.md

What is it?

The EspoTek Labrador is an open-source board that turns your PC, Raspberry Pi, or Android Smartphone into a full-featured electronics lab bench, complete with oscilloscope, signal generator, and more.

This repo hosts all of the software and hardware that makes Labrador possible.

Tutorial

If you're new to Labrador or oscilloscopes in general, I strongly recommend checking out the fantastic tutorial series produced by Lief Koepsel. It features well-written, rich articles as well as video content that explains everything more clearly than I ever could!

Getting Started

Binary (executable) versions of the software are available for download for several platforms.

For the documentation, please visit the wiki.

Building from Source

If you're looking to build from source but don't know where to start, Qt Creator is the easiest way to get your toes wet!
https://www.qt.io/download-open-source/
When installing, make sure you tick the box to install Qt 5.15 or later. On Windows, use the MSVC2019 versions - later releases can introduce compatibility issues.

Once it's installed, open Desktop_Interface/Labrador.pro, then Clean All -> Run qmake -> Build All.

Alternatively, you can build on the command line. The process will consist of a subset of the commands present in the build scripts in the .github/workflows/ directory of this repo. These are run by Github to produce the packages on the releases page, but include app deployment commands that can be skipped for individual users.

Streamlined build scripts for individual Linux (including Raspberry Pi) and macOS users are described in the Building the desktop interface section of the wiki. As shown there, following installation of prerequisite packages, the Linux build simplifies to the following sequence of commands run within the /Desktop_Interface directory,

text
QT_SELECT=qt5 qmake
make
sudo make install

after which the command labrador launches the app.

On macOS:

text
brew install qt@5
brew install libusb
brew install eigen
brew install fftw
echo 'export PATH="/opt/homebrew/opt/qt@5/bin:$PATH"' >> ~/.zshrc

To build the AVR software, I use Atmel Studio 7. Just load up the .atsln located in the /AVR_Code directory and push F7. You can alternatively use open-source command-line AVR tools from GNU if you don't want to install a full IDE. Instructions for doing so are given in the Building the firmware section of the wiki. If you already have the GNU AVR tools installed, you can jump straight to the firmware Makefile and start building. The wiki includes troubleshooting tips in case you run into issues.

The PCB files can be edited in KiCAD 5.0 or later.

Using with Nix

A flake.nix is provided for NixOS and Nix users:

bash
# Build the package directly (recommended)
nix build
./result/bin/labrador

# Or enter development shell for hacking
nix develop
cd Desktop_Interface
qmake PREFIX=$PWD/_install
make -j$(nproc)
make install
./_install/bin/labrador

udev rules: To access the USB device without root, add these rules to your system. On NixOS, add to your configuration.nix:

nix
services.udev.extraRules = ''
  ENV{ID_VENDOR_ID}=="03eb", ENV{ID_MODEL_ID}=="ba94", MODE="0666"
  ENV{ID_VENDOR_ID}=="03eb", ENV{ID_MODEL_ID}=="a000", MODE="0666"
  ENV{ID_VENDOR_ID}=="03eb", ENV{ID_MODEL_ID}=="2fe4", MODE="0666"
'';

On other distros, copy Desktop_Interface/build_linux/69-labrador.rules to /etc/udev/rules.d/ and run sudo udevadm control --reload-rules. Unplug and replug the device after applying rules.

Extras

There are community contributed 3D printable cases available at Thingiverse, courtesy of SpaceBex, Bostwickenator and carterw:

Dave Messink has designed a case that can be laser cut from 3mm plywood. The binding posts and cables he used are from Amazon.
Top view Bottom view

Licence

All Desktop software files are licenced under GNU GPL v3.

All Microcontroller software files, with the exception of those provided by Atmel, are licenced under the 3-Clause BSD License.

All hardware files (schematics, PCB) are licenced under Creative Commons 4.0 (CC BY-NC-SA).

Collaboration

If you want to submit a Pull Request, bug report, or feature request, please feel free to do so here at GitHub.
If you just want to say hello and remind me that people are actually using my product (or if you just don't want to make a GitHub account), please email admin@espotek.com

Thanks to all.
~Chris

Parts

79
QtyValueFootprintReferences
151KResistors_SMD:R_0603R5, R6, R15, R16, R17, R18, R19, R20, R21, R26, R28, R29, R30, R31, R32
1228RResistors_SMD:R_0603R7, R8, R9, R10, R11, R12, R13, R14, R22, R23, R24, R25
12CCapacitors_SMD:C_0603C1, C2, C7, C8, C10, C11, C12, C13, C14, C16, C17, C18
3CP1Capacitors_SMD:c_elec_4x5.3C6, C9, C15
3C_SmallCapacitors_SMD:C_0603C3, C4, C5
3INDUCTORResistors_SMD:R_1206L2, L3, L4
21MResistors_SMD:R_0603R1, R2
275KResistors_SMD:R_0603R3, R4
2DMN63D8LDWTO_SOT_Packages_SMD:SOT-363U3, U4
2F_SmallCapacitors_SMD:C_1210F1, F2
2SCOPE_OUTPin_Headers:Pin_Header_Straight_1x04P1, P5
1100RResistors_SMD:R_0603R27
178L05SMD:SOT-23-3U1
1ATXMEGA32A4U-AUHousings_QFP:LQFP-44_10x10mm_Pitch0.8mmIC1
1DAC_OUTPin_Headers:Pin_Header_Straight_1x04P6
1DIG_INPin_Headers:Pin_Header_Straight_1x02P8
1DIG_OUTPin_Headers:Pin_Header_Straight_1x04P3
1D_SchottkyDiodes_SMD:SMA_StandardD1
1EXPANSIONPin_Headers:Pin_Header_Straight_1x03P10
1FUSE_BYPASSPin_Headers:Pin_Header_Straight_1x02P9
1INDUCTORSpecial_inductor:SMALL_INDUCTORL1
1LARGE_LOGOlabralogo:logo175dpiMain_Logo
1LEDLEDs:LED_0603D2
1LM324Housings_SOIC:SOIC-14_3.9x8.7mm_Pitch1.27mmU2
1LOGOlabralogo:oshwnotext500dpiG***
1LOGOlabralogo:logo800dpiG***
1PDI/3V3Pin_Headers:Pin_Header_Straight_2x02P4
1PSUPin_Headers:Pin_Header_Straight_1x02P7
1Q_NMOS_GSDSMD:SOT-23-3Q1
1SWITCHPin_Headers:Pin_Header_Straight_1x03P11
1USB_OTGConnect:USB_Micro-B_WIDEP2

The 78 most common of 79 parts.

Questions

How big is the Tinylab proto1 PCB?

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

What parts does the Tinylab proto1 use?

79 parts, built around the ATXMEGA32A4U-AU, LM324, DMN63D8LDW and 78L05. 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 Tinylab proto1 KiCad files?

From the espotek-org/Labrador repository on GitHub, at the commit this page was made from: the board is PCB/Tinylab_proto1.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tinylab proto1 design in my own project?

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

Similar boards

  • 2 layers33.2 × 34.6 mmTinylab proto1, the printed circuit board in 3D

    Tinylab proto1

    EspoTek/Labrador_backup

    Backup of the Labrador repo, pre-cleanup.

    59 parts1
  • 2 layers30 × 106 mmTribus, the printed circuit board in 3D

    Tribus

    pferreir/eurorack-modules

    My own DIY Eurorack Modules

    113 parts5
  • 4 layers100 × 100 mmTouchSynth, the printed circuit board in 3D

    TouchSynth

    cpldcpu/TouchSynth

    Analog Monophonic Synthesizer with a touch keyboard. Controller by CH32V00x

    246 partsMIT
  • 2 layers39.8 × 108.6 mmKickAid Main, the printed circuit board in 3D

    KickAid Main

    Thorinair/Avalon-Harmonics

    A collection of Avalon Harmonics branded synthesizer modules.

    79 parts26CC-BY-SA-4.0
  • 6 layers69 × 54 mmOpen control board, the printed circuit board in 3D

    Open control board

    variegated-coffee/all-purpose-espresso-controller

    Espresso electronics are usually proprietary affairs with little to no expandability. The purpose of this project is to give everyone an open source alternative with lots of features and flexibility.

    201 parts14CERN-OHL-P-2.0
  • 2 layers100 × 40 mmDdr ps2-controller, the printed circuit board in 3D

    Ddr ps2-controller

    kcuzner/ddr-ps2-controller

    A Dance Dance Revolution Controller for the PlayStation 2

    79 parts5
  • 4 layers170 × 100 mmIo master, the printed circuit board in 3D

    Io master

    csinko/io-master

    Dominate the I/O!

    674 parts4MIT
  • 2 layers77.3 × 70.1 mmHexpansion, the printed circuit board in 3D

    Hexpansion

    skyler84-tildagon-addons/goosepansion

    Untitled Goose Game inspired capacitive touch reversible goose honker

    23 parts3