

Tinylab proto1
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
4ATXMEGA32A4U-AU
TQFP-44(10x10)-40℃~+85℃ 1.6V~3.6V 12bit 12bit 1KB 32KB 32MHz 34 4KB 8/16 Bit AVR Built-in FLASH TQFP-44(10x10) Microcontrollers (MCU/MPU/SOC) ROHSMicrochip TechnologyMicrocontrollers (MCU/MPU/SOC)LM324
SOP-14-1.5V~10V 0℃~+70℃ 24V 250nA 3V~20V 4 40mA 50nA 700uA 7mV 80dB SOP-14 Operational Amplifier ROHSHXY MOSFETOperational AmplifierDMN63D8LDW
SOT-363-55℃~+150℃ 1.5V 2 N-Channel 22pF 260mA 2pF 3.2pF 30V 4.2Ω@4.5V 400mW 870pC@10V N-Channel SOT-363 MOSFETs ROHSDiodes IncorporatedMOSFETs78L05
SOT-89-3-20℃~+120℃@(Tj) 1 1.7V 100mA 2mA 30V 40uV 49dB@(120Hz) 5V Fixed Over Temperature Protection、Short Circuit Protection Positive SOT-89-3 Voltage Regulators - Linear, Low Drop Out (LDO) Regulators ROHSUMWVoltage Regulators - Linear, Low Drop Out (LDO) Regulators
README
README.mdWhat 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,
QT_SELECT=qt5 qmake
make
sudo make installafter which the command labrador launches the app.
On macOS:
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:
# 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/labradorudev rules: To access the USB device without root, add these rules to your system. On NixOS, add to your configuration.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:
- https://www.thingiverse.com/thing:3188243
- https://www.thingiverse.com/thing:4705392
- https://www.thingiverse.com/thing:7400465
Dave Messink has designed a case that can be laser cut from 3mm plywood. The binding posts and cables he used are from Amazon.
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| Qty | Value | Footprint | References |
|---|---|---|---|
| 15 | 1K | Resistors_SMD:R_0603 | R5, R6, R15, R16, R17, R18, R19, R20, R21, R26, R28, R29, R30, R31, R32 |
| 12 | 28R | Resistors_SMD:R_0603 | R7, R8, R9, R10, R11, R12, R13, R14, R22, R23, R24, R25 |
| 12 | C | Capacitors_SMD:C_0603 | C1, C2, C7, C8, C10, C11, C12, C13, C14, C16, C17, C18 |
| 3 | CP1 | Capacitors_SMD:c_elec_4x5.3 | C6, C9, C15 |
| 3 | C_Small | Capacitors_SMD:C_0603 | C3, C4, C5 |
| 3 | INDUCTOR | Resistors_SMD:R_1206 | L2, L3, L4 |
| 2 | 1M | Resistors_SMD:R_0603 | R1, R2 |
| 2 | 75K | Resistors_SMD:R_0603 | R3, R4 |
| 2 | DMN63D8LDW | TO_SOT_Packages_SMD:SOT-363 | U3, U4 |
| 2 | F_Small | Capacitors_SMD:C_1210 | F1, F2 |
| 2 | SCOPE_OUT | Pin_Headers:Pin_Header_Straight_1x04 | P1, P5 |
| 1 | 100R | Resistors_SMD:R_0603 | R27 |
| 1 | 78L05 | SMD:SOT-23-3 | U1 |
| 1 | ATXMEGA32A4U-AU | Housings_QFP:LQFP-44_10x10mm_Pitch0.8mm | IC1 |
| 1 | DAC_OUT | Pin_Headers:Pin_Header_Straight_1x04 | P6 |
| 1 | DIG_IN | Pin_Headers:Pin_Header_Straight_1x02 | P8 |
| 1 | DIG_OUT | Pin_Headers:Pin_Header_Straight_1x04 | P3 |
| 1 | D_Schottky | Diodes_SMD:SMA_Standard | D1 |
| 1 | EXPANSION | Pin_Headers:Pin_Header_Straight_1x03 | P10 |
| 1 | FUSE_BYPASS | Pin_Headers:Pin_Header_Straight_1x02 | P9 |
| 1 | INDUCTOR | Special_inductor:SMALL_INDUCTOR | L1 |
| 1 | LARGE_LOGO | labralogo:logo175dpi | Main_Logo |
| 1 | LED | LEDs:LED_0603 | D2 |
| 1 | LM324 | Housings_SOIC:SOIC-14_3.9x8.7mm_Pitch1.27mm | U2 |
| 1 | LOGO | labralogo:oshwnotext500dpi | G*** |
| 1 | LOGO | labralogo:logo800dpi | G*** |
| 1 | PDI/3V3 | Pin_Headers:Pin_Header_Straight_2x02 | P4 |
| 1 | PSU | Pin_Headers:Pin_Header_Straight_1x02 | P7 |
| 1 | Q_NMOS_GSD | SMD:SOT-23-3 | Q1 |
| 1 | SWITCH | Pin_Headers:Pin_Header_Straight_1x03 | P11 |
| 1 | USB_OTG | Connect:USB_Micro-B_WIDE | P2 |
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 mm

- 2 layers30 × 106 mm

- 4 layers100 × 100 mm

TouchSynth
cpldcpu/TouchSynth
Analog Monophonic Synthesizer with a touch keyboard. Controller by CH32V00x
246 partsMIT - 2 layers39.8 × 108.6 mm

KickAid Main
Thorinair/Avalon-Harmonics
A collection of Avalon Harmonics branded synthesizer modules.
79 parts26CC-BY-SA-4.0 - 6 layers69 × 54 mm

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 mm

Ddr ps2-controller
kcuzner/ddr-ps2-controller
A Dance Dance Revolution Controller for the PlayStation 2
79 parts5 - 4 layers170 × 100 mm

- 2 layers77.3 × 70.1 mm

Hexpansion
skyler84-tildagon-addons/goosepansion
Untitled Goose Game inspired capacitive touch reversible goose honker
23 parts3