Z-Uno Tools

To help you work with your Z-Uno or Z-Uno Module we have created many different tools. Most of the are part of the Arduino IDE package, but they can also be used without Arduino IDE.

Compiler and Programmer

Z-Uno compiler and programmer are invoked internally from the GUI of Arduino IDE. But you can also use them from the console. This allows to use your preferred editor (like Sublime or Atom), automate some processes and do mass production.

  • If you have not installed Arduino package yet, download it using direct links (extracted from https://z-uno.z-wave.me/files/z-uno/package_z-wave.me_index.json). Make sure to pick the right file for your OS:
    Windows: http://rus.z-wave.me/files/z-uno/zuno_toolchain-XX.XX.XX-win32.zip
    Linux (x86 32bit): http://rus.z-wave.me/files/z-uno/zuno_toolchain-XX.XX.XX-linux32.tar.gz
    Linux (x86 64bit): http://rus.z-wave.me/files/z-uno/zuno_toolchain-XX.XX.XX-linux64.tar.gz
    MacOS X: http://rus.z-wave.me/files/z-uno/zuno_toolchain-XX.XX.XX-macosx.tar.gz
  • Extract it to the directory you need.
  • Open the terminal (cmd, xterm, Terminal depending on your OS):
    On Windows:
    $ .\compiler prog path\to\filename.bin -d <ZUNO_COMPORT>
    On Linux/MacOS X:
    $ ./compiler prog path/to/filename.bin -d <ZUNO_TTY>
    You could use .bin or .hex files.
  • If you need some extra parameters (like frequency) you could use "-h" key for help.
  • Using this toolchain you can also compile your sketch without using the Arduino IDE.

Read and write EEPROM/NVM via USB

You can store some user specific data in the EEPROM like bitmaps and fonts for LCD screens or some conversion tables. To read and write to the EEPROM/NVM using USB do:

  • Read all user date to file
    compiler dumpNVM -d <Z-Uno port> -f <file.hex/bin>
  • Write all user data from file
    compiler restoreNVM -d <Z-Uno port> -f <file.hex/bin>
  • Write all user data from file to address 0x1000 and upper
    compiler restoreNVM -d <Z-Uno port> -a 1000 -f <file.hex/bin>
    Then you can access it from the code using
    EEPROM.read(0x1000)