APU2 APU3 APU4 BIOS upgrade instructions
This page has been updated on August 2, 2020.
PC Engines publishes a new BIOS for APU, every 4-8 weeks. Some recent BIOS versions added better support for ECC Ram, and CPU boost to 1.4Ghz therefore it's worth upgrading.
Download the latest BIOS versions here: https://pcengines.github.io/
There are many ways of flashing a new BIOS on APU routers. Here we show two quick ways.
Method 1: flash bios from pfSense
If you have pfSense installed on your router, this is the easier method to use.
Step 1: install flashrom utility
In pfSense web UI, go to Diagnostics -> Command Prompt
Under "Execute Shell Command" type
pkg install -y flashrom
and click Execute. The output should look simialr to this:

Step 2: Download bios your file to your computer.
Get bios file from here: https://pcengines.github.io/
Now upload the file from your computer to the pfsense using "Upload File" under Diagnostics -> Command Prompt
Notice your file will be uploaded to /tmp/
The output should look similar to this:

Step 3: unpack the file
Some BIOS files come packaged in .tar.gz. some come directly as .rom
If you have a .tar.gz file, you will have to extract the .rom first.
To unpack your file issue the following command under "Execute Shell Command".
tar -xvf /tmp/apu2_v4.12.0.3.rom.tar.gz
You will see something like this
Shell Output - tar -xvf /tmp/apu2_v4.12.0.3.rom.tar.gz tar: Failed to set default locale x apu2_v4.12.0.3.rom x apu2_v4.12.0.3.rom.md5
Step 4: Flash bios
Now Under "Execute Shell Command" type
flashrom -w /tmp/apu2_v4.12.0.3.rom -p internal:boardmismatch=force
You will see something like this
flashrom v1.1 on FreeBSD 11.3-STABLE (amd64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 4, resolution: 2ns). coreboot table found at 0xdffae000. Found chipset "AMD FCH". Enabling flash write... OK. Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x00000000ff800000. This coreboot image (PC Engines:apu2) does not appear to be correct for the detected mainboard (PC Engines:PCEngines apu2). Proceeding anyway because user forced us to. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED.

Power off the router and then power it back on to load the new BIOS. Hot reboot may not load the new BIOS payload.
Method 2: Flash bios from debian
If you don't have pfSense installed, use this method.
Step 1: create a bootable USB stick
You can create a bootable debian stick, as described here: Debian installation instructions or another linux distribution of your choosing. The important step is to be able to boot linux that has flashrom utility.
Step 2: install flashrom
If you have a bootable debian, you can simply install flashrom from the repository
sudo apt-get install flashrom
otherwise, install flashrom some other way.
Step 3: download BIOS version for your board
Download the latest BIOS versions here: https://pcengines.github.io/
Make sure you download the correct version. If you have APU3, make sure you download APU3 image.
wget http://pcengines.ch/file/apu3_v4.8.0.5.rom.tar.gz gunzip apu3_v4.8.0.5.rom.tar.gz ls -l apu3_v4.8.0.5.rom
Make sure you unpack the image as shown above. You need a file with .rom extension.
Step 4: write the new BIOS to the chip
Use the below command, make sure you replace the image name with the image you downloaded.
flashrom -w apu3_v4.8.0.5.rom -p internal:boardmismatch=force
Here's how it should look like, if you have done it correctly.
root@debian:~# flashrom -w apu3_v4.8.0.5.rom -p internal:boardmismatch=force flashrom v0.9.9-r1954 on Linux 4.9.0-6-amd64 (x86_64) flashrom is free software, get the source code at https://flashrom.org Calibrating delay loop... OK. coreboot table found at 0xcfed1000. Found chipset "AMD FCH". Enabling flash write... OK. Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0x00000000ff800000. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED.

All ready! Reboot and enjoy new BIOS!
Troubleshooting.
If you managed to write a wrong BIOS to the board, or you lost electricity during the upgrade, you can recover with the BIOS flash recovery module.
We have flashed hundreds of BIOSes on these boards and never needed this module. Don't buy it ahead of time :-)
Tip: check out many similar articles in our Knowledge Base.
TekLager specializes in selling open source hardware for building routers, firewalls and other network appliances.

APU2D4: 3x Gigabit LAN, Quad Core CPU, 16GB SSD, 4GB RAM
2627.50 SEK incl. vat

APU2D0 Router and 802.11ac 3×3 MIMO Access Point
2947.50 SEK incl. vat

APU4C4: 4x Gigabit LAN, Quad Core CPU, 16GB SSD, 4GB RAM
2983.75 SEK incl. vat

TLSense i7 6500U: 6x Gigabit LAN, 6th gen i7 CPU, 128GB SSD, 16GB RAM
8272.50 SEK incl. vat