Skip to content

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!

Notifications You must be signed in to change notification settings

espotek-org/Labrador

Repository files navigation

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.

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 install
sudo ldconfig

after which the command labrador launches the app.

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, set AVRDIR in it appropriately, 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/labrador

udev 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 and Bostwickenator:

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 [email protected]

Thanks to all. ~Chris

About

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!

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 19