Skip to main content

Overview

The Pinecil V1 uses a GD32 MCU that supports USB-DFU (Device Firmware Upgrade) mode. This allows you to flash firmware directly over USB.
You cannot permanently damage Pinecil V1 during a firmware update because DFU is in ROM. An invalid firmware flash may render it temporarily inoperable, but re-flashing with working firmware will fix everything.
  • Windows/MacOS: Pine64 Updater - Easy GUI app that automatically fetches the newest stable version
  • Linux/MacOS: PineFlash - Easy GUI app with automatic updates
  • Manual method: dfu-util command line tool (all platforms)
Do not use the DC barrel jack while updating firmware or you may destroy your PC.

Flashing with dfu-util (Linux/Mac)

1

Update dfu-util

Highly recommend updating dfu-util to the newest version before starting
2

Download firmware

Download and extract the firmware package from IronOS Releases
3

Enter DFU mode

Press and hold the (-) button at the back of the iron before connecting the USB-C cable
4

Connect USB

Connect USB to PC and USB-C to back of Pinecil while still holding the (-) button
5

Wait and release

Once the USB cable is connected at both ends, wait ~10 seconds more, then release the (-) button. The screen will stay black/off to indicate DFU mode
6

Flash firmware

Run the following command (replace EN with your language code):
dfu-util -D Pinecil_EN.dfu

Flashing with dfu-util (Windows)

1

Update dfu-util

Update dfu-util to the newest version
2

Download firmware

Download and extract the firmware package from IronOS Releases
3

Enter DFU mode

Press and hold (-) button at the back of the iron (do not release)
4

Connect USB

Connect USB to PC and USB-C to the back of Pinecil, keep holding (-) button down
5

Wait and release

After the USB cable is connected at both ends, wait ~10 seconds more, then release the (-) button. Screen will stay black/off
6

Open command prompt

Open PowerShell or Command window and navigate to the firmware directory
7

Flash firmware

Run the command:
dfu-util -D Pinecil_EN.dfu

Flashing with GD32 DFU Tool (Windows)

If you’re uncomfortable with the command line:
1

Download tools

Download both the GD32 MCU DFU Tool and GD32 DFU DriversCheck properties of both downloads, tick Unblock if needed, then unzip
2

Install drivers and tool

Install the drivers and the GD32 DFU tool (ignore prompts to update the tool)
3

Enter DFU mode

Press and hold (-) button at the back of Pinecil (do not release)
4

Connect to PC

Connect Pinecil to PC via USB cable (do not release the (-) button yet). Screen will stay black/off
5

Open GD32 DFU Tool

Open the GD32 DFU Tool and verify that GD DFU DEVICE 1 appears at the top
If the DFU Device box is blank, Pinecil is not connected in DFU mode. Repeat the previous steps.
6

Release button and flash

If it has been more than 10 seconds since connecting USB, release the (-) buttonSelect Download to device > Open > Browse to your firmware folderSelect the .hex file for your language (e.g., Pinecil_EN.hex), tick Verify after download
7

Complete flash

Click OK at bottom. After a few minutes you will see 0-100%, then “Download successfully!”Click Leave DFU at the top
8

Test the update

Disconnect Pinecil from PC and plug into a power supplyHold the minus (-) button for a few seconds to see the new firmware version

Troubleshooting

Multiple DFU Devices Found

If you get an error stating “More than one DFU capable USB device found!” you may have an old version of dfu-util. Run dfu-util -l to see all DFU devices:
Found DFU: [28e9:0189] ver=0100, devnum=48, cfg=1, intf=0, path="1-1", alt=1, name="@Option Bytes  /0x1FFFF800/01*016Be", serial="??"
Found DFU: [28e9:0189] ver=0100, devnum=48, cfg=1, intf=0, path="1-1", alt=0, name="@Internal Flash  /0x08000000/128*001Kg", serial="??"
Target the Internal Flash using alt=0:
dfu-util -D Pinecil_EN.dfu -a 0

Update Crashes Partway

If the update crashes during flashing:
  • Try a direct connection to a USB port (no hubs)
  • Use a shorter cable
  • Try a different PC/laptop and different ports
  • Hold down the (-) button for the entire firmware update

USB Autosuspend Issues (Linux)

If dfu-util aborts with LIBUSB_ERROR_IO and dmesg shows USB errors, disable USB autosuspend with udev rules:
SUBSYSTEM=="usb", ATTR{idVendor}=="28e9", ATTR{idProduct}=="0189", MODE:="0660"
SUBSYSTEM=="usb", ATTR{idVendor}=="28e9", ATTR{idProduct}=="0189", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="28e9", ATTR{idProduct}=="0189", TEST=="power/control", ATTR{power/control}="on"

DC Low Message

A PC/laptop cannot fully power Pinecil. It can only provide 5V (non-PD) for firmware updates. The “DC Low” message is normal during updates.

Resources

Build docs developers (and LLMs) love