Instructions for using the Mimo Magic Monster with the Raspberry Pi





Instructions to use Mimo Monitors Magic Monster with Raspberry Pi


Please visit or  


Instructions work for all Magic Monster 10.1" Resistive Touch Monitors.



Mimo Monitors UM-1000 Magic Monster USB touch display (

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:

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 ( 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 (

(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:

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 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.

- /etc/X11/Xorg.conf - file - This file doesn't exist already, so no backup needed.
- /usr/share/X11/xorg.conf.d/10-evdev.conf - file - Overwrite what is there. It is suggested that you rename the existing file 10-evdev-stock.conf
- /lib/firmware - directory - overwrites what is there. Again, it is suggested that you rename the existing directory firmware-stock
- /lib/modules - directory - overwrites what is there. Again, it is suggested that you rename the existing directory modules-stock

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:

- Expand filesystem
- Enable boot to desktop/scratch -> desktop log in as user 'pi' at graphical desktop
- Plus whatever else you prefer. In my case I changed the localization to en_US.UTF-8 UTF-8 
- Reboot

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 "USBest touchscreen catchall"   

       MatchVendor "USBest_Technology"   

       MatchDevicePath "/dev/input/event*"   

       Driver "evdev"   

       Option "Calibration" "18 4084 20 4045"   

       Option "EmulateThirdButton" "1"   

       Option "EmulateThirdButtonTimeout" "750"   

       Option "EmulateThirdButtonMoveThreshold" "30"  



We started with the files that were developed for the Mimo Magic Touch. The touch controller is different, so the Vendor and Identifier must change.

       Change the line: Identifier "USBest touchscreen catchall"   

       to read: Identifier "eGalax touchscreen catchall"   

       and change the line: MatchVendor "USBest_Technology"   

       to read: MatchVendor "eGalax_Inc"   


In addition: 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 eGalax_Inc. Touch Interface (this was device number 3 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" "18 4084 20 4045". The numbers are: "minX maxX minY maxY", substituting minX, etc., for the observed values from above.

18. If the X values are reversed, insert the line: Option "InvertX" "true”. If the Y values are swapped, add the line: Option "InvertY" "true". Each screen is different.

19. Save the file, reboot, and now your cursor should follow your finger or stylus very closely.


The rest of the section is to enable 'Hold-For Right Click'. If you press in one area and don’t move, you will get the right click menu to run, etc.


Calibration procedure borrowed and modified from here (