LCD MODULE

An example to display system information on the LCD. I hope we can see the track information like title/artist/play-time and so on.

+------------------+
| Login Name       |
|  root            |
| My IP Address    |
|  192.168.XXX.XXX |
| Date & Time      |
|  06/29/15 Mon    |
|  09:00:00 am     |
+-------------------

How to enable the 128×64 GLCD driver and its framebuffer

  • st7565 driver of fbtft_device must be enabled as a “module” in the kernel menuconfig.
  • Kernel and module build
  • Copy uImage and meson8b_odroidc.dtb file in boot/dtsb directory to the boot partition.
  • Copy driver modules into “lib” directory.
  • To enable the auto loading the LCD driver, add “spicc” and “fbtft_device” into “/etc/modules-load.d/odroid.conf”
  • To add a few driver parameters, Add “fbtft_device name=st7565-fb speed=1000000” into “/etc/modprobe.d/modprobe.conf”
  • To enable the framebuffer, add “fbcon=map:22” in the end of the kernel arguments line.
  • Copy this sample LCD script into /etc/profile.d
#!/bin/bash
clear
tput civis
x=0
while true; do
        ip=$(ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p')
        date=$(date '+ %D %a')
        time=$(date '+ %X')
        name=$(whoami)

        echo "Login Name"
        echo " $name"
        echo "My IP Address"
        echo " $ip"
        echo "Date & time"
        echo "$date"
        echo "$time";
	tput cup 0 0
	sleep 1
	x=$(expr $x + 1)
	if [ "$x" -eq 5 ]; then clear; x=0;
	fi
done

Optional auto-login

  • Edit [Service] of ExecStart in /etc/systemd/system/getty.target.wants/getty@tty1.service
ExecStart=~/sbin/agetty –noclear %I TERM -> ExecStart=~/sbin/agetty –autologin root –noclear %I TERM

Above process was tested on the RuneAudio OS image. Volumio OS should be very similar probably.

Configure the HiFi DAC shield

If you get the latest kernel source from our Github, you can use the I2S DAC.

Also add below things in the boot.ini file to activate the DAC.

# PCM5102 audio DAC Enable/Disable
# Uncomment the line below to __ENABLE__ Audio-DAC(PCM5102) 
# setenv enabledac "enabledac"

setenv bootargs "root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro ${condev} no_console_suspend vdaccfg=0xa000 logo=osd1,loaded,0x7900000,720p,full dmfc=3 cvbsmode=576cvbs hdmimode=${m} m_bpp=${m_bpp} vout=${vout_mode} ${disableuhs} ${hdmi_hpd} ${hdmi_cec} ${enabledac}"

If we uncomment the “# setenv enabledac “enabledac” line, we can see below list with “asound -l” command.

card 0: AMLM8AUDIO [AML-M8AUDIO], device 0: AML PCM pcm5102-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: AMLM8AUDIO [AML-M8AUDIO], device 1: SPDIF PCM dit-hifi-1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

The first one is I2S DAC and the second one is HDMI audio.