Odyssey Solutions FAQ
This page has answers to many of the common questions about the Odyssey kits and how to use them. It also has links to other resources you can use to answer your questions.
Odyssey FAQs - Click on a question to jump to the answer
Q: How do I get into console menu mode?
Q: Why does my Tera Term console not display the menu correctly?
Q: Do I need to erase a slot before downloading a new personality?
Q: Why does my console menu hang when/after loading a file using Tera Term's "send file"?
Q: Why does the LED on the Sensor board not go out when I am through using the console menu?
Q: Why does my personality list show numbers instead of personality names?
Q: Why do I sometimes see 00 00 00 00 in the personality list and no (or too few) personalities?
Q: Why do my FPGA-based personality buttons not work at first?
Q: How long does it take to program the FPGA?
Q: Why does my Odyssey not load the personality correctly when I have my USB Blaster plugged in?
Q: Why is the Sensor board green LED blinking when I select a personality that uses the FPGA?
Q: How do I create a personality file with an FPGA image?
Q: How do I get my FPGA SOF or POF image converted to a JBC file?
Q: Can I use my Odyssey MAX 10 board as a standalone FPGA development kit?
Q: How do I remove and attach the boards?
Q: Where do I get parts like standoffs, washers, bread boarding components, etc?
Q: Is my Odyssey MAX10 kit compatible with Arduino boards?
Questions with Answers
Q: I have more than one of my Odyssey boards powered up, but I only see one in the phone app. Why is this?
A: Odyssey boards currently all come programmed with the same Bluetooth (MAC) address – as a result you can only interact with one at a time until you reprogram the Bluetooth address. See the user guide for information on changing the address of your devices.
Q: How do I get into console menu mode?
A: If you are using the MAX10 FPGA kit, you briefly press pushbutton switch S3 (marked "M10"). If you are using the Sensor/Battery version of the kit, you briefly press the pushbutton S1 (near the battery slot). After pressing the button, the green LED on the Sensor board will turn on for the duration of menu mode. You then open your windows-based Tera Term console – using the settings given in the User manual.
Q: Why does my Tera Term console not display the menu correctly?
A: The COM port and terminal settings must be set correctly to see the menu and have it formatted appropriately. Typically, the default settings are not correct for the Odyssey kit menu mode. You must determine the proper COM port per your Device Manager and set the Tera Term settings as follows:
Terminal Setup menu -> "New-line" box: Receive=LF (or AUTO), Transmit=CR. You may wish to save these settings: Setup menu -> Save setup (and perhaps backup your INI file). See the User manual for more details.
There is a TeraTerm initialization file (.ini) that can be used to ensure correct Tera Term settings instead of the user trying to set them on their own. This .ini file should be located in the installation folder where the ttermpro.exe executable resides (Typically C:\Program Files (x86)\teraterm). You can download this file from the Odyssey Software Downloads page or directly from here: [TeraTerm INI download]
Q: Do I need to erase a slot before downloading a new personality to a slot already containing one?
A: Yes.
Q: Why does my console menu hang when/after loading a file using Tera Term's "send file"?
A: Any menu options that require loading a file (personality file, FPGA JBC file), MUST have the "binary" checkbox checked in the pop-up window. Otherwise the transfer will be misinterpreted by Tera Term and will cause a hang. You may need to erase the slot (menu option 2) and re-load the file accordingly.
Q: Why does the LED on the Sensor board not go out when I am through using the console menu?
A: The menu mode is considered a diagnostic mode and will not run personalities. To exit the menu mode, users can either press the same pushbutton again (LED goes off) or cycle power on their device (recommended).
Q: Why does my personality list show numbers instead of personality names?
A: When going to the personality list page, the IoT Odyssey server is sent requests to match up personalities on your phone/tablet with those in the Web app (you are seeing global personality numbers assigned to your loaded personalities). Depending on your internet connection and server traffic, this may take a few seconds. First, check to see that you have a good Wi-Fi connection on your phone/tablet. If the names do not fill in for the numbers within 10 seconds, tap the back key to go back to the Bluetooth device list and retry. Certain companies may have very restrictive internet firewalls that may block the ports used by Odyssey, and you may need to use different internet connection or get the appropriate port opened in your company's firewall.
Q: Why do I sometimes see 00 00 00 00 in the personality list and no (or too few) personalities?
A: If you connect to the Odyssey board shortly after applying power, you may be interrogating it before it's finished its boot cycle. It is best to wait 5-7 seconds after power-on to connect to the device. It is often a good idea to exit the App, kill it from background memory, and restart it if you see this issue.
Q: Why do my FPGA-based personality buttons not work at first?
A: When an FPGA-based personality is selected, the first thing the Odyssey kit does is load the FPGA with an image, then the buttons become operational. It is recommended that you wait for this process. During programming, the Silicon Labs EFM32 device on the BLE board runs a program called the JAM player, which programs the FPGA via JTAG. This process currently takes about 12 seconds. You will see a 3-second pause while the personality commands are loaded, followed by an indication that the JAM player is running – shown by the LED on the Sensor board lighting. After about 12 seconds the LED will go out and the FPGA is loaded. For personalities that load the FPGA with non-volatile images (.pof based), this load time can be significantly longer – up to 3 minutes. We are working on reducing these load times.
Q: How long does it take to program the FPGA?
A: For personality files using FPGA SOF files, typically about 12 seconds. For FPGA POF files (non-volatile images) typically about 3 minutes. It is recommended that users use SOF files because the selection of the personality will always kick-off an FPGA load sequence first.
Q: Why can't I upload a personality that includes a MAX 10 FPGA design into personality slots 11-15 on the Odyssey board? When I do, I see garbage in the slots after it?
A: Odyssey contains enough flash memory to hold 10 personalities that include an FPGA design and 5 additional personalities without FPGAs. Slots 1-10 should be use for personalities with FPGAs and 11-15 only for personalities without FPGA designs included. If you accidentally overwrite the top slots, you should erase those slots using menu option 2. See the user guide for details of the Odyssey flash and personality files.
Q: Why does my Odyssey not load the personality correctly when I have my USB Blaster plugged in?
A: The Odyssey MAX 10 FPGA board uses an analog switch to connect the JTAG pins on the MAX 10 device either to the JTAG header or to the Energy Micro microcontroller. By plugging in the USB Blaster, pin 2 of the JTAG header is grounded, which switches the analog switch to source JTAG from the JTAG connector and disconnects the Energy Micro Gecko device. As a result, when a personality is selected that requires an FPGA design, the Energy Micro Gecko device is not able to program the FPGA and the personality load fails. Please remove the USB Blaster during personality loads. If you want to change the FPGA design you should do it after the personality is loaded.
Q: Why is the Sensor board green LED blinking when I select a personality that uses the FPGA?
A: There is an error trying to program the FPGA image for this personality and the retries are unsuccessful (thus the blinking). The FPGA image is either corrupt or not loaded/included in this personality slot. You should make sure the personality file has an FPGA JBC image included properly or load the FPGA JBC file to your personality slot using the menu (option 5). See the user guide for creating a personality file with an FPGA image.
Q: How do I create a personality file with an FPGA image?
A: One way is to create a personality with the web application and be sure to select "FPGA required" in the process. Then, after downloading that personality file, use the console menu to load the file (option 1), followed by using menu option 5 to load the matching FPGA JBC (image) file to the same slot.
A second option for creating a single file involves using a binary editor to append the FPGA JBC image file to the personality file downloaded from the Web application. This combined file is then simply loaded into your Odyssey kit with console menu option 1. See the user guide for details.
Q: How do I get my FPGA SOF or POF image converted to a JBC file?
A: This is done using the the Altera Quartus II tool. See the user guide for more details.
Q: Can I use my Odyssey MAX 10 board as a standalone FPGA development kit?
A: Yes. The JTAG connector is compatible with a USB Blaster. You can use it with the Sensor board piggy-backed to get power – or power it separately (by itself) plugged into a standard breadboard. See the Tips and Tricks section of the user guide for a list of parts that can be used to power it (ordered online).
A alternative option is utilizing the built in image load/programming firmware in your kit (Sensor board required):
If you do not have a USB Blaster, you can create and load a generic personality that "requires an FPGA". Then, as you compile new FPGA SOF files, you can and convert them to JBC format and load them to the generic personality slot (menu option 5), then program the FPGA (menu option 6).
You may be required to erase your personality slot (menu option 2), then reload the personality (option 1) for trying new FPGA images. This is not an ideal development process, but an option.
Q: How do I remove and attach the boards?
A: See the user guide. Typically a pair of needle-nosed pliers is best for squeezing the ends of the standoffs to get them pushed through the board holes. The washers are not required for board operation… they just give a more secure fit. Also refer to the Tips & Tricks in the User Guide for additional stand-off clipping suggestions.
Q: Where do I get parts like standoffs, washers, bread boarding components, etc.?
A: See the user guide for this information.
Q: Is my Odyssey MAX10 kit compatible with Arduino boards?
A: The MAX 10 board was intended to be compatible with Arduino Nano boards. See the silkscreen note on the top side of the MAX10 board indicating "Arduino Pin 1" position. Please note that this has not yet been tested as of initial release. Also note that the 5V capabilities of Arduino are not compatible with the MAX 10 FPGA.
Q: Is the personality data I upload to the Mpression Odyssey site secure or should I avoid putting proprietary data there?
A: You should not put any proprietary data into the personalities on the Mpression Odyssey site. This includes FPGA files, commands, or other text. Anything you enter on the "Create/Edit Personality" page should not be considered securely saved, and Mpression/Macnica is not responsible if it is compromised. Personal data that is part of your registration, however, is protected using industry standard methods, and the website itself uses HTTPS to maintain an encrypted web session. If you want to protect FPGA designs, we recommend you use the Serial Consol to upload proprietary FPGA files to the flash on your kit separately from the personality. See the User Guide for details.
Q: Once I've programmed the FPGA on my Odyssey MAX 10 FPGA Evaluation Kit using a non-volatile file, how do I erase it so it doesn't load up every time I connect the power?
A: There are currently two ways to erase the MAX 10 FPGA on the Odyssey boards. If you have a USB Blaster programming cable, you can connect it to the JTAG header and use the Quartus programmer to erase the FPGA image programmed into the MAX 10 flash. The other method is to go into the console menu and select option 6, then select the slot for a personality that includes a non-volatile FPGA programming file. The Dual Config FPGA LOAD personality that ships pre-programmed into the Odyssey MAX 10 kit is this type of personality and should work for this purpose. Option 6 will run the JAM player in command line mode and will bring up the option to erase the device (normally option 3).
Q: After about 100 seconds my MAX10 FPGA design stops working like the FPGA is suddenly erased. What's happening?
A: Early MAX 10 engineering samples came programmed with the watchdog timer enabled. The watchdog timer is a feature of the dual configuration circuitry on the MAX 10 that allows for safe field updates, however, in this case it's incorrectly enabled and erases the MAX 10 configuration SRAM in the FPGA. To resolve this problem, load a personality that includes a non-volatile FPGA image (such as "Dual Config FPGA LOAD" which comes pre-installed on Odyssey boards). Alternately, you can erase the MAX 10 using either a USB Blaster programming cable or via the console menu. See the user guide and other FAQs for details.