Difference between revisions of "Pinecil Firmware"

From PINE64
Jump to navigation Jump to search
(fix)
(7 intermediate revisions by the same user not shown)
Line 29: Line 29:
=== Update V2: Windows ===
=== Update V2: Windows ===


# For V2, download the CLI Windows [https://github.com/pine64/blisp Blisp Flasher here], go to [https://github.com/pine64/blisp/releases Releases] on the right side to get the latest zip file. The main page has some background info.
# For V2, download the CLI Windows [https://github.com/pine64/blisp Blisp Flasher here], go to [https://github.com/pine64/blisp/releases Releases] on the right side to get the newest zip file.
# Extract the Blisp zip. Run ''Windows PowerShell'' as administrator, cd to the Blisp folder ([https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3 Powershell download here] if needed)
# Extract the Blisp zip. Run ''PowerShell'' as administrator, ([https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.3 download free Powershell here] if needed).
# Download the latest [https://github.com/Ralim/IronOS/releases/tag/v2.20 stable Pinecilv2.zip release]. Scroll down to the bottom of the page, under Assets, get the Pinecilv2.zip.
# cd to the Blisp folder
# Download the latest [https://github.com/Ralim/IronOS/releases/tag/v2.20 stable Pinecilv2.zip release]. Scroll down to the bottom of the page, under Assets, get the Pinecilv2.zip (right click the zip file, properties, and "Unblock" if it is blocked).
# Extract the zip file and put <code> Pinecilv2_EN.bin </code> (for English) file into the Blisp folder (same place as the Blisp executable). Other languages are available, substitute the *EN.bin file for the language file desired (use the 2-digit international language code).
# Extract the zip file and put <code> Pinecilv2_EN.bin </code> (for English) file into the Blisp folder (same place as the Blisp executable). Other languages are available, substitute the *EN.bin file for the language file desired (use the 2-digit international language code).
#* If you have the Pinecil Zip, the rest could be deleted, only the single BIN file is needed.
#* If you have the Pinecil Zip, the rest could be deleted, only the single BIN file is needed.
# Connect the V2 to the PC and enter Flash mode: hold down the [-] before plugging the cable to the back of Pinecil. See ([[#Flash_Mode| Flash Mode section for details]]). If you are curious, it will connect as a Serial COM device in Device Manager.
# Connect the V2 to the PC and enter Flash mode: hold down the [-] before plugging the cable to the back of Pinecil. See ([[#Flash_Mode| Flash Mode section for details]]). If you are curious, it will connect as a Serial COM device in Device Manager.
# Screen on pinecil should be black/empty before proceeding or you are not in Flash mode.
# Screen on pinecil should be black/empty before proceeding or you are not in Flash mode.
# <code>cd</code> to the Blisp folder, and execute this line (replace the ''EN'' file name with any language bin file selected).
# <code>cd</code> into the Blisp folder where the Blisp and the Pinecil_xx.bin are
#* <code>.\blisp.exe write -c bl70x --reset .\Pinecilv2_EN.bin</code>
# execute this line (replace the ''EN'' file name with any language bin file selected).
 
    # type the '''<code> .\ </code>''' dot and slash or it will fail to find the files!!
      ''' .\blisp.exe write -c bl70x --reset .\Pinecilv2_EN.bin'''
# After a successful update, re-plug to reboot it, then hold down <code>'''[-]'''</code> for ~3 seconds to see the new version.
# After a successful update, re-plug to reboot it, then hold down <code>'''[-]'''</code> for ~3 seconds to see the new version.
# See [[#Troubleshooting_V2_Flashing|troubleshooting]] down below if it does not flash.
# See [[#Troubleshooting_V2_Flashing|troubleshooting]] down below if it does not flash.
Line 59: Line 63:
# Screen on pinecil should be black/empty before proceeding or you are not in Flash mode.
# Screen on pinecil should be black/empty before proceeding or you are not in Flash mode.
# <code> cd </code> to the Blisp folder and execute:
# <code> cd </code> to the Blisp folder and execute:
#* <code> sudo ./blisp write -c bl70x --reset Pinecilv2_EN.bin </code>
      '''sudo ./blisp write -c bl70x --reset Pinecilv2_EN.bin'''
# After a successful update, re-plug to reboot it, then hold down <code>'''[-]'''</code> for ~3 seconds to see the new version.
# After a successful update, re-plug to reboot it, then hold down <code>'''[-]'''</code> for ~3 seconds to see the new version.
# See [[#Troubleshooting_V2_Flashing|troubleshooting]] down below if it does not flash.
# See [[#Troubleshooting_V2_Flashing|troubleshooting]] down below if it does not flash.
Line 68: Line 72:
{{Note|Do not use the DC barrel jack while updating firmware or you may destroy your PC and Pinecil.}}
{{Note|Do not use the DC barrel jack while updating firmware or you may destroy your PC and Pinecil.}}


# Double check that the command is typed exactly, e.g., in Windows, the dot\slash <code> .\ </code> can not be skipped.
# Often, updating issues are related to the USB cable, or the port on the PC does not support a connection to Pinecil, try:
# Often, updating issues are related to the USB cable, or the port on the PC does not support a connection to Pinecil, try:
#* flipping the cable over, different cables. Try both use-C to C cables and also USB-C to usb-A cables (your cable may be power-only and not able to do firmware data transfers). All working usb-C to usb-C cables can do data transfer but some usb-A cables can only do power and will not work for firmware updates because they can not do data transfers.
#* flipping the cable over, different cables. Try both use-C to C cables and also USB-C to usb-A cables (your cable may be power-only and not able to do firmware data transfers). All working usb-C to usb-C cables can do data transfer but some usb-A cables can only do power and will not work for firmware updates because they can not do data transfers.

Revision as of 11:18, 22 March 2023

This article is about updating/flashing the Pinecil firmware.

Firmware

Pinecil is designed to use only 1 power port at any time. Only the USB-C cable should be plugged in during firmware updates. Never attempt to use both rear ports at the same time or the PC and Pinecil will be damaged.

Overview

The firmware that comes with the Pinecil is open source Ralim's IronOS. It's a good idea to check for updates regularly as development is very active and there may be enhancements or bug fixes.

  • Long hold down [-] to see the version
  • The V1 and V2 use different flasher software & firmware files because they have different MCU chips and features.
  • It is very hard to brick a Pinecil doing a firmware update because of the firmware is in rom. Usually, just re-flashing it fixes it. Even if the other firmware caused the screen to go black, one could connect, put the Pinecil into flash mode, and flash again to an older or newer version of firmware or a beta version.
  • Pinecil V1 only uses *.hex files for both firmware and boot logo art.
  • Pinecil V2 uses only *.bin files for firmware.
Note: Loading boot logo art onto the V2 (BL706 MCU chip) is not yet possible. Volunteers are looking into this on both GitHub Blisp and GitHub IronOS. If you would like to see the progress or help with the code see Boot Logo Art ticket

Flash Mode

Do not use the DC barrel jack while updating firmware or you may destroy your PC and Pinecil.

Both V1 and V2 connect to the PC/laptop and enter the Flash mode the same way for updating purposes:

  1. Long hold the [-] button before plugging the USB-C cable into the back of the Pinecil. Keep holding down the [-] for ~10-15 seconds after plugging in the cable, then release the button.
  2. Screen should be black/empty which means Pinecil is in Flashing Mode. If you have issues, try again, do not plug the USB-C cable into Pinecil until you first press & hold the [-] button. Flip the cable over or try another port/cable/PC if you still have issues.
  3. Unlike irons from other brands, Pinecil will not show in the PC as a USB data drive. On Windows, you will hear a single beep when connected in flash mode.
  4. Then use one of the flasher methods below based on the OS you have in order to flash new firmware updates (older V1 instructions are lower down here).

Update V2: Windows

  1. For V2, download the CLI Windows Blisp Flasher here, go to Releases on the right side to get the newest zip file.
  2. Extract the Blisp zip. Run PowerShell as administrator, (download free Powershell here if needed).
  3. cd to the Blisp folder
  4. Download the latest stable Pinecilv2.zip release. Scroll down to the bottom of the page, under Assets, get the Pinecilv2.zip (right click the zip file, properties, and "Unblock" if it is blocked).
  5. Extract the zip file and put Pinecilv2_EN.bin (for English) file into the Blisp folder (same place as the Blisp executable). Other languages are available, substitute the *EN.bin file for the language file desired (use the 2-digit international language code).
    • If you have the Pinecil Zip, the rest could be deleted, only the single BIN file is needed.
  6. Connect the V2 to the PC and enter Flash mode: hold down the [-] before plugging the cable to the back of Pinecil. See ( Flash Mode section for details). If you are curious, it will connect as a Serial COM device in Device Manager.
  7. Screen on pinecil should be black/empty before proceeding or you are not in Flash mode.
  8. cd into the Blisp folder where the Blisp and the Pinecil_xx.bin are
  9. execute this line (replace the EN file name with any language bin file selected).
   # type the  .\  dot and slash or it will fail to find the files!!
      .\blisp.exe write -c bl70x --reset .\Pinecilv2_EN.bin
  1. After a successful update, re-plug to reboot it, then hold down [-] for ~3 seconds to see the new version.
  2. See troubleshooting down below if it does not flash.

BLE Bluetooth Apps

  • To test V2 with beta BLE Bluetooth, get the PineSAM app here or try Joric's BLE website here. These BLE apps are also listed in Development Projects
  • Joric's BLE API may be the easiest to get started with as it does not require anything to be installed. It runs off Chrome-like browsers (since they are capable of BLE GATT) and shows a graph of Temperature/Watts (MacOS/iPhone not supported).
  • PineSAM is BLE Settings and Menus and will run on any major OS. It allows change of all settings, and can be controlled from Mac/linux/windows/iphone/android; needs python script running as back end. For easy phone connection just open a browser address http://<ipaddress of PC running script>:8080/ (see PineSAM website for details)
  • Version of IronOS firmware with BLE enabled is also needed (get link to beta in PineSAM webpage, under Known section here]).
  • Upcoming Ralim's IronOS 2.21 will be the first stable release that has BLE support built-in for V2. Before 2.21, only beta BLE versions of IronOS firmware will work with BLE apps.

Update V2: Linux and Mac

  1. For V2, download the CLI Blisp Flasher from Github, go to Releases on the right side to get the latest zip file for Linux or Mac. The main page has background info and there are instructions if you want to build it from code instead of using the pre-made executable.
  2. Extract the Blisp zip, and using a terminal, cd to the blisp folder.
  3. Download the latest stable Pinecilv2.zip release (scroll down to the bottom of the page, under Assets, get the Pinecilv2.zip).
  4. Extract the zip file and put Pinecilv2_EN.bin (for English) into the Blisp folder (same place as the Blisp executable). Other languages are available, substitute the *EN.bin file for the language file desired (use the 2-digit international language code).
    • If you have the Pinecil Zip, the rest could be deleted, only the single BIN file is needed. Select the appropriate two-letter code for your language.
  5. # Connect the V2 to the PC and enter Flash mode: hold down the [-] before plugging the cable to the back of Pinecil. See ( Flash Mode section for details). If you are curious on Linux, it will connect as a serial ttyACM USB ACM type device.
  6. Screen on pinecil should be black/empty before proceeding or you are not in Flash mode.
  7. cd to the Blisp folder and execute:
     sudo ./blisp write -c bl70x --reset Pinecilv2_EN.bin
  1. After a successful update, re-plug to reboot it, then hold down [-] for ~3 seconds to see the new version.
  2. See troubleshooting down below if it does not flash.
  3. To Test V2 with BLE Apps, see the BLE Bluetooth section here.

Troubleshoot V2 Flashing

Do not use the DC barrel jack while updating firmware or you may destroy your PC and Pinecil.
  1. Double check that the command is typed exactly, e.g., in Windows, the dot\slash .\ can not be skipped.
  2. Often, updating issues are related to the USB cable, or the port on the PC does not support a connection to Pinecil, try:
    • flipping the cable over, different cables. Try both use-C to C cables and also USB-C to usb-A cables (your cable may be power-only and not able to do firmware data transfers). All working usb-C to usb-C cables can do data transfer but some usb-A cables can only do power and will not work for firmware updates because they can not do data transfers.
    • Try other ports on the PC/laptop, or a different machine. There have been issues with some laptop USB-C ports not negotiating correctly, but the flashing worked using the USB-A port. Try a different OS if you can access one, some people who had issues on Linux for example were able to flash on Windows. Note that some virtual environments might have an issue with flashing to USB ports.
    • Don't use a hub, connect directly to a port, ports on the back of a PC may sometimes be better as they are directly connected to the motherboard.
  3. Follow the Flash mode instructions and make sure the [-] button is held down BEFORE plugging in the cable to the back of the Pinecil. And don't release for ~10 seconds.
  4. If that doesn't work try holding down the [-] the whole time (don't release).
  5. Blisp flashers are from Gamiee's open source Blisp code here. It is only an updater for the BL706 MCU on the Pinecil V2. It is separate from the firmware files needed which are in located in GitHub Ralim's IronOS. The firmware contains all the menus, functions, and languages, and the flasher is the tool to push the firmware onto the MCU chip (the brain). Different MCU's need different flasher tools.
  6. If you have issues completing the update, try joining the live Pinecil community chat to get tips from volunteers.
  7. If there was any special work-around you had to do to get the Blisp Flasher to work, or could not get it to work at all, post an Issue in Github Blisp.
  8. If you are running Windows in a virtual machine and the process fails, make sure you have Microsoft Visual C++ 2015-2022 installed.
  9. All firmware releases and betas are located in the GitHub Ralim's IronOS here. If you would like to add enhancements/features to the IronOS (firmware that runs the Pinecil) or have an issue, please look at the GitHub documents or submit an issue ticket. It is recommended to read through all the GitHub IronOS documents first as they may have the answers. Screen menus and troubleshooting is documented as well on IronOS and maintained by volunteers.

Build the Blisp Flasher from Code

  1. If there is a problem with the Blisp flasher, or you have a different Linux architecture like ARM, the Blisp can be built from code.
  2. See directions at GitHub Blisp Wiki page.
  3. Blisp will only work on Pinecil V2 or devices with Bouffalo BL70x MCU chips.

Update V1

  1. Connect the Pinecil to a PC/laptop and enter flash mode (see Flash Mode above). Hold down the [-] before plugging in the cable to the PC.
  2. The screen will be black/empty if the Pinecil is in flash mode. Unlike other irons, Pinecil will not show in the pc as a USB data drive.
  3. Pinecil V1 uses a *.dfu file type for firmware. The newer Pinecil V2 only uses *.bin firmware type files.
  4. Boot logo art: the same flashers used to install IronOS firmware can be used to install the art. Boot logo art will not overwrite the firmware, it resides in a separate space on the chip.
Do not use the DC barrel jack while updating firmware or you may destroy your PC and Pinecil.

V1 Windows or Mac

  1. Follow these instructions on GitHub and download the easy GUI updater app Pine64 Updater.
  2. Install the app, and follow the screen prompts which requires connecting the Pinecil to the PC.
  3. Connect the Pinecil to the PC by holding down the [-] before plugging the cable into the back of Pinecil. Keep holding down the [-] button for about ~10 seconds even after plugging in the cable.
  4. Screen on Pinecil should be black/empty before proceeding or you are not in Flash mode, repeat the connect to PC steps. If that does not work, flip the cable, try a new cable, or port or different PC, then see the Troubleshooting section.
  5. The app will automatically fetch the latest stable Ralim's IronOS firmware, pick the language desired from the drop down list.
  6. The app also allows browsing to a local folder to install a specific beta firmware file or a boot logo that you may have downloaded or created.
  7. If multiple firmware flashing is done, the app must be closed and reopened.

V1 Linux or Mac

  1. Option 1 for Linux, the simple command line DFU-Util can be used per IronOS instructions. Make sure to update to the newest DFU-Util to prevent issues that some members reported with older versions of DFU-util.
  2. Option 2 works for both Linux or Mac. Download the alternative Pineflash GUI App for Linux and Mac.
  3. Connect the Pinecil to the PC with a USB-C cable and enter Flash Mode if this has not been done yet. Hold down the [-] before plugging in the cable to the PC.
  4. Screen on Pinecil should be black/empty before proceeding or you are not in Flash mode.
  5. PineFlash app will automatically fetch the latest stable Ralim's IronOS firmware, pick the language desired from the drop down list.
  6. Pineflash app also allows browsing to a local folder to install a specific beta firmware file or a boot logo that you may have downloaded or created.

General Firmware Details

  • Do not use the DC barrel jack while updating firmware or you may destroy your PC and Pinecil. Pinecil is designed to only use one power port at a time and never both at the same time.
  • Get the beta and release firmware from GitHub with update instructions
  • To submit a feature request, or help Ralim enhance the code, create a ticket or start a discussion at Ralim's IronOS
  • Ben (ralimtek) supports IronOS out of love for the IronOS creative open community. He volunteers countless hours coding, debugging, and enhancing IronOS with all the feature requests submitted.
  • One advantage of Pinecil (V1/V2) over other irons (i.e., Miniware) is you can not really brick them since Pinecil's bootloader is in ROM. If there is a problem, just flash the firmware again or a different version. This empowers people to experiment and do forks of the main IronOS firmware without as much risk.
  • Problems with IronOS firmware? - read documents here. If the answer is not found, open a ticket here or join the live Pinecil community chat.

Go back to Pinecil article

Go back to Pinecil article.