Home About Hardware Guide



June 2024

May 2024

April 2024

March 2024

February 2024

January 2024

December 2023

November 2023

October 2023

September 2023

August 2023

July 2023

June 2023

May 2023

April 2023

March 2023

February 2023

January 2023

December 2022

back to home

Wake me up before you go - Two cool ways to use Wake-On-Lan to boot a Peakboard Box

06 November 2023 • 3 mins

In last week’s article, we learned how to shut down a Peakboard Box. In this article, we will learn how to use Wake-on-Lan (WoL) to boot a Peakboard Box remotely. There are two different methods for doing so.


The first method is to use the tool MagicPacket. Microsoft provides MagicPacket for free, as a way to send WoL packets to a device. It integrates smoothly with Peakboard.

After installing the tool, just add a new computer. You only need to provide a name and the MAC address of the Peakboard Box’s LAN adapter. The easiest way to get this is to use the “Connections” tab within the Box dialog in Peakboard Designer:


Here’s how to fill the MAC address field in MagicPacket:


That’s it! Now, just push the button to initiate the boot sequence and start up the Box:



We can do the same thing from PowerShell. There are many ways to send the WoL signal. This script is the easiest way to do it without any additional scriptlets or functions. It also works with all kinds of MAC address formats:

$mac = '00:E0:4C:0C:73:9C'; 
[System.Net.NetworkInformation.NetworkInterface]::GetAllNetworkInterfaces() | Where-Object { $_.NetworkInterfaceType -ne [System.Net.NetworkInformation.NetworkInterfaceType]::Loopback -and $_.OperationalStatus -eq [System.Net.NetworkInformation.OperationalStatus]::Up } | ForEach-Object { $targetPhysicalAddressBytes = [System.Net.NetworkInformation.PhysicalAddress]::Parse(($mac.ToUpper() -replace '[^0-9A-F]','')).GetAddressBytes(); $packet = [byte[]](,0xFF * 102); 6..101 | Foreach-Object { $packet[$_] = $targetPhysicalAddressBytes[($_ % 6)] }; $client = [System.Net.Sockets.UdpClient]::new([System.Net.IPEndPoint]::new(($_.GetIPProperties().UnicastAddresses | Where-Object { $_.Address.AddressFamily -eq [System.Net.Sockets.AddressFamily]::InterNetwork })[0].Address, 0)); try { $client.Send($packet, $packet.Length,[System.Net.IPEndPoint]::new([System.Net.IPAddress]::Broadcast, 9)) | Out-Null } finally { $client.Dispose() } }
Wake me up before you go - Two cool ways to use Wake-On-Lan to boot a Peakboard Box


Want to get notified when a new article is published? Sign up below!