Using Mimo UM-710 / UM-720F / UM-720S with Raspberry Pi
Instructions to use Mimo Monitors UM-710, UM-720S, UM-720F with Raspberry Pi
These instructions only work with Mimo Monitors that have been manufactured since about January 2013. Newer units use a Microchip resistive touch controller. Older units use e2i Technologies controllers. The display will work with the older units, but the touch function will not work properly.
Hardware:
Mimo Monitors UM-720S mobile slider (http://www.mimomonitors.com/products/mimo-720-s)
Powered USB Hub that can supply at least 1A of current (in the example case Dynax Model: U24H41)
Raspberry Pi (in the example case, a model B)
SD Card
1. Download this: http://downloads.raspberrypi.org/raspbian_latest
2. Burn the image onto an SD Card. This example uses a windows machine, and burned the image onto an 8 GB card using Win32DiskImager (http://sourceforge.net/projects/win32diskimager/). If you prefer to do your work in Linux, use dd. The size of the SD card does not matter so long as it is equal to or larger than 4GB.
3. Download the archive from Mimo (http://cdn.shopify.com/s/files/1/0026/7132/files/RaspberryPi-Mimo710-720.zip?412)
(We have re-built the kernel around the 6/20/14 build of Raspian and testing it with the Raspberry Pi B+. However, we have only tested it with the Magic Touch. Let us know if you have problems: https://cdn.shopify.com/s/files/1/0026/7132/files/Mimo-Pi-Aug2014.zip?3545)
4. Mount the SD card on a Linux machine, or if you are using windows, you must install and use a program that understands Linux partitions. A good choice is http://www.paragon-software.com/home/extfs-windows/. It's free for personal use. It must be able to WRITE ext4 partitions.
5. Open the Mimo archive and Copy:
-kernel.img to the boot partition of the SD Card (not the /boot directory of the ext4 file system). It’s good practice to keep the originals. So rename the existing kernel.img to kernel-stock.img
The rest of the files go into the locations specified by the directory structure that is part of the archive file.
6. Please connect power to the Pi and the hub, and connect the screen to the hub, and the hub to the Pi. You may want a keyboard, mouse and/or network cable depending on how you choose to complete the next steps. You can connect a second monitor (in the example case, the config.txt needed to be changed by removing the '#' in front of hdmi_force_hotplug). The other option is to boot with just the Mimo, and then ssh into the Raspberry Pi (requires a network connection of course).
7. Boot the system. You should get a green screen on the Mimo.
8. Either via SSH or console Run 'sudo raspi-config' to:
At this point, you should have a functional X session and a touch response. It is however likely that you will have calibration issues, and X or Y could be reversed. To calibrate the touch screen:
9. Open the evdev configuration file in your favorite text editor. We use vi: /usr/share/X11/xorg.conf.d/10-evdev.conf
At the end of the file is this section:
Section "InputClass"
Identifier "Microchip touchscreen catchall"
MatchVendor "Microchip_Technology"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
Option "InvertX" "true"
Option "Calibration" "110 3973 170 3960"
Option "EmulateThirdButton" "1"
Option "EmulateThirdButtonTimeout" "750"
Option "EmulateThirdButtonMoveThreshold" "30"
EndSection
The touch screen alignment requires us to set some parameters that tell the driver how to “stretch” the touch screen input across the available screen area. To do this, we have to download a simple utility called evtest. You can use the Debian Advanced Package Tool (Apt) tool to download the utility.
10. Call the command 'sudo apt-get install evtest' to download and install the “evtest” package.
11. Run evtest.
12. Evtest will list the attached input devices. Select the number of the device for Microchip_Technology AR1100 Interface (this was device number three in the example system).
13. Evtest will show some configuration data then pause, waiting for input.
14. Using your finger or a stylus, touch the very top left corner of the touch screen. You will see the evtest scrolling a series of data output with both ABS_X and ABS_Y lines, followed by numeric values:
Event: time 1374175747.420998, type 3 (EV_ABS), code 0 (ABS_X), value 484
Event: time 1374175747.421011, type 3 (EV_ABS), code 1 (ABS_Y), value 3364
15. Of these values, write down the lowest observed ABS_X value and the highest observed ABS_Y value.
16. Now repeat the process, but this time touch the lower right hand corner of the screen and write down the highest ABS_X value and the lowest ABS_Y.
17. Now open the 10-evdev.conf file we used in the last step and change the: Option "Calibration" "110 3973 170 3960". The numbers are: "minX maxX minY maxY", substituting minX, etc., for the observed values from above.
18. If the X values are swapped, remove the line: Option "InvertX" "true”. If the Y values are swapped, add the line: Option "InvertY" "true". In the example case, when the user pushed on the right side of the screen, it registered on the left and vice versa. Top and bottom just needed calibration values. Each screen is different, so it is quite possible your screen could be reversed.
19. Save the file, reboot, and now your cursor should follow your finger very closely.
The rest of the section is to enable 'Hold-For Right Click'. If you press in one area and don’t move (use a stylus), you will get the right click menu to run, etc.
Calibration procedure borrowed and modified from here (http://news.hopeindustrial.com/2013/using-a-raspberry-pi-with-a-hope-industrial-systems-touch-screen-part-ii-touch-screen-setup/)