Adding a Nextion display to a MMDVMHost Hotspot

In a recent post I ran through setting a Raspberry Pi as a DMR hotspot using a DVMega and MMDVMHost.

MMDVMHost natively supports various displays including various TFT's manufactured by Nextion, 128x64 OLED screens commonly seen in Arduino projects, and HD44780 based LCD displays.

I wanted something colourful but still compact, so I went with a 2.4" Nextion screen available on Ebay here for around £12.50.  Shipping from China took just over 2 weeks which is satisfactory.

I also required a USB to Serial adapter to drive the display, as the Raspberry Pi's built in serial port was already being used to control the DVMega. This was purchased from Ebay here for £2.70.

The end result (Enclosure coming soon!)

For the instructions, click 'read more'

Note on the display

The ebay listing lists the display as a 'NX2432T024' which doesn't appear to be supported by MMDVMHost. However, I flashed it with the closest match (NX3224T024) and it works fine. In fact, during the flashing the screen identified itself as a NX3224T024.


First of all login to your Raspberry Pi, and change to the root user.

Change to the src directory-
cd /usr/src

Download the python pip install script-

Run the install script using python-

Once pip is installed we can install the pyserial library, required to 'flash' the display with the necessary files-
pip install pyserial

We now need to find out which tty the display is connected to using dmesg-

As you can see below the OS detects the ch341-uart converter and attaches it to ttyUSB2-

Now move to the MMDVMHost/Nextion directory. Assuming you followed my previous tutorial this is located in /usr/src-
cd /usr/src/MMDVMHost/Nextion

Now run the tool to copy the files to the display-
python NX3224T024.tft /dev/ttyUSB2 

You should see the following-

Now we configure MMDVMHost to use the display by editing the config file. Mine is located in /tmp/MMDVM.ini-
nano /tmp/MMDVM.ini

Update the relevant sections to enable the display-


And restart MMDVMHost to reload the config and activate the display-
systemctl restart mmdvmhost.service

Here's a short video of my display in action-


  1. Great "how to" article. Have done same thing for my mobile install. My battery pack delivers only 1.8 A and I'm wondering if it's adequate. In transmit, seems to drop out after 30 - 60 seconds. Rx is fine. All in a 5 x 7 x 2 project box.

    Tom VE3NY

  2. Thanks Tom. My Pi was using around 500mA so I'd expect a 1.8 A battery should be fine.