{"id":1787,"date":"2017-04-14T13:13:41","date_gmt":"2017-04-14T12:13:41","guid":{"rendered":"https:\/\/www.f5uii.net\/?p=1787"},"modified":"2017-04-14T13:13:41","modified_gmt":"2017-04-14T12:13:41","slug":"installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost","status":"publish","type":"post","link":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/","title":{"rendered":"Installing an OLED display on a MMDVM repeater"},"content":{"rendered":"<p>After the article on the <a href=\"https:\/\/www.f5uii.net\/tutorial-nextion-screen-on-mmdvm-raspberry-pi\/\">configuration and installation of a Nextion screen on a MMDVM repeater<\/a>, let&#8217;s see together how to integrate a small OLED display on MMDVM.<\/p>\n<p>This type of display is known by the reference SSD1306, it measures 27 millimeters for a display definition of 128 x 64. There are two variants of the SSD1306 display, one running on <a href=\"https:\/\/en.wikipedia.org\/wiki\/Serial_Peripheral_Interface_Bus\" target=\"_blank\">SPI<\/a> bus and the other on <a href=\"https:\/\/en.wikipedia.org\/wiki\/I%C2%B2C\" target=\"_blank\">I2C<\/a>. I chose the I2C bus model, recognizable by these SCA and SCL pins. It is monochrome but also exists in a yellow and blue two-color version. Only the lines on the top of the display are yellow. This is the model I use.<\/p>\n<div id=\"attachment_1806-2\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1806-2\" class=\"wp-image-1806 size-medium\" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58f0abef0b05c-300x233.png\" alt=\"\" width=\"300\" height=\"233\" srcset=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58f0abef0b05c-300x233.png 300w, https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58f0abef0b05c.png 720w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><p id=\"caption-attachment-1806-2\" class=\"wp-caption-text\">OLED SSD1306 display<\/p><\/div>\n<h2>Software prerequisites<\/h2>\n<p>You are connected to Raspberry Pi.<\/p>\n<p>First of all, we will validate the SPI and I2C buses of the Raspberry Pi, thanks to the configuration menu.<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:sh decode:true\">sudo raspi-config<\/pre>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/RaspberryPi-SPI-I2C.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1786\" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/RaspberryPi-SPI-I2C.gif\" alt=\"\" width=\"912\" height=\"645\" \/><\/a><\/p>\n<p>We now install software packages to manage these buses.<\/p>\n<pre class=\"lang:sh decode:true\">sudo apt-get install build-essential git-core libi2c-dev i2c-tools lm-sensors<\/pre>\n<p>In order for the modules to start we must indicated\u00a0them in the modules file<\/p>\n<pre class=\"lang:sh decode:true\">sudo nano \/etc\/modules<\/pre>\n<p>You must have these two lines<\/p>\n<pre class=\"lang:default decode:true\">i2c-dev\r\nspidev<\/pre>\n<p id=\"FIIshay\"><img loading=\"lazy\" decoding=\"async\" width=\"722\" height=\"302\" class=\"alignnone size-full wp-image-1789 \" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdd1d072c9.png\" alt=\"\" srcset=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdd1d072c9.png 722w, https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdd1d072c9-300x125.png 300w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/p>\n<p>(Exit with Ctrl-X and Yes to save)<\/p>\n<p>We restart the Raspberry Pi<\/p>\n<pre class=\"lang:sh decode:true \">sudo reboot<\/pre>\n<p>After reconnecting, we must find the ports i2c and spi<\/p>\n<pre class=\"lang:default decode:true \">ls \/dev\/i2c*<\/pre>\n<pre class=\"lang:default decode:true \">ls \/dev\/spi*<\/pre>\n<p id=\"ZtyKZuP\"><img loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"113\" class=\"alignnone size-full wp-image-1790 \" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efddee837a7.png\" alt=\"\" srcset=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efddee837a7.png 350w, https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efddee837a7-300x97.png 300w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/p>\n<h2>Connecting the Display<\/h2>\n<p>The SSD1306 is an I2C bus version. The connection is made as shown below.<\/p>\n<p><a href=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/ssd1306-oled-display-mmdvm.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1798\" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/ssd1306-oled-display-mmdvm.jpg\" alt=\"\" width=\"1136\" height=\"936\" \/><\/a><\/p>\n<h2>Detection Test<\/h2>\n<p>We will check that the wiring is correct and that the screen is detected on the I2C bus.<\/p>\n<p>Start the following command.<\/p>\n<pre class=\"lang:default decode:true \">i2cdetect -y 1<\/pre>\n<p>&nbsp;<\/p>\n<p id=\"cgUwpFq\"><img loading=\"lazy\" decoding=\"async\" width=\"524\" height=\"195\" class=\"alignnone size-full wp-image-1796 \" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efe55c60c50.png\" alt=\"\" srcset=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efe55c60c50.png 524w, https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efe55c60c50-300x112.png 300w\" sizes=\"auto, (max-width: 524px) 100vw, 524px\" \/><\/p>\n<p>Equipment 3c appears. This is the SSD1306 screen.<\/p>\n<h2>Installing the OLED Display Communication Library<\/h2>\n<p>If you did not install git on your Raspberry Pi, I suggest you run this command.<\/p>\n<pre class=\"lang:sh decode:true\">sudo apt-get install git\r\n<\/pre>\n<p>Download now the ArduiPi_OLED library (directly on github).<\/p>\n<pre class=\"lang:default decode:true\">git clone https:\/\/github.com\/hallard\/ArduiPi_OLED<\/pre>\n<p>then run the software compilation<\/p>\n<pre class=\"lang:default decode:true\">cd ArduiPi_OLED\r\nsudo make<\/pre>\n<p id=\"OZutqtM\"><img loading=\"lazy\" decoding=\"async\" width=\"830\" height=\"151\" class=\"alignnone size-full wp-image-1792 \" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdedc6e335.png\" alt=\"\" srcset=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdedc6e335.png 830w, https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdedc6e335-300x55.png 300w, https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/img_58efdedc6e335-768x140.png 768w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/p>\n<h2>Recompiling MMDVMHost<\/h2>\n<p>Let&#8217;s update MMDVMHost with these few instructions. The compilation will take several minutes.<\/p>\n<pre class=\"lang:default decode:true\">cd \/opt\/MMDVMHost\/\r\nmake clean\r\nsudo make -f Makefile.Pi.OLED<\/pre>\n<pre class=\"lang:sh decode:true\">pi@raspberrypi:\/opt\/MMDVMHost $ <strong>sudo make clean<\/strong>\r\nrm -f MMDVMHost *.o *.d *.bak *~ GitVersion.h\r\npi@raspberrypi:\/opt\/MMDVMHost $ <strong>sudo make -f Makefile.Pi.OLED<\/strong>\r\necho \"const char *gitversion = \\\"24358357e890a928f0053bcedd748123d7a6b9c2\\\";\" &gt; GitVersion.h\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o AMBEFEC.o AMBEFEC.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o BCH.o BCH.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o BPTC19696.o BPTC19696.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Conf.o Conf.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o CRC.o CRC.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Display.o Display.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRControl.o DMRControl.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRCSBK.o DMRCSBK.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRData.o DMRData.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRDataHeader.o DMRDataHeader.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMREMB.o DMREMB.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMREmbeddedData.o DMREmbeddedData.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRFullLC.o DMRFullLC.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRLookup.o DMRLookup.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRLC.o DMRLC.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRNetwork.o DMRNetwork.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRShortLC.o DMRShortLC.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRSlot.o DMRSlot.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRSlotType.o DMRSlotType.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRAccessControl.o DMRAccessControl.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DMRTrellis.o DMRTrellis.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DStarControl.o DStarControl.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DStarHeader.o DStarHeader.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DStarNetwork.o DStarNetwork.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o DStarSlowData.o DStarSlowData.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Golay2087.o Golay2087.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Golay24128.o Golay24128.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Hamming.o Hamming.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o OLED.o OLED.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o LCDproc.o LCDproc.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Log.o Log.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o MMDVMHost.o MMDVMHost.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Modem.o Modem.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o ModemSerialPort.o ModemSerialPort.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Mutex.o Mutex.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Nextion.o Nextion.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o NullDisplay.o NullDisplay.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25Audio.o P25Audio.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25Control.o P25Control.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25Data.o P25Data.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25LowSpeedData.o P25LowSpeedData.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25Network.o P25Network.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25NID.o P25NID.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o P25Utils.o P25Utils.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o QR1676.o QR1676.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o RS129.o RS129.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o RS241213.o RS241213.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o RSSIInterpolator.o RSSIInterpolator.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o SerialController.o SerialController.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o SerialPort.o SerialPort.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o SHA256.o SHA256.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o StopWatch.o StopWatch.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Sync.o Sync.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o TFTSerial.o TFTSerial.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Thread.o Thread.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Timer.o Timer.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o UDPSocket.o UDPSocket.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o UMP.o UMP.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o Utils.o Utils.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o YSFControl.o YSFControl.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o YSFConvolution.o YSFConvolution.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o YSFFICH.o YSFFICH.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o YSFNetwork.o YSFNetwork.cpp\r\ng++ -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -c -o YSFPayload.o YSFPayload.cpp\r\ng++ AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o Golay24128.o Hamming.o OLED.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o Nextion.o NullDisplay.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o -g -O3 -Wall -std=c++0x -pthread -DOLED -I\/usr\/local\/include -lArduiPi_OLED -lpthread -o MMDVMHost\r\npi@raspberrypi:\/opt\/MMDVMHost $ sudo reboot\r\n<\/pre>\n<h2>Updating the MMDVMHost Configuration File<\/h2>\n<p>Here is the final step. Now, in the [General] section of the <em>MMDVM.ini<\/em> file, we have installed an OLED screen<\/p>\n<pre class=\"lang:sh decode:true\">sudo nano \/opt\/MMDVMHost\/MMDVM.ini\r\n<\/pre>\n<pre class=\"lang:default decode:true\">[General]\r\nCallsign=F5ZKS\r\nTimeout=600\r\nDuplex=1\r\n# ModeHang=10\r\nRFModeHang=10\r\nNetModeHang=3\r\n#Display=Nextion\r\nDisplay=<strong>OLED<\/strong>\r\n#Display=None\r\nDaemon=0\r\n<\/pre>\n<p>It refers to the OLED section that we do not have to change<\/p>\n<pre class=\"lang:default decode:true\">[OLED]\r\nType=3\r\nBrightness=0\r\nInvert=0\r\n<\/pre>\n<p>Finally, we need to restart the Raspberry Pi<\/p>\n<pre class=\"lang:default decode:true\">sudo reboot<\/pre>\n<h2>Result<\/h2>\n<p>The display SSD1306 lights up. It is waiting for traffic<\/p>\n<div id=\"attachment_1802-2\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/IDLE-SSD1306-MMDVM-OLED-DISPLAY.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1802-2\" class=\"wp-image-1802\" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/IDLE-SSD1306-MMDVM-OLED-DISPLAY.jpg\" alt=\"\" width=\"960\" height=\"720\" \/><\/a><p id=\"caption-attachment-1802-2\" class=\"wp-caption-text\">SSD1306 I2C display\u00a0connected to Raspberry Pi, and driven by MMDVMHost<\/p><\/div>\n<div id=\"attachment_1803-2\" style=\"width: 970px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/DMR-MMDVM-OLED-SS1306.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1803-2\" class=\"wp-image-1803 size-full\" src=\"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/DMR-MMDVM-OLED-SS1306.jpg\" alt=\"\" width=\"960\" height=\"720\" \/><\/a><p id=\"caption-attachment-1803-2\" class=\"wp-caption-text\">On the talk group\u00a0TG2, WA4BPS is displayed, it is retransmitted on the Time Slot 2 in DMR<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>You are experiencing difficulties in implementation, you can comment on it below.<\/p>","protected":false},"excerpt":{"rendered":"<p>After the article on the configuration and installation of a Nextion screen on a MMDVM repeater, let&#8217;s see together how to integrate a small OLED display on MMDVM. <a class=\"more-link\" href=\"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/\">Lire plus &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":1807,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[25,38,39],"class_list":["post-1787","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mmdvm","tag-mmdvm","tag-oled","tag-ssd1306"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l&#039;installation d&#039;un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"F5UII\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"F5UII \u2013 French Hamradio Station - Presentation of the station F5UII, FY\/F5UII, and MMDVM, DMR, SvxLink, QO100 ressources\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station\" \/>\n\t\t<meta property=\"og:description\" content=\"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l&#039;installation d&#039;un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-04-14T12:13:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-04-14T12:13:41+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l&#039;installation d&#039;un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#blogposting\",\"name\":\"Installing an OLED display on a MMDVM repeater - F5UII \\u2013 French Hamradio Station\",\"headline\":\"Installing an OLED display on a MMDVM repeater\",\"author\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/author\\\/admin\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.f5uii.net\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/SSD1306-MMDVM-DMR-Raspberry-Pi-F5UII.jpg\",\"width\":960,\"height\":720},\"datePublished\":\"2017-04-14T13:13:41+01:00\",\"dateModified\":\"2017-04-14T13:13:41+01:00\",\"inLanguage\":\"en-US\",\"commentCount\":23,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#webpage\"},\"articleSection\":\"MMDVM, mmdvm, oled, ssd1306\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/category\\\/mmdvm\\\/#listItem\",\"name\":\"MMDVM\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/category\\\/mmdvm\\\/#listItem\",\"position\":2,\"name\":\"MMDVM\",\"item\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/category\\\/mmdvm\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#listItem\",\"name\":\"Installing an OLED display on a MMDVM repeater\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#listItem\",\"position\":3,\"name\":\"Installing an OLED display on a MMDVM repeater\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/category\\\/mmdvm\\\/#listItem\",\"name\":\"MMDVM\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#organization\",\"name\":\"F5UII \\u2013 French Hamradio Station\",\"description\":\"Presentation of the station F5UII, FY\\\/F5UII, and MMDVM, DMR, SvxLink, QO100 ressources\",\"url\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/author\\\/admin\\\/#author\",\"url\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/author\\\/admin\\\/\",\"name\":\"F5UII\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#webpage\",\"url\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/\",\"name\":\"Installing an OLED display on a MMDVM repeater - F5UII \\u2013 French Hamradio Station\",\"description\":\"Etape par \\u00e9tape, voici un tutorial consacr\\u00e9 \\u00e0 l'installation d'un \\u00e9cran OLED sur un Raspberry Pi, pilot\\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/author\\\/admin\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/author\\\/admin\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.f5uii.net\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/SSD1306-MMDVM-DMR-Raspberry-Pi-F5UII.jpg\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#mainImage\",\"width\":960,\"height\":720},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\\\/#mainImage\"},\"datePublished\":\"2017-04-14T13:13:41+01:00\",\"dateModified\":\"2017-04-14T13:13:41+01:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/\",\"name\":\"F5UII \\u2013 French Hamradio Station\",\"description\":\"Presentation of the station F5UII, FY\\\/F5UII, and MMDVM, DMR, SvxLink, QO100 ressources\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.f5uii.net\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station","description":"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l'installation d'un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater","canonical_url":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#blogposting","name":"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station","headline":"Installing an OLED display on a MMDVM repeater","author":{"@id":"https:\/\/www.f5uii.net\/en\/author\/admin\/#author"},"publisher":{"@id":"https:\/\/www.f5uii.net\/en\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/SSD1306-MMDVM-DMR-Raspberry-Pi-F5UII.jpg","width":960,"height":720},"datePublished":"2017-04-14T13:13:41+01:00","dateModified":"2017-04-14T13:13:41+01:00","inLanguage":"en-US","commentCount":23,"mainEntityOfPage":{"@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#webpage"},"isPartOf":{"@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#webpage"},"articleSection":"MMDVM, mmdvm, oled, ssd1306"},{"@type":"BreadcrumbList","@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/#listItem","position":1,"name":"Home","item":"https:\/\/www.f5uii.net\/en\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/category\/mmdvm\/#listItem","name":"MMDVM"}},{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/category\/mmdvm\/#listItem","position":2,"name":"MMDVM","item":"https:\/\/www.f5uii.net\/en\/category\/mmdvm\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#listItem","name":"Installing an OLED display on a MMDVM repeater"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#listItem","position":3,"name":"Installing an OLED display on a MMDVM repeater","previousItem":{"@type":"ListItem","@id":"https:\/\/www.f5uii.net\/en\/category\/mmdvm\/#listItem","name":"MMDVM"}}]},{"@type":"Organization","@id":"https:\/\/www.f5uii.net\/en\/#organization","name":"F5UII \u2013 French Hamradio Station","description":"Presentation of the station F5UII, FY\/F5UII, and MMDVM, DMR, SvxLink, QO100 ressources","url":"https:\/\/www.f5uii.net\/en\/"},{"@type":"Person","@id":"https:\/\/www.f5uii.net\/en\/author\/admin\/#author","url":"https:\/\/www.f5uii.net\/en\/author\/admin\/","name":"F5UII"},{"@type":"WebPage","@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#webpage","url":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/","name":"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station","description":"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l'installation d'un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.f5uii.net\/en\/#website"},"breadcrumb":{"@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#breadcrumblist"},"author":{"@id":"https:\/\/www.f5uii.net\/en\/author\/admin\/#author"},"creator":{"@id":"https:\/\/www.f5uii.net\/en\/author\/admin\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.f5uii.net\/wp-content\/uploads\/2017\/04\/SSD1306-MMDVM-DMR-Raspberry-Pi-F5UII.jpg","@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#mainImage","width":960,"height":720},"primaryImageOfPage":{"@id":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/#mainImage"},"datePublished":"2017-04-14T13:13:41+01:00","dateModified":"2017-04-14T13:13:41+01:00"},{"@type":"WebSite","@id":"https:\/\/www.f5uii.net\/en\/#website","url":"https:\/\/www.f5uii.net\/en\/","name":"F5UII \u2013 French Hamradio Station","description":"Presentation of the station F5UII, FY\/F5UII, and MMDVM, DMR, SvxLink, QO100 ressources","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.f5uii.net\/en\/#organization"}}]},"og:locale":"en_US","og:site_name":"F5UII \u2013 French Hamradio Station - Presentation of the station F5UII, FY\/F5UII, and MMDVM, DMR, SvxLink, QO100 ressources","og:type":"article","og:title":"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station","og:description":"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l'installation d'un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater","og:url":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/","article:published_time":"2017-04-14T12:13:41+00:00","article:modified_time":"2017-04-14T12:13:41+00:00","twitter:card":"summary_large_image","twitter:title":"Installing an OLED display on a MMDVM repeater - F5UII \u2013 French Hamradio Station","twitter:description":"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l'installation d'un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater"},"aioseo_meta_data":{"post_id":"1787","title":"","description":"Etape par \u00e9tape, voici un tutorial consacr\u00e9 \u00e0 l'installation d'un \u00e9cran OLED sur un Raspberry Pi, pilot\u00e9 par un relais MMDVMStep by step, here is a tutorial devoted to the installation of an OLED display on a Raspberry Pi, piloted by MMDVM repeater","keywords":null,"keyphrases":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2023-03-13 11:50:14","updated":"2026-10-30 22:16:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.f5uii.net\/en\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.f5uii.net\/en\/category\/mmdvm\/\" title=\"MMDVM\">MMDVM<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tInstalling an OLED display on a MMDVM repeater\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.f5uii.net\/en\/"},{"label":"MMDVM","link":"https:\/\/www.f5uii.net\/en\/category\/mmdvm\/"},{"label":"Installing an OLED display on a MMDVM repeater","link":"https:\/\/www.f5uii.net\/en\/installation-oled-display-ssd1306-raspberry-pi-mmdvm-mmdvmhost\/"}],"_links":{"self":[{"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/posts\/1787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/comments?post=1787"}],"version-history":[{"count":14,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/posts\/1787\/revisions"}],"predecessor-version":[{"id":1813,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/posts\/1787\/revisions\/1813"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/media\/1807"}],"wp:attachment":[{"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/media?parent=1787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/categories?post=1787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.f5uii.net\/en\/wp-json\/wp\/v2\/tags?post=1787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}