Archive for category Tech

Embedded Touch Screen – Part 1

Touch screens are becoming nearly ubiquitous. Until recently they were only really used for PDAs and POS terminals. Now it isnt uncommon to see touch screens on high end appliances and electronics. It makes sense to use touch screen interfaces for a couple of reasons.

#1 It is intuitive for the user. It doesn’t get any simpler than a button that says “Touch me”. Of course, this requires software designed specifically for touch input. The ability to directly interact with the display is a relatively new interaction paradigm that is changing the way applications are designed. Understanding the process flow or experience is necessary in order to create powerful yet usable applications.

#2 Real estate is expensive. Not every device can have a keyboard and mouse input. And even devices that traditionally were simple now require more complex methods of input. It can be quite cumbersome to build interfaces with a button for every function. And even then its expensive to iterate or modify a physical interface because it requires new engineering designs, tooling, purchase quantities, etc. Whereas every touch screen is a dynamic canvas upon which any interface can be applied.

But what does it actually take to implement a touch screen display? I am about to find out. One of the projects I am currently working on is to implement a touch screen display into a high-end digital video switch. It will be the primary input device for configuring and controlling the switch.

I will try to document progress through out the entire project.

Getting Started


We decided to go with a uLCD-32032-P1T(SGC) from 4D Systems. It is a 3.2″ LCD display with resistive touch screen overlay fully loaded with controller.

32032-132032-2


Powered by the 4D-Labs PICASO-SGC processor (also available as separate OEM IC for volume users).
On-board micro-SD memory card adaptor for multimedia storage and data logging purposes. HC card support is also available for cards 4Gb and larger.
DOS compatible file access (FAT16 format) as well as low level access to card memory.
Dedicated PWM Audio pin supports FAT16 audio WAV files and complex sound generation.
On-board audio amplifier with a tiny 8 Ohms speaker for sound generation and WAV file playback.
Comprehensive set of built in high level graphics functions and algorithms that can draw lines, circles, text, and much more.
Display full colour images, animations, icons and video clips.
Supports all available Windows fonts and characters (imported as external fonts).
16 x General Purpose I/O pins. Upper 8 bits can be used as an I/O Bus for fast 8-bit parallel data transfers.
2 x 30 pin headers for I/O expansion and future plug-in daughter boards.
4.0V to 5.5V range operation (single supply).
Module dimensions: 55.1 x 77.0 x 13.8mm (not including mounting tabs).
4 x snap-off mounting tabs with 3mm holes for mechanical support.
RoHS Compliant.
  • 240 x 320 QVGA resolution, 65K true to life colours, TFT screen.
  • Display Viewing Area: 48.6 x 64.8mm
  • Integrated 4-Wire resistive Touch Panel.
  • Easy 5 pin interface to any host device: VCC, TX, RX, GND, RESET.
  • Asynchronous hardware serial port, TTL interface, with 300 baud  to 256K baud.
  • Powered by the 4D-Labs PICASO-SGC processor
  • On-board micro-SD memory card adaptor for multimedia storage and data logging purposes. HC card support is also available for cards 4Gb and larger.
  • DOS compatible file access (FAT16 format) as well as low level access to card memory.
  • Dedicated PWM Audio pin supports FAT16 audio WAV files and complex sound generation.
  • On-board audio amplifier with a tiny 8 Ohms speaker for sound generation and WAV file playback.
  • 16 x General Purpose I/O pins. Upper 8 bits can be used as an I/O Bus for fast 8-bit parallel data transfers.

The controller has a 5 pin interface but you cannot connect direct serially. That requires an additional circuit which I will explain later. For development purposes its better to just get the USB-MB5 USB to Serial UART bridge that 4D Systems recommends. It connects directly to the 5 pin header and gives you a mini-USB connection. The drivers will create a virtual COM port which is used for serial connection to upload firmware and compiled code.

screen-with-USB-MB5

 

No Comments

Living In The Clouds

Some people speak of cloud computing like its some advanced concept that we may someday realize. Well, if you didn’t already know, its here now. It doesn’t take much to operate in the “cloud”. I’ve been doing it for some time and I enjoy the flexibility it gives me without the restrictions of being tied to a single network or computer. So I thought I would share some of the tools I use.

Email

Everybody knows Gmail is the best web mail client, hands down. But I use Gmail for more than just my Gmail account. Like most people, I have multiple email accounts from different sources. Some are only POP access.

One of the best little-known features of Gmail is the ability to add other email accounts. So instead of having to log in to multiple email boxes or rely on a standalone email client to check multiple accounts I can bring it all into the same inbox. Gmail also gives you the ability to send mail as other linked accounts so you can completely send/receive from multiple email accounts all from the same web interface.

Office Applications

If you work at a computer, chances are you use least Word and Excel. Notice I didn’t have to say word processor and spreadsheet. Thats because Microsoft Office has become pretty much the defacto standard for office applications. But Google is working hard to change that with Google Docs.

Google Docs is Google’s attempt to go straight for the M$ money maker. It includes a document editor, spreadsheet and presentation program. Google Docs also allows you to upload virtually any type of document including all Microsoft formats and PDFs. Office documents are instantly editable once they are online. There is also the ability to export documents to known Office formats so even by using Google Docs you never lose compatibility with Office.

I will say though that Google Docs lacks many of the features of even older Office applications. It definitely has a long way to go before it is even comparable to Office, featurewise. But if you only require the main features of office and you like the idea of having access to your documents from anywhere then I highly recommend Google Docs.

File Storage

One of the best free tools I’ve ever come across is Dropbox. Dropbox is a utility that syncs the contents of a single folder including subdirectories to an online storage. The beauty of Dropbox is its simplicity. After installation it literally creates a single folder called My Dropbox. Just copy anything you want synced into that folder and Dropbox will work quietly in the background. If you use more than one computer you can run Dropbox to keep files perfectly in sync.

I use Dropbox on my work computer for storing all the documents and files I work on. I also run it on my home computer so when I am working from home I have access to all my files. And I dont have to worry about carrying around a USB stick everywhere.

Dropbox is currently free for up to 2G so dont expect to backup up your entire computer or itunes directory to it unless you are prepared to pay at least $10/m for the 50G plan.

Contacts

As you can already tell I am well engrained into the Google ecosystem. So naturally, I have an Android phone. :)

Android requires a Gmail account and one of the reasons is because your phone contacts are automatically synced with your Gmail account. This great for populating your contact list the first time you connect to a new phone. But the best part is if you ever lose or break your phone, all your contacts are not lost. Just reconnect to a new phone and it will automatically download all your contacts. If you’ve ever lost all your phone contacts then I’m sure you can appreciate this feature.

Bookmarks & Passwords

There are a ton of useful firefox plug-ins but for me the most important one is Xmarks. Xmarks syncs your bookmarks and saved passwords to the cloud and between multiple browsers. Just install it on each browser on each computer you use and all your bookmarks and saved passwords will be universally synced between all of them.

Some people would argue that this is a security risk but I argue the opposite. First of all, everything is encrypted and securely stored on xmark’s servers. Your passwords are probably safer there than in your own head. Secondly, most people tend to use the same password for multiple sites because its easier than having to remember a unique password for every site. This is actually one of the most unsecure things you can do because if your password ever gets compromised on one site it can be used for every other site. Since Xmarks makes it easy to store and sync passwords then there is no reason not to use a unique password for every site.

Project Management

At work I manage a lot of different projects. It can get very confusing especially if there are other people working on the same projects. We use Basecamp for project management and its a life saver.

Project management software has been around for ages but it typically suffers from over complexity which makes it very difficult to learn and costly to implement a multi-user solution. Basecamp is great because it overcomes both those issues by being simple to use and a fully managed web based solution.

Basecamp is so easy to use its almost too simple. Sometimes I find myself wishing it had more bells and whistles even though at its core it does everything it needs to do. After learning more about the 37Signals philosophy I realized that they purposely keep it simple.

Entertainment

Sometimes I find that my personal music library gets stale. Thats why I started listening to last.fm.  Unlike traditional stations where the music is chosen for you by a DJ, streaming internet stations like last.fm and Pandora generate dynamic playlists based on the music you like. You can enter a specific genre or an artist name and it will play only similar artists. It does a really good job of finding new music compatible with your taste that you may otherwise never have known about. I have yet to see a music service that will offer you access to any specific music you want but I have a feeling that day is coming.

A few years ago I ditched my TV with the intent of saving money on the cable bill and having more free time to do other things. Well those other things have since become Hulu and Netflix. Hulu provides internet based streaming television. It doesnt do live broadcasts or sports but if you prefer watching your favorite programs on your own time then you cant beat the fact that its free. Programs typically have one 30 second commercial vs 5 minutes of commercials on regular broadcast.

Most people know Netflix as the place to rent DVDs in the mail but they also have the largest catalog of on demand movies available for streaming as part of the basic $10/m service. The online selection is still limited, mostly older or less popular titles compared to whats available on DVD but there is plenty of good content and it continues to grow. You also have access to popular TV programs without any commercial interruptions. I used to travel a lot so it was nice having access to all the same movies even when I was away from home.

You might be thinking, what do last.fm, Hulu and Netflix have to do with cloud computing? Well consider that someday soon, for a small fee you will have instant access to any music, TV program or movie you want without the need to build a personal media library. Kinda makes all those DVDs and CDs you collected over the years seem antiquated.

Well whatever it means to be in the cloud I guess I’m a prime example. I actually enjoy the freedom it offers through greater efficiency and not having to worry about carrying my files with me everywhere I go. I know its always available in the cloud. I just hope my internet doesn’t go down. Now that would suck!

No Comments

Introducing Hulk

Well, after about 6 years of solid performance my old production machine bit the dust. Technically, the OS got corrupt so all it needed was a reload but I figured it was time for a complete upgrade.

After a bit of research I settled on the following components:

  • Intel Core i7 920 2.6gGHz
  • 3x 2G Corsair 1600 MHz DDR3
  • MSI X58 Platinum SLI motherboard
  • XFX nVidia 9800GT 512MB
  • 2x 500G Western Digital HDD
  • Zallman CNPS 9700 CPU cooler
  • Corsair 650W PSU
  • RAIDMAX Smilodon ATX case
  • 22X SATA CD/DVD Burner
  • Windows Vista Ultimate 64-bit

Read the rest of this entry »

, ,

No Comments

Touch Window

Imagine walking up to a storefront window and browsing an interactive product catalog displayed directly on the glass. Like using a giant iphone app. Thats the idea behind Touch Window.

Read the rest of this entry »

,

No Comments

Building a CAVE in the desert.

I recently completed construction of a CAVE at the Qatar Science & Technology Park (QSTP) in Doha, Qatar.

The CAVE has 4 sides (3 walls + floor) and uses active stereo. Active stereo (or “alternate-frame sequencing“) is a method of displaying 3D content with the use of shutter glasses that alternate left/right eye in sequence with the display device.

Due to confidentiality agreements I cannot go into too much detail of the system setup but here are a few pictures of the assembly process and some test images of a turbine.

, ,

No Comments

Latitude XT tablet running Windows 7 Beta with multi touch

Thanks to the contributions at NUI Group I was able to hack my Dell Latitude XT tablet running Windows 7 Beta to run multi touch applications developed in Flash. This hack utilizes the underlying multi touch capabilities in Windows 7.

Currently it only tracks up to 5 points simultaneously but since this is unofficial it is difficult to know if that is a technical limitation or due to the nature of the hack.

Check out a short clip of the action.

Multi-touch on Latitude XT running Windows 7 Beta from Justin Ireland on Vimeo

.

, , ,

2 Comments