Alchitry Labs 1.1.0 is Here!

Justin Rajewski

I'm excited to present Alchitry Labs 1.1.0! This is a pretty major update with the most notable change being a complete overhaul of the USB interface.

This version now uses the open source library libusb instead of the proprietary drivers from FTDI. We wrote our own low level drivers in Java using another open source project, usb4java, that allows Alchitry Labs to now quickly detect your boards automatically.

This is even true for the serial port functionality making guessing the correct COM port a thing of the past.

If you are on Windows, this will require you to install the WinUSB drivers so head over to the Alchitry Labs page for more information.

Struct Constants

This version of Labs now supports a way to declare a struct constant. This allows DFFs that are structs to have an INIT value and makes assigning an entire struct a fixed value easy.

  struct color {
  .clk(clk) {
     dff<color> current_color(#INIT(<color>(r(0),g(120),b(10)))); 
  const RED = <color>(r(255), g(0), b(0));

  always {
    if (button_pressed)
      current_color.d = RED;


This version also brings debugging to the Au! You will now see the debug icon in the toolbar when working on an Au project. When you click this, you are presented with a list of capturable signals. Check whichever of these you'd like to inspect and start the build.

The debugging circuit will automatically be added to your project. Once the build is done, load it onto your board a go to Tools->Wave Capture. This tool allows you to setup triggers, capture, and view the data.

The Au uses the JTAG interface so there are no restrictions on your project unlike the Mojo which required the register interface component to be setup properly.