A DuckyScript powered Arduino (ATTiny85) used for automating the boring stuff!
Before we begin to work on the ATTiny85, let's ensure you have everything first. The installations I've provided below are versions I was actively working on. You aren't required to utilize these versions and can upgrade your versions as you wish. Though, these were what was working for me.
Once you've installed the requirements, you can continue setting up your Arduino IDE. Click here for the official site link walkthrough guide.
Error downloading https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json
If you receive this error, please follow steps below:
- Disconnect from your current network.
- Connect to a mobile hotspot or unmonitored network.
- Quit/Reopen the Arduino IDE
To ensure your ducky is working as intended, you can test your ducky by flashing it with the code found in Test_Blink/
.
/Test_Blink
~ This is the initial test upload to ensure our duck works./win10wipe
~ The Win10 media creation tool wiping assistant./APenrollerV4
~ Latest and current Autopilot enrollment script.[DEPRECATED] /APenrollerV1
~ 1st stage of the Microsoft Autopilot enrollment.[DEPRECATED] /APenrollerV2
~ 2nd stage of the Microsoft Autopilot enrollment.[DEPRECATED] /APenrollerV3
~ 1st and 2nd stage of the Microsoft Autopilot enrollment in one.
This is the testing payload to verify our duck is working as intended.
- Open
/Test_Blink/Test_Blink.ino
- Sketch -> Upload (or CTRL + U)
- Plug in the ducky (when prompted).
- Plug in the ducky.
- Enjoy the rapid blinking.
The Windows 10 media creation tool wiping assistant. This script will automate the process of fresh installing Windows 10 Pro.
- Open
/win10wipe/win10wipe.ino
- Sketch -> Upload (or CTRL + U)
- Plug in the ducky (when prompted).
- Plug in your Windows 10 USB (Media Creation Tool).
- Boot onto your Win10 (MCT) USB.
- When you boot onto this screen (below), you can plug in your ducky.
- When Windows begins to install, your ducky will begin to blink. You can then unplug it.
NOTE: If your device doesn't have partitions, the ducky may get caught on the partition deletion.
The full script for Autopilot enrollment. (Please make sure you have scorched all of the AAD/MEM records of this device before enrolling it)
- Open
/APenrollerV4/APenrollerV4.ino
- Sketch -> Upload (or CTRL + U)
- Plug in the ducky (when prompted).
- Ethernet must be plugged in.
- Device must be on screen below:
- In order to use this duck as intended, you must enable
FN LOCK
. (Dell:FN + ESC
| HP:FN + Caps Lock
) - Once FN Lock is enabled, you can plug in the ducky.
- When the Microsoft login is prompted, you are required to login. (This may prompt twice)
- Whenever the device is ready, be sure to go in AAD to enable it.
$serial = Get-WmiObject Win32_bios | Select -Expand serialnumber; Rename-Computer REDACTED-$serial;
$env:Path += ";C:\Program Files\WindowsPowerShell\Scripts"
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
Install-Script -Name Get-WindowsAutoPilotInfo
Get-WindowsAutoPilotInfo -online
- Download Required Repository: micronucleus/micronucleus
- Open the downloaded repository,
micronucleus
, as well as Command Prompt. - Drag
micronucleus.exe
(found in/commandline/builds/x86_64-mingw32/
) into the command prompt window. - Add the
--run
parameter after the path to micronucleus. - Drag
upgrade-t85_default.hex
(found in/firmware/upgrades/
) into the command prompt window. - Plug in your ducky.
C:\Users\%username%>C:\Users\%username%\Downloads\micronucleus-2.6\commandline\builds\x86_64-mingw32\micronucleus.exe --run C:\Users\%username%\Downloads\micronucleus-2.6\firmware\upgrades\upgrade-t85_default.hex
> Please plug in the device ...
> Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
> Device has firmware version 1.6
> Available space for user applications: 6012 bytes
> Suggested sleep time between sending pages: 8ms
> Whole page count: 94 page size: 64
> Erase function sleep duration: 752ms
parsing: 50% complete
> Erasing the memory ...
erasing: 55% complete
erasing: 60% complete
erasing: 65% complete
> Starting to upload ...
writing: 70% complete
writing: 75% complete
writing: 80% complete
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!
For more support on compiling/selecting your configuration file, you can read more here.
For the recommendations, you can utilize a USB hub (or USB adapater) to limit the damage caused by a short circuit to the USB hub.
- The size of the USB is a choking hazard. Please refrain from eating the USB or letting anything near it that will.
- The USB does not have short circuit or reverse polarity protection.
For more information regarding precautions/recommendations, you can read more here.