This guide will lead you through the full process of the firmware of the Z-Pi 7 to firmware version V7.18.8.


NOTES:

  • All commands will be in RED (except for the recommendation right below).


(Highly Recommended) Use ZWaveJS UI to update Z-Pi 7.

 

Using Z-WaveJS UI is the easiest method to firmware updating your Z-Pi 7. I would highly recommend updating using Z-WaveJS UI over any other method to firmware updating. 


You can find the firmware update article using ZWaveJS UI here: 

https://aeotec.freshdesk.com/support/solutions/articles/6000263745-update-z-pi-7-with-zwavejs-ui



In order to start, you'll need:

  • An empty MicroSD card
  • Raspberry Pi 3/4
  • Z-Pi 7
  • Ethernet connection to your Router (simplifies this process).


Visual help (no sound):


This video is 7 minutes 28 seconds with no sound. A visual help from beginning to end to assist with updating your Z-Pi 7.




Prepare your Raspberry Pi environment:


1. Prepare your SD Card, download the Raspberry Pi Imager for the appropriate OS you currently use: https://www.raspberrypi.com/software/


2. Connect the microSD to your PC (with a USB to micro USB adapter, or if your PC has a MicroSD slot, place it inside now). 


3. Install the Raspberry Pi Imager, and immediately run the imager which should assist you with installing the appropriate OS onto your microSD card.


4. Under Operating System, select "Raspberry Pi OS (32-bit)"



5. Click on "WRITE" to write the operating system into your microSD card. Allow it to format your microSD and install the operating system. 


6. When finished, it'll tell you that you can unplug the microSD, remove the microSD and plug it back in. We'll need to configure the boot drive to disable Bluetooth and enable Z-Pi7 upon startup.


7. Open up the boot drive containing your Raspberry Pi OS and configure "config.txt":


1. Find "config.txt" and open it.

2. if you have an RPi3:

  • dtoverlay=pi3-disable-bt

    enable_uart=1

3. if you have an RPi4:

  • dtoverlay=disable-bt

    enable_uart=1

4. Now save it.

5. Create an empty file and name it "ssh" (as shown below without any extension), this will be needed in order for you to SSH into your RPi4.



6. Properly eject the microSD from your PC and remove it. 


8. Boot up your RPi:

  • Insert the microSD with the Raspberry Pi operating system. 
  • Plug in an Ethernet connection between your Raspberry Pi and your Router. 
  • Power it up.
  • You may need to wait a minute or so for the boot to finish.


9. Find your RPi IP address using this terminal command.

  • On an RPi3
    • If using Ubuntu or MacOS
      • arp -na | grep -i "b8:27:eb"
    • If using Windows
      • arp -a | findstr b8-27-eb

  • On an RPi4
    • If using Ubuntu or MacOS
      • arp -na | grep -i "dc:a6:32"
    • If using Windows
      • arp -a | findstr dc-a6-32
  • Write down the IP address (in the windows cmd line above, the IP address was 10.0.0.12)




Connect SHH to Raspberry Pi


1. You can use any SHH program, but in this example case, we'll use Putty which can be downloaded here: https://www.putty.org/


Again, PuTTy does not need to be used, any method of SHH will work fine here.


2. Open Putty and enter:

  • Host Name = IP Address of your RPi
  • Port = 22



3. Click on Open.


4. You'll be asked to confirm the connection, click on "Yes".


5. Input the user and password. If you didn't change anything related to this it should be:

user = pi

password = raspberry


6. If successful, you should be logged in:




Open permissions for Serial Connection for Z-Pi 7


1. Apply User permissions

  • sudo usermod -a -G tty root
  • sudo usermod -a -G tty pi


2. Determine what port your Z-Pi 7 is on:

  • dmesg | grep tty
  • If you've followed our instructions up until this point Z-Pi 7 should be connected to "ttyAMA0"


3. Get serial permissions ready, disable.

  • sudo raspi-config
    • This will open a popup option window to configure your permissions.
      1. Select #3 - Interface Options

      2. Select P6 - Serial Port

        1. Select No (disable login shell over serial)
        2. Select Yes (enable serial port hardware)
        3. Hit enter for OK
      3. Press ESC to go back to the shell terminal.
  • Now reboot Raspian
    • sudo reboot
    • You'll need to re-open your SSH afterward.
      • Relog using:
        user = pi
        password = raspberry



Firmware Update Z-Pi 7


0. Set yourself to root.

  • sudo su


1. Install Minicom

  • apt-get install minicom


2. Download firmware update to your RPi (or use any other method to get the download file on your RPi4). 

3. Open and configure Minicom and push firmware update with the xmodem / Gecko Boot Loader.


  • minicom -s
    • Select option 3 - Serial port setup
    • Configure these
      • A - Serial Device = /dev/ttyAMA0
      • F - Hardware Flow Control = No

      • press ESC
    • Select "Save setup as dfl"
    • Select Exit from Minicom
  • stty 115200 cs8 -cstopb -F /dev/ttyAMA0
  • printf '\x01\x03\x00\x08\xf4' >/dev/ttyAMA0 && sleep 10
  • printf '\x01\x03\x00\x27\xDB' >/dev/ttyAMA0 && sleep 10
  • minicom -D /dev/ttyAMA0
  • Push the firmware update.
    • Press Enter and a 3 item menu should appear.
    • press 1 (ensure it is printing CCCCC).
    • press CTRL + A
    • press S
    • select xmodem


    • Select the GBL file you downloaded (Press space on the file to tag it, then select OKAY).


  • Allow it to update your Z-Pi 7, this should take about a minute.


    After about a minute, the message will start to update:


    Once the transfer is complete, press any key to continue:


    If your Z-Pi 7 is already updated with the same firmware update, it will state that the update was a failure. 

  • If you got to this point congratulations, your Z-Pi 7 should now be firmware updated.
     
  • Now quit Minicom
    • Press CTRL + A
    • Press Q
    • Select YES