Our blog

March 20, 2013   Posted by: Dr. Ace Jeangle

How to calibrate N-Trig touchscreen

Normally, capacitive touchscreen does not require calibration like resistive. This is because capacitive touchscreen has grid of sensitive tracks on panel surface and can get exact information about finger position. But because detection is based on measuring of changed capacity of surface, therefore sometime it can require calibration of sensitivity. Some of our customers noticed that cursor can behave like crazy when you touch screen (and sometime even without any touch). This can happen when touchscreen controller has increased sensitivity, and it responds to any change of capacity nearby of screen surface and touch controller itself. We know that most of you use this panel right on your workbench full of turned on equipment, powered wires and cables, always turned on solder station – I have exactly the same situation on my desk, so I know it for sure 🙂 In such cases we propose to do the following:

  1. First of all, take into account that any capacitive touchscreen requires to be placed inside enclosure. This will eliminate most problems with phantom mouse shakes and clicks.
  2. If you use it without enclosure, then please take care to remove any EMI emitting equipment, connected/powered wires, unbalanced fluorescent lamps, etc. as far away from touchscreen as possible. At least nothing should be under green PCB of touchscreen controller on the bottom side of LCD panel.
  3. Next is power supply. Check that your power supply provides clean 5V signal on its output. We also recommend to use UPS or good power filter on AC side.
  4. Finally, you can use special Windows tool to calibrate screen sensitivity to your current environment. Here is link to calibration utility: http://goo.gl/TLK4P. You should connect your panel to Windows PC, use only USB – others connectors are not required. Then run this program, it should find panel, then will ask you to not touch panel during calibration (calibration does not require any interaction with touch surface during whole procedure)

no comments posted in: blog   |   How-To
January 31, 2013   Posted by: Dr. Ace Jeangle

Stock status and project update

SMT pick and place machine

SMT pick and place machine

I receive a lot of emails requesting for stock update every day. Therefore, I decided to clear out the situation with the stock issue and also to reveal our plans for the future of our LCD products. First of all, our company has been running for 8 years in the electronic industry business. We design and manufacture embedded systems for consumer, industrial and military applications, we have our own SMT factory and experienced development team. This branch of open-source LCD solutions was initiated 2 years ago as a step to help electronic enthusiasts to get cheap and easy LCD+touch solution for their project based on BeagleBoard and their successors. We never considered this as a business, and did it mostly for fun. But 2 years of successful sales, many positive reviews and number of serious business projects that arise as a result convinced us that open-source hardware can play an important role in the business of electronic company. Therefore, we decided to pay more attention to this branch and invest money to buy separate SMT line for our LCD products. This should eliminate delays with order processing and shipping, and help us to keep constant stock of ready LCD bundles. We already received new stencil printer and lead-free reflow oven, now awaiting for arrival of automatic pick-and-place machine. Whole line should be mounted in 2-3 weeks, after that we can ship your orders next day after receiving. Currently, we had delays with LCD production because our main SMT line is busy with our normal orders for others embedded products. Separate SMD line will solve this problem.

Now regarding our plans:

  1. Most of our office employees will be out for Chinese New Year holidays from 9th till 17th of February.
  2. Technical support for current customers will be on line, support@ email will be active.
  3. All emails sent to our sales team (sales@) will be answered after CNY holidays.
  4. We will install SMT line during CNY holidays and will manufacture enough boards to keep stock alive.
  5. All orders placed from today will be shipped on first come-first serve base starting from February 18.
  6. As a token of appreciation for your continuous support, we will offer instant 10% discount for all orders placed and paid during this period.

Finally, our 7″ capacitive solution is near completion. You will get 1280×800 LCD (yes, IPS!) with multi-touch touchscreen with USB interface.

4 comments posted in: blog
October 30, 2012   Posted by: Dr. Ace Jeangle

Android Jelly Bean running on Pandaboard (ES)

Linaro team made a huge step forward towards an automated kernel and full Android builds. Below are these simple steps I did to get Android JB running on my Pandaboard ES with LG 10″ with touchscreen. Compare it to our old How-to: https://chalk-elec.com/?p=1426 and feel the difference 🙂

  1. Go to http://releases.linaro.org/12.10/android/leb-panda/ and proceed with “Binary Image Installation” steps. Windows users can get file pandaboard.img.bz2, unzip it and write to SD card with Windows32DiskImager utility.
  2. Update boot.scr file in boot partition of SD card with correct LCD resolution (1280×800 for LG panel). Ready boot.scr file is here: boot.scr
  3. After step 2 you should get LCD working. You will see Android GUI and can use mouse. Adding touchscreen requires some kernel re-build.
  4. Download file linaro_kernel_build_cmds.sh to your Linux computer, change its attribute (+x) and run it. It will automatically download and re-build kernel for Android. Final kernel is located in ./linaro-kernel/out/arch/arm/boot folder (file uImage)
  5. Now you should update kernel config to include touchscreen support and re-build kernel again. Find file .config in ./linaro-kernel/out folder and uncomment/add options CONFIG_HID_MULTITOUCH=y and CONFIG_HID_NTRIG=y – first option is for old AUO panel, second is for new LG panel. You can add both just in case 🙂
  6. Comment line “mkdir out/modules_for_android” in script linaro_kernel_build_cmds.sh and run it again. Copy final uImage file to boot partition of your SD card. You can also skip these steps and get my final uImage here: uImage
  7. Last step is to configure touchscreen as an internal device to fit with LCD panel size. Download file Vendor_1b96_Product_0007.idc and put it to folder /usr/idc on system partition of SD card.

Final SD card image (4Gb card) is here: Android 4.1.2 for Pandaboard(ES)

Video in action is here: Android Jelly Bean (4.1.2) running on Pandaboard ES with touchscreen LCD

23 comments posted in: How-To
October 9, 2012   Posted by: Dr. Ace Jeangle

How to build kernel for Beaglebone for custom cape support

In this How-to we will try to build kernel for Beaglebone that will support our LVDS cape.

Download and install all required sources:

sudo apt-get install gcc-arm-linux-gnueabi git ccache libncurses5-dev u-boot-tools lzma
cd ~
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
git clone git://github.com/RobertCNelson/linux-dev.git
cd linux-dev
git checkout origin/am33x-v3.2 -b am33x-v3.2
cp system.sh.sample system.sh

Then make the following changes in system.sh:
– uncomment line CC=arm-linux-gnueabi-
– uncomment line LINUX_GIT=~/linux-stable/
– uncomment line ZRELADDR=0x80008000
– uncomment line BUILD_UIMAGE=1
– uncomment and change line MMC=/dev/sde to your SD card system name (mine is /dev/sdb)

Next commands:


will bring you directly to kernel config GUI, and then will assemble it.

After kernel is compiled, please make changes to file ~/linux-dev/KERNEL/arch/arm/mach-omap2/board-am335xevm.c (see below), then recompile kernel again (command “tools/rebuild.sh”). Once the build had completed there will be a uImage file in ~/linux-dev/deploy. You can install this to your SD card with:


Built kernel modules are located in ~/linux-dev/deploy/mod/lib

To add support for our LVDS cape you need to patch file board-am335xevm.c located in /kernel/arch/arm/mach-omap2. You should find function beaglebone_cape_setup(struct
memory_accessor *mem_acc, void *context)
in this file and change it to always invoke function dvi_init(0,0). The easiest way is to put
the following lines:

pr_info("BeagleBone cape: initializing DVI cape\n");

at the beginning of function.

19 comments posted in: How-To
Page 7 of 14« First...«56789»10...Last »
Follow us