The Mojo IDE has been replaced by Alchitry Labs!

Download Links Version B1.3.6

New in B1.3.6

Bug fixes with adding component dependencies and ternary constant calculations.

New in B1.3.5

Bug fixes and improved debug signal selection.

New in B1.3.4

Bug fixes and ability fo clone projects (File->Clone Project).

New in B1.3.3

Fixed some Verilog macro processing bugs.

New in B1.3.2

  • Improved debugging. Your project now just needs to have the reg_interface module hooked up (see the Register Interface Tutorial for help) and you can then click the little bug icon. This will launch a new dialog that will show you the signals in your project. You can then check the signals you want to capture and enter the number of samples to take. Clicking debug will cause the IDE to build your project with modifications to capture those signals. With the built project on your Mojo, you can use the Wave Capture tool to capture and view the signals.
  • Minor bug fixes.

New in B1.3.1

  • Minor bug fixes.

New in B1.3.0

  • Added Wave Capture tool to help with debugging.
  • Updated the auto-updater to show progress when downloading update files.
  • Added feedback form (Help->Send Feedback).
  • Crash reports are now sent directly through the IDE (not external email client).
  • Added Verilog module template.
  • Bug fixes for Verilog/Lucid integration.
  • Bug fix for arrays of size 1.

New in B1.2.11

  • Fixed bug that was removing parameter values from Verilog code.

New in B1.2.10 

  • Fixed bug that was crashing projects with IP cores. 

New in B1.2.9 

  • New improved project tree that looks better in Windows.
  • Added "Import Source" feature.
  • Fixed load to flash bug for the latest batch of Mojos.
  • Lucid modules can be used in Verilog code again, but parameters can currently only be numbers (or expressions of only numbers such as "5 + 2").

Previous Major Release

Download Links Version B1.1.9c 


If you are using Linux you need to have a JRE version 7 or newer to run this. On Ubuntu you can enter

sudo apt-get install openjdk-7-jre-headless

Note that some versions of Ubuntu (12.04 and earlier) may need to be configured to use the proper version of Java. To configure the default version, type the following and select OpenJDK 7.

sudo update-alternatives --config java

You will also need to be a member of the dialout group to be able to use the serial port. You can add yourself by entering this line.

sudo usermod -a -G dialout `whoami`

You will have to log out or restart your computer for that to take effect.

The 99-mojo.rules file in the driver folder should be moved to /etc/udev/rules.d/ This file prevents Ubuntu from thinking the Mojo is a modem and locking it up for about a minute after it's plugged in.

Ubuntu 15.10

In Ubuntu 15.10, there seems to be an issue with OpenJDK. Instead, use Oracle's JRE.

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default


Real Time Error Checking

When writing Lucid, the Mojo IDE will perform real-time checks on your code and let you know if something isn't right.

In the above image, you can see the signal spi_miso was missing the underscore. The Mojo IDE underlines all the errors it finds in red and all the warnings in yellow. By hovering your cursor over it, a tool-tip pops up telling you what is wrong. This means you can easily spot errors without having to attempt to build your project then scroll through tons of text to look for the line number and error message.


One of the best features of the Mojo IDE is the components library. There are lots of times that you need to do the same thing and having a reusable component just makes your life that much easier.

By going to Project->Add Components... you can easily choose the components you want to add to your project. Once you add it to your project, the component's source code can be opened so you can see how everything works.

Example Projects

Having components is great, but sometimes you need to see a full project to see how to do something. For this, we have example projects that you can make a copy of when creating a new project.

Here we will be copying the Hello World! project which sends "Hello World!" over USB every time you send "h".

Once you create your new project from the example, you are free to edit it however you would like.

We will have an example project to accompany every Lucid tutorial so that you can easily compare your project to example if you get stuck, or if you just want to learn by examples.


The component library and example project's versions are independent of the Mojo IDE. This allows us to push updates to the library and example projects between Mojo IDE updates. When you open the Mojo IDE, it checks to see if a new version is available. If there is, it will prompt you to update the IDE, or the library.


When writing Lucid code, the Mojo IDE will give you suggestions for what you are typing.

When you are accessing a module's signal, it will list all the available signals so that you don't have to keep looking back and forth between two files.

The text is matched by searching for words that contain the typed letters in the order they were typed. They don't have to be next to each other. In the following example, " ta" is matched to "tx_data" and "rx_data".

Choose Your Style

We realize that not everyone likes the default dark theme. You can now choose the light or dark side!

Editor Splitting

You can split the editor window horizontally or vertically to show multiple files at once. Simply right click on an editor and select Split Horizontal or Split Vertical or press Ctrl+H or Ctrl+G respectively. You are free to drag and drop tabs between each open editor.

Have lots of space? We got you covered.