The Raspberry Pi is, by far, the world’s most popular single-board computer and, for many people, the Raspberry Pi 4 is fast enough to serve as a PC. But what if you want the flexibility of a single-board computer that has GPIO pins for physical computing but you need the speed and compatibility of an x86 PC? Enter Seeed’s Odyssey X86J4105, which marries an Intel Celeron CPU with two sets of GPIO pins, one of which is for an onboard Arduino-compatible controller and the other of which has 40 pins and claims to work with Raspberry Pi accessories.
Clearly more expensive than the priciest Raspberry Pi, the Odyssey X86J4106 starts at $188 for the basic model with no storage or operating system and goes up to $258 for our review configuration, which comes with 64GB of eMMC and an activated copy of Windows 10. Is the added versatility of an x86 Intel CPU worth the premium?
Design of the Odyssey X86J4105
Measuring 4.3 x 4.3 x 1.3 inch (110 x 110 z 33mm) the Odyssey X86J4105 is larger than the Raspberry Pi 4 3.3 x 2.2 x 1.1 inch (85 x 56 x 28mm) but not by a gross amount. On the underside of the board is the heatsink and fan atop the Intel Celeron CPU.
Optional Case for Odyssey X86J4105
The Odyssey X86J4105 comes as a bare board and if used in this configuration it will require some M3 standoffs to raise the board from your desk. If you purchase the optional $25 re_computer case then your Odyssey X86J4105 will be raised up from your desk via a plastic riser that acts as a means to expel the waste heat from the unit.
Atop the case’s plastic rises is a blue aluminum chassis which wraps around the board and has openings for the various ports. A glass lid, held in place via magnets can be easily removed using a secret button on the underside of the case. With the lid removed there is free access to all of the GPIO pins and the user expandable storage. The re_computer case is compatible with other maker boards such as the Raspberry Pi, Beaglebone and Jetson Nano and there are standoffs in the case which can be used to secure those boards.
|Wireless||Wi-Fi 802.11 a/b/g/n/ac @ 2.4/5 GHz HT160 & Bluetooth® 5.0|
|Networking||Intel® I211AT PCIe Gigabit LAN, Supports Wake-On-LAN, Supports PXE|
|Audio||Microphone + headphone Combo Connector|
|Headers||1 × 40-Pin header compatible with Raspberry Pi|
|Headers||1 × 28-Pin header (SAMD21G18)|
|Headers||1 × Front Panel Audio Connector|
|Headers||1 × 4-Pin herder (UART function from SAMD21G18)|
|Headers||1 × Fan Port (4 pin 1.25mm PWM 5V）|
|Headers||3 × 4-Pin SATA Power Connector|
|Headers||1 × 4-Pin herder (Power and Switch)|
|USB||USB 2.0 Type-A x2, USB 3.1 Type-A x1, USB 3.1 Type-C x1|
|Video Interfaces||HDMI2.0a: Up to 4096x2160 @ 60Hz 24bpp / DP1.2a: Up to 4096x2160 @ 60Hz 24bpp|
|Expansion Slots||M.2(Key B, 2242/2280): SATA III, USB2.0, UIM; M.2 (Key M, 2242/2280): PCIe 2.0 ×4; Micro SD card Socket; SIM Card Socket; SATA III|
|RTC||JST 1.0 CR2032 3V|
|TPM||Built-in TPM (2.0)|
|Power||DC Jack 5.5/2.1mm or Type-C PD; DC Jack input: 12-19V DC; Type-C input: 12V DC|
Key Components and Ports on Odyssey X86J4105
Each version of the Odyssey X86J4105 comes with 8GB of DDR4 RAM and an Intel Celeron J4105, a three year old CPU which provides enough power to run Windows 10 Enterprise which came pre-installed on our review unit. Storage is provided via 64GB eMMC, available as an optional extra.
However, you can provide your own storage and there are an impressive number of ways to do this. A full size SATA port and M.2 SATA slot provide older, slower, but cost effective storage options. Just next to the M.2 SATA is space for a 4G / 5G cellular card for additional connectivity.
On the other side of the board is an NVMe slot which can be used with 2280 and 2242 drives. We populated our NVMe slot with a spare 256GB Toshiba drive and installed Ubuntu 20.04 for our later tests.
Display options are HDMI 2.0a at upto 4096x2160 @ 60 Hz and an additional DisplayPort is available via the front mounted USB-C connection. This provides another 4096x2160 @ 60 Hz output.
Cooling the Odyssey X86J4105
Cooling is via a large heat spreader and fan on the underside of the unit. We ran a series of Cinebench tests and our best score was 491 so clearly this is not a board for 3D rendering, and the temperature at one point hit 75 Celsius, much greater than the 60 Celsius trigger that would run the fan at 80%, but our fan just idly “ticked” as if it were unable to start. Looking in the BIOS we found that the fan was set to “Normal” which has trigger points at 45-50, 50-60 and above 60 Celsius.
By setting the fan to “Positive” we saw the fan come to life past 60 Celsius, but never at any temperature below that. There is no software to control the fan speed / curve; it is all handled via the BIOS. Despite this issue, the Odyssey never slowed down or bottlenecked.
Is the Odyssey X86J4105 better than a Raspberry Pi 4?
That depends on a certain point of view. CPU and memory performance is much better with the Odyssey, as are the SATA and NVMe drives which offer much higher performance than the micro SD cards used on the Pi.
We ran a sysbench stress test on the Raspberry Pi 4 and Odyssey, via Ubuntu.
The Intel Celeron J4105 calculated prime numbers approximately six times faster than the Raspberry Pi 4.
Memory transfer rates are 5.7 times faster with the Odyssey than they are on the Pi.
It is clear that the Odyssey is a much more powerful board than even the Raspberry Pi 4 but what is also clear is that this is a board to use for projects that will benefit from its strengths such as better networking and access to more storage options.
GPIO on Odyssey X86J4105
There are two sets of GPIO pins present on the Odyssey. The smaller of the two is a 28-pin breakout for the onboard Arduino an ATSAMD21 ARM Cortex-M0+ MCU which identifies as a Seeeduino Zero in the Arduino IDE. This GPIO may not follow the design cues of other Arduino boards, but we have all of the GPIO pins that we need, digital, PWM and Analog pins, along with I2C, SPI and serial.
To use the Arduino GPIO, we need the Arduino IDE, which comes pre-installed with the provided copy of Windows 10. After setting up the IDE to work with the onboard Arduino we created two scripts to test the GPIO, one to check that we could control the GPIO to flash an LED, and another test to read the voltage through a potentiometer. Both of these scripts worked without issue.
The Raspberry Pi-compatible GPIO is another story. Since the 40 pins are not accessible via Windows, we installed Ubuntu 20.04 on a spare NVMe drive. The Raspberry Pi compatible GPIO does share the same pin layout and it is electrically compatible with the Raspberry Pi but that is where the compatibility ends.
Typically the GPIO is controlled via software, and a popular choice is Python using the RPi.GPIO or GPIO Zero modules. Both of these do not work with the Odyssey and that indicates that the majority of Raspberry Pi HATs and add on boards will also not work. We tested Pimoroni’s Explorer HAT Pro, a board that uses the RPi.GPIO library along with Python3’s smbus I2C module and we were unable to make the board work. Not all is lost though, if you have a simpler board, or a component which uses digital IO (on / off) then these can be connected to the Pi compatible GPIO and used directly in the terminal or via a Bash script. Reading through the Getting Started guide, we noticed that there is a Python 3 module for use with the Odyssey, so we installed and tested it, and yeah it worked, but it was not a slick experience and it proved quite troublesome to even flash an LED.
Based on our findings, if you need reliable GPIO access in a project based around the Odyssey, then the Arduino GPIO should be your go to. It is accessible via Windows and Linux, and we can communicate with the built-in Arduino using serial / UART.
Network / WiFi Speeds / Bluetooth on Odyssey X86J4105
We tested the Gigabit Ethernet NICs and WiFi (2.4 and 5GHz) using iperf in Ubuntu, connected to another machine on the same network acting as a server with a Gigabit NIC also. Ethernet speeds were 942 Mbits/sec which is about average for Gigabit connections. The Intel 9560D2W card provided both 2.4 and 5GHz connectivity via two fragile antennas; they are tricky to fit so take your time. For 2.4-GHz WiFi, we saw only 25.8 Mbits/sec and 5-GHz WiFi gave us only 50.5 Mbits/sec. Those are not the greatest speeds but, if you are planning to use the Odyssey as a server, then you will undoubtedly go for Ethernet over WiFi.
Linux Support on Odyssey X86J4105
As this is an x86 machine, support for Linux distributions is a given. We tested the Odyssey with Ubuntu 20.04 and it was a smooth install process. Installed onto a 256GB NVMe SSD, Ubuntu boots quickly and runs extremely well. There was one snag; when opening a terminal for the first time, the window would not pop open, and would require killing the process and trying again. That’s not a deal breaker but something to watch for.
The Odyssey X86J4105 is a board for makers. The Arduino GPIO is exceptionally easy to work with and can be used to wake the main system to perform a task, then return to a low power mode.
The Raspberry Pi compatible GPIO is a bit of a let down, if there were a version of the RPi.GPIO Python 3 library then the Odyssey X86J4105 would have everything that a maker would need. But what the Odyssey X86J4105 does have is great networking and storage options. If you need a low power server or just love the idea of having Arduino capability on a PC, then the Odyssey X86J4105 is a great choice. However, if you’re looking for a Raspberry Pi-compatible computer that runs Windows, you’d be better off attempting to install Windows 10 on a real Raspberry Pi (though you won’t like that either).