After 14 months of work, I finally get to share the new Mojo IDE with you! Before we get into all the cool new stuff, let me share some of the motivation behind everything.
Lucid, A New Hardware Description Language
Embedded Micro is all about making technology more accessible. We want FPGAs to be as easy to use as possible so anyone wanting to learn how to use one can without having outside training. After working with FPGAs for a while and talking to people who have been working with them far longer, the general consensus is that the tools are very poor. This is what we are trying to improve with the IDE. However, having a nice IDE is only half the battle. The other half is the language you are writing. Verilog and VHDL are both very cumbersome languages. They often require you to write the same or similar code in multiple places and don't allow for concise ways to instantiate basic primitives such as flip-flops. This is really because they weren't designed to be used with FPGAs but rather focused on simulations. Because of this, we knew we could do better so we created Lucid, a new hardware description language.
Mojo V2 is now Arduino Compatible!
We have added Arduino compatibility for the Mojo V2! We now have a slightly modified bootloader and support with our Arduino IDE plugin for version 1.6.x of their IDE. To get started, you will need to install the Arduino IDE and our plugin then flash the new bootloader.
We are very excited about this since it allows us to fully support the Mojo V2 and all our original Kickstarter backers with our upcoming projects. Keep in mind that some Mojo V2's were made with ATmega32U4 microcontrollers instead of the ATmega16U4 due to a stock shortage. If your Mojo V2 has an ATmega32U4, you should treat it like a Mojo V3 (they are electrically the same).
The only limitation of the ATmega16U4, is a lower maximum USB transfer speeds due to it having less RAM = smaller buffers.
New Firmware All Around
We have also made some modifications to both the AVR firmware and the Mojo Base Project for the Mojo V2 and V3. These modifications address the issue where sometimes some bytes would be dropped if you tried to send serial data as fast as possible. The new avr_interface module works exactly the same as before, so it should be a drop in replacement for your projects.