CodeTheRobot

Ubuntu Linux for Robotics · Lesson 93 of 96

Intel NUC

Sizing an x86 robot computer, BIOS settings, power, cooling and ROS 2 installation.

Estimated time · 45–60 min

Learning goals

What you will understand

  • Explain intel nuc in your own words
  • Use it in a small workstation example
  • Verify the result instead of assuming it worked

Understand the idea first

The mental model

An Intel NUC (or any small x86 mini PC) is a common robot computer: it runs ordinary Ubuntu and ROS 2 packages, has fast CPUs for navigation and SLAM, and plenty of USB and Ethernet. Choose RAM (16 GB is a good start), an SSD you can trust, a wide-input DC power supply suited to the robot's battery and adequate cooling.

Set the BIOS to power on after a power loss, disable unneeded sleep states, and enable virtualization if you use containers. Check temperatures with sensors (lm-sensors) and throttling with turbostat. Mount the computer so that vibration cannot loosen connectors.

Guided lesson

Work through these steps

  1. 1.

    Open a terminal and record the current state before changing anything.

  2. 2.

    Read the intel nuc commands and predict what each one does.

  3. 3.

    Run the commands one at a time and compare each output with your prediction.

  4. 4.

    Write the commands that worked in a setup note you can repeat later.

Worked example

Read it before you run it

sudo apt install lm-sensors linux-tools-common
# Install temperature and CPU monitoring tools.
sudo sensors-detect --auto
# Detect available sensors.
sensors
# Read the CPU and board temperatures.
lscpu | grep -E 'Model name|^CPU\(s\)'
# Show the CPU model and core count.
sudo turbostat --quiet --show Busy%,Bzy_MHz,PkgTmp --interval 5
# Watch CPU load, frequency and temperature (to spot throttling).

What the example is doing

  1. 1.Lines without sudo only inspect or change files you own; sudo authorizes a system-wide change.
  2. 2.Read command output before moving to the next line. Stop if names, versions, disks, or paths differ from the lesson.
  3. 3.Comments beginning with # explain safety checks and are not executed by the shell.

Watch it run · The robot's computer

See what this code does

The terminal types this lesson's practice solution and runs it. The scene shows the kind of robot behaviour that code drives. It plays by itself and loops.

robot computercpumemdiskdriverstoppedplannerstoppedloggerstoppedsafetystoppedTHE ROBOT'S COMPUTER

Demo for Intel NUC. Expected result: The CPU and board temperatures

Practice code

Now type it yourself

Open a terminal, run the starter line by line (or save it as practice.sh and run bash practice.sh), and replace every TODO with your own command.

# TODO: print the temperatures of the sensors

Expected output

The CPU and board temperatures
Stuck? Show the full solution (try it yourself first)
sensors

Expected result

How you know it worked

  • Each command completes without an unexplained error.
  • Your notes contain the command, the important output, and what it proves.

Practical exercise

Apply the lesson

Run the full navigation stack on the computer and record CPU load, frequency and temperature for ten minutes. Decide if the cooling is adequate and what you would change.

Before you continue

  • You recorded the starting state
  • Every command and output is understood
  • The change can be repeated from your notes

If something goes wrong

A command says permission denied.

Check ownership and permissions first. Do not add sudo unless the command changes a documented system location.

A command or package is not found.

Check spelling, Ubuntu version, enabled repositories, and whether the previous installation command succeeded.