After much messing around I've achieved my initial goal: getting the Moto Z to display on an HDTV.

File_001.jpg

Ingredients

  1. Moto Z, Moto Z Force, or Moto Z Play phone
  2. Moto Mods Developer Kit (MDK)
  3. SlimPort Micro-USB to HDMI adapter
  4. HDMI cable
  5. HDTV
  6. MDK Utility app (from the Play Store)
  7. MDK-COMPUTE firmware for the MDK (nuttx.tftf)
  8. Bent paperclip

 

Instructions

  1. Install MDK Utility on your phone
  2. Download the MDK-COMPUTE firmware (nuttx.tftf)

    I assert this firmware was built by me from Motorola sources. However I've not tested beyond a single trial, which seemed to work. It could brick your MDK, or your phone, or your TV, kill your dog and burn your house to the ground.

  3. Detach the MDK from your phone, remove any board or personality card
  4. Set dip switches A1 & A3 to ON (i.e. closest to the camera cutout).
  5. Set the remaining dip switches to OFF.
  6. Reattach the MDK to your phone.
  7. Launch MDK Utility.
  8. Set the Mode to Developer Mode (if it's not already so).
  9. Click Select FIle(s) and choose the MDK-COMPUTE firmware (nuttx.tftf) that you downloaded.
  10. Click Perform Update.
  11. MDK Utility will ask you to confirm you wish to install this unsecure (i.e. unsigned) firmware. If you are sure then click continue.

    If you are in any way uncertain about this procedure, or the firmware then click Cancel.

  12. In a few seconds you should get a pop up saying Firmware update succeeded.
  13. Check that the Moto Mods Status at the top of the screen reads
    NameMDK-COMPUTE
    VID0x00000042
    PID0x00000001
    Firmware0x00000001
    Package NameDefault
  14. Plug the Slimport adapter into USB-3 (micro USB) port on the MDK
  15. Plug the HDMI lead into the Slimport adapter and your TV
  16. On your TV select the appropriate HDMI input
  17. Unlock your phone, the screen should now be mirrored on your TV

 

FAQ

How do I build the firmware myself?

It is the unmodified MDK COMPUTE example.

  1. Setup your build environment as per Embedded Firmware Development
  2. Download the source, stopping at build/install kconfig-mconf as per Developer Tools: Build from source: Build Firmware.
  3. Build NuttX with the following commands

    $ export PATH=$PATH:$BUILD_TOP/manifesto:$BUILD_TOP/bootrom-tools
    $ cd $BUILD_TOP/nuttx/nuttx
    $ make distclean
    $ cd $BUILD_TOP/nuttx/nuttx/tools
    $ ./configure.sh hdk/muc/compute
    $ cd $BUILD_TOP/nuttx/nuttx
    $ make

  4. You're done, the firmware is built as nuttx.tftf