Due to the impacts of the coronavirus outbreak, we are experiencing longer than normal lead times on certain products. We encourage back-ordering out-of-stock items to receive them as soon as possible.
Mojo (n) is defined as "the art or practice of casting magic spells." With the Mojo v3 FPGA you will definitely discover what kind of magic you can make! This development board is a field-programmable gate array (FPGA), meaning that you (yes, you) get the pleasure of configuring the digital circuits on the Mojo v3 to your own specifications! What separates this FPGA from the others is ease of use and the thorough tutorials that Embedded Micro provide (which can be found below). The goal of the Mojo v3 is to get you up and running with a FPGA as easily as possible
The Mojo v3 FPGA uses the logic optimized Spartan 6 Lx9 and the high performance ATmega32U4. Needless to say this board has no shortage of processing power. The ATmega32U4 comes with a USB (DFU) bootloader which will allow you to install future upgrades to the firmware without having to buy a programmer. Once the board is powered on, the ATmega configures the FPGA from the flash memory. After the FPGA is successfully configured the ATmega enters slave mode. This allows your FPGA designs to talk to the microcontroller; giving you access to the serial port and the analog inputs.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Expert - You should be extremely comfortable programming on various hardware in several languages.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels
Based on 17 ratings:
2 of 2 found this helpful:
in the future, id like to see capes and sheilds from this manufacturer. in other words, i'd like to see capes for beaglebone,raspberrypi, and a shield for arduino.
4 of 4 found this helpful:
It may not have the bells and whistles of other dev boards, but I think this is an excellent product. It handles the configuration of the FPGA on power-up, and breaks out all of the remaining I/O. It is sized very well for embedding inside a project and is easily powered. Also has an on-board oscillator to provide a clock to the FPGA, as well as a button for a reset and a handful of LEDs for debug. They even break out the JTAG interface if you wish to use it. Also, the analog inputs via the AVR are an excellent addition!
The only major downfall of note is that all I/O are configured for 3.3V LVTTL. This is a slight annoyance if you wish to use LVDS or other signaling standards, but I can't say that it has held me back yet. Also, the LEDs were placed on global clock inputs which seems like an odd choice for such valuable input pins. However, they can still be used for clocking if you aren't worried about SI from the LED hanging off the pin. So far I haven't found a need to provide it with a global clock other than the on-board oscillator, so again, not an issue for me.
I have not used their programming GUI yet (I'm a Makefile person myself), but the Mojo works great for me. A tool is provided to upload any .bit file onto the Mojo that you wish. Haven't taken advantage of the Arduino boot loader on the AVR yet either, but it is nice to know I have the option if I want it.
If you are new to FPGAs, check the Embedded Micro website for a variety of excellent tutorials. As mentioned in the comments, there is a LOT more documentation out there for the Spartan 6 if you check the Xilinx website (particularly for those familiar with FPGAs who wish to take advantage of the more complex primitives).
1 of 1 found this helpful:
I have been away from doing FPGA work for about 10 years. I was a little bit timid at first, but having the Mojo V3 board and the support from the Embedded Micro website was awesome. Justin Rajewski is a great teacher. I've learned so much from the website. I would highly recommended the Mojo V3 board to anyone who wants to learn FPGA. The Mojo V3 board is very easy to work with. It is very well documented. Justin, thank you for making this board and share it with the world. Your grateful student.
1 of 1 found this helpful:
This little board makes getting into FPGA extremely easy. The board is compact and feels well built. The pin-headers work great when you throw in some M/M jumper wires (from SF). The biggest down side is that you have to download the latest vintage ISE tools from Xilinx which are around 6.5GB. I prefixed ISE with vintage as Xilinx's latest development toolsuite (Vivado) doesn't run with the older Spartan-6 :-(
Other than the issues above, a great way to get into FPGA's! Working on driving HDMI with mine right now!
4 of 4 found this helpful:
I bought this product to explore the world of FPGAs and I'm glad I did. The tutorials on Embedded Micro are great and the added functionality of an onboard Arduino is a bonus. I use it with a 2012 MacBook Pro Retina, running Linux Mint in Parallels Desktop 10. I've had no issues with the Xilinx ISE Design Suite software or the Mojo Loader in the virtual machine. Of note, you do need a Micro USB cable and an optional 5-12 V DC power supply. The documentation is a little lacking, but it is out there (dig through the Xilinx datasheets and the Mojo v3 schematic).
1 of 7 found this helpful:
I thought I would be able to use this as a starting platform for some design work I was doing. The examples looked close.My background is a senior electrical eng- primarily analog- but have designed computers from the gate level and use lots of design software. I liked the idea of being able to work from a schematic- make changes and retest. None of the spark-fun samples were schematic based. I tried to work backwards to create schematics and that did not work. After wasting about 20 to 30 hours I set it aside and have bought another system.
The learning curve for FPGAs is admittedly somewhat steep. I was pleasantly surprised that I got the first demo working in just over an hour, and the slowest part was getting all the Xilinx software downloaded and getting the license set up. I was very pleasantly surprised that everything seems to be working without issues on a very current Linux release (Ubuntu 17.10). Aside from the basic demos I haven't actually done anything with this, but the point was to learn the technology, and it is accomplishing that.
Gonna have tons of fun with it
Very solid board. LEDs and a push button to get started. Nice hand holding documentation to get all the software installed and example code running. The book "Learning FPGAs" by Justin Rajewski is a big help if you're just getting started. Once the software is installed and licensed (Xilinx ISE is free but the process is a bit convoluted, MOJO IDE installation is easy), plug the board into the computer (Linux in my case) and fire up a few examples!
As long as you follow the online tutorials, everything works perfectly. Mojo IDE made it very easy to start programming verilog code. The silk screen (letters/numbers) printed on the board itself is a little hard to see without the proper lighting due to the black PCB color. But that is a minor detail, board is great.
I'm learning VHDL and was able to setup and test my designs with no prior FPGA experience on Windows 10. The legacy Xilinx toolset (ISE 14.7) is no longer officially supported and it shows. Come with some patience and persistence : )
Here's how to get started with the Mojo IDE: https://alchitry.com/products/mojo-v3
Here's a translation of the Verilog base project to VHDL: https://sourceforge.net/projects/mojovhdl/ In PlanAhead you will need to run bitstream generation (bitgen) with the additional arguments: -g Binary:Yes -g Compress. Then you can copy the *.bit file into the Mojo IDE's working directory to upload to the Mojo board.
I found this extremely helpful in getting PlanAhead 14.7 simulations up and running with iSim: https://stackoverflow.com/questions/23033297/error-in-vhdl-xilinx-failed-to-link-the-design
Has a lot of usable I/Os, has and IDE that takes care of "compiling" and transferring over to the board.My only complaint on this is the the IDE needs a bit of work. They also have own HDL, which I haven't touched, since I am more comfortable with Verilog.
Just a bunch of IO and no extras that you don't need.
WARNING TO WINDOWS 8/10 USERS: Xilinx has made it abundantly clear that they have no intention to support the Spartan 6 going forward. The toolchain that you have to install in order to make the Mojo IDE build your project is not supported. The 64 bit version of the toolchain doesn't work on Windows 10. If you do use Windows 10, I've written up how I got it working in the forum (https://forum.sparkfun.com/viewtopic.php?f=43&t=45971) but your mileage may vary.
Other than that the tutorials are awesome. Mojo IDE is clean and works reasonably well. The board itself is really well put together. I like the aesthetics of the black solder mask with the green silkscreen, which looks better in person than in the pictures on the site. The price is also good for what it is.
I came to this board from a Lattice iCEblink40 with which I had been growing increasingly frustrated as the manufacturer seems to have effectively abandoned it in place. When I switched to the Mojo, I had my existing project ported over and working within a couple hours and I've never looked back. The thorough silkscreen pinout markings made it a breeze to hook up and create a new constraints file, and loading via Mojo Loader workeed without any hassle. The board's small footprint and minimalist design makes it a good candidate for simply embedding into a project by putting a custom shield on top. I wouldn't mind seeing a couple of user pushbuttons added off in the one empty corner of the board, just for rudimentary debugging.
I did not try to use the vendor's custom IDE; I used Xilinx ISE WebPACK; I got it running just fine in minutes on Win10 x64 by using the instructions that Xilinx published on their support page (swapping out two DLL files). Xilinx now claims to have a Win10 version of ISE due to popular demand, however I was informed by my rep that it is not actually a native Win10 application, but rather a canned Linux VM running the Linux version of ISE. You can currently only obtain that by getting it from a sales rep, so enterprising hobbyists may prefer to just set up their own VM if they want to go that route.