Intel NUC Onboard Computer

The x86 CORE i5 series offers extreme efficiency and a total very high processing power for an onboard system.

D54250WYK (1.3-2.6 GHz, dualcore i5)

Specs

  • Dimensions: 108 x 102 x 28 mm total bounding box (without case)
  • Power consumption: TBD, ~25W
  • Weight without case, but including heat sink: 203g
  • Interfaces: 4x USB, Wifi, Bluetooth, S-ATA, mini-HDMI + displayport (2x USB on internal headers)

Dimensions

The outer dimensions are 4.0 inches by 4.0 inches [101.60 millimeters by 101.60 millimeters]

The top two mounting holes in the diagram are 3mm diameter and the bottom two are 4mm.

NUC Top

NUC Side

Comparison to an Odroid U3:

Shopping List

This is a complete shopping list to turn an Intel Nuc into an onboard computer.

Ubuntu Installation

Install the Ubuntu Server x64 image for a clean system which you can work on. Arch Linux has also been tested

For installing headless, you can move the mSATA drive into another laptop / PC and do the the install there. If you follow the below instructions, you should be able to re-plug it into the NUC, boot and get an SSH connection. Ethernet is DHCP enabled. Boot sometimes might take a lot of time due to the below issue.

The NUC boots to the Ubuntu live USB and installing the OS to the internal mSATA SSD completes without an issue. The problem can be that the NUC wouldn't see the drive as a EFI boot target, and it would refuse to boot from the drive. The NUC has problems with custom EFI boot locations, the NUC expects there to be a file named bootx64.efi located in the /EFI/BOOT folder on the EFI partition, and if that file is named something else and/or located elsewhere, the computer can't recognize the drive as a boot target. The Debian distros will usually try to place a bootloader named grubx64.efi in a folder named /EFI/[distro name], so the NUC wouldn't try to boot from the drive.

From Ubuntu live USB drive, finish the operating system installation but don't reboot. Instead, open a terminal window and type the following.

sudo mount /dev/sda1 /mnt
sudo mkdir /mnt/EFI/BOOT
sudo cp /mnt/EFI/ubuntu/* /mnt/EFI/BOOT
sudo mv /mnt/EFI/BOOT/grubx64.efi /mnt/EFI/BOOT/bootx64.efi

This assumes sda1 is your EFI boot drive partition. It might be different if you have multiple hard drives/usb connected. Hopefully this issue would be fixed with an updated BIOS release.

Improper Shutdown

If your NUC shutdowns due to low battery power, then it may not boot up properly the next time. This is described in detail here.

The reason why this is happening is because in /boot/grub/grub.cfg, the following logic sets the timeout to -1 after a power failure.

if [ "${recordfail}" = 1 ] ; then
    set timeout=-1
else
    ...

But we don't want to modify this file directly because it will be overwritten after every kernel update. The workaround to fix this problem is by setting a config variable GRUB_RECORDFAIL_TIMEOUT which will be read by /etc/grub.d/00_header.

Open /etc/default/grub, add the following line in the file.

GRUB_RECORDFAIL_TIMEOUT=5 

Here, 5 is just a random number I picked.

After this modification run :

sudo update-grub

Then reboot and verify that in boot/grub/grub.cfg the set timeout=-1 has been successfully changed to set timeout=5.

Waiting for Network Configuration

Sometimes when you boot up Ubuntu, it will stuck at the booting screen for a long time saying it is waiting for network configuration. This can be annoying. Here's how to disable it.

Open /etc/init/failsafe.conf

Change the first 3 sleep command to sleep x where x is some small value, like 1-5.

Or if you don't want to wait at all, simply comment out the following lines:

$PLYMOUTH message --text="Waiting for network configuration..." || :
sleep 40

$PLYMOUTH message --text="Waiting up to 60 more seconds for network configuration..." || :
sleep 59
Translations of this page:


Quick Links

QR Code: URL of current page