I'm on a short schedule and need some help

I'm an electrical engineering student at Worcester Polytechnic Institute and I'm taking a class where we designed a product in groups and then build it. I'm in charge of the programing for our product, which basically amounts to an exercise bike. Up until this point I have been using an MSP430 to control an EA dogm162 LCD display with little success. After spending a huge amount of time trying to debug the LCD I discovered it's broken and I don't have enough time to order a new one. Fortunately my friend gave me his extra Arduino Duemilanove and a HD44780 LCD display.

I'm a beginner when it comes to Microprocessors so forgive me if I ask any stupid questions.

At point I have two options:

  1. I can scrap the MSP430 and try to bring what I can of my C code to the Arduino. This seems like bar far the easier option in terms of interfacing with the new display.

There are a couple of downsides to this plan. First of all I've never programed for the Arduino and I need to be able to pick it up fast, I'm most comfortable programing in C and know very little object oriented programing. One of the most important aspects of the program is code for an ADC, so hopefully that will be easy to set up again.

Also, I had programed a start up song that played through the MSP430f449's built in speaker. I have another small speaker I could hook up to the outputs of the Arduino, would this be easy to implement? If I have to it wouldn't be a big deal to give up the song.

Not including the I/O pins needed for the LCD screen or potential Speaker I need AT LEAST 7 other I/O ports but it would be much better if I could use eight.

The biggest issue with this plan is that the most of the Arduino website is down so I can't get the software I need to program it. I do have IAR Kickstart and IAR for ARM if either of those would be easy to use. If not I would be infinitely grateful to anyone who could host the program somewhere else for me to download or if it's small enough zip it and email it to me.

  1. My second option is to try to get the HD4480 to work with the MSP420. I've been trying to make my way through the 60 page data sheet but it's slow work. Not only is this consuming time I don't have but I also feel like I'm in over my head.

Any help or hints people could provide would be extremely valuable and greatly appreciated.


EDIT: This is the data sheet I'm trying to read: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292053153/0#0

You can interface those displays quite easily. You need 4 data lines, and about 2 control lines. After this, you just need to know what commands to send to the display. For a working example how that works, look at the Arduino library Liquid Crystal, specially the constructor with 6 parameters. The interfacing there is via independent digital output without any cute processor support. Once you have thecommunication done, you can rip the necessary commands easily from the library.

Moving over to the Arduino isn't too hard either. Look at the analogue Input tutorial for a short sample how to read analoge values.

All in all, both options are possible, though I guess hooking up the new display to your processor will be a little easier.


Using the analog pins as digital, you should be able to get 15 pins free. The LCD needs a minimum of 6.

You don't say which operating system you use. The Windows zip file is 85Mb, I'm presently uploading a copy I have to a globally accessible site since its too big for e-mail. The Linux version is much smaller, not sure about the Mac.

Its looking like this forum is the only part of the site working at the moment.

Unless I'm going to the wrong URL I think that the Arduino site that hosts the Arduino library Liquid Crystal and the analogue tutorial is down. If I'm wrong then I would appreciate the correct link.

Thank you so much pluggy. I'm running Windows 7.

About another 15 minutes before its uploaded. It will have the LiquidCrystal library built in. The playground is working :


Heres a bit on the ADC on this forum : http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1273055713

Awesome man, you're a life saver.

One other question, It would be nice to be able to work from home but I don't own a power source. Is possible to run a program on the Arduino using the USB as a power source? If so, can the Arduino output power to the LCD screen?

Short version , heres the google code code site which hosts the software : Google Code Archive - Long-term storage for Google Code Project Hosting.
You want the 0021 version.

Yes the USB will run a LCD panel, I have one running at the moment powered solely by USB.

One I just uploaded : http://www.pluggy.me.uk/mod/arduino-0021.zip

That's great! I can't thank you enough!

Its a bit late/early for the yanks...... :wink: