element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Arduino
  • Products
  • More
Arduino
Arduino Forum Have a question on Arduino? Ask our expert Simon Monk
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Arduino to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 437 replies
  • Subscribers 445 subscribers
  • Views 20590 views
  • Users 0 members are here
Related

Have a question on Arduino? Ask our expert Simon Monk

patkelly
patkelly over 14 years ago

This thread has been closed to new questions.

However, we welcome you to Post Your Question about Arduino in the element14 Community Arduino group.  You'll find many fellow members and experts who have just the answer you're looking to find! 

 

Thank You, Your Friends at element14 Community

 

 

 

Expertise: imageArduino, .NET Gadgeteer, IOIO, embedded computing, open source hardware


About Simon: Simon is an author, writing books for TAB/McGraw-Hill and O'Reilly. He is best known for his Arduino books: 'Programming Arduino' and '30 Arduino Projects for the Evil Genius'.

 

Simon has a BSc. in Cybernetics and Computer Science and a PhD. in Software Engineering. He spent several years as an academic before he returned to industry, co-founding the mobile software company Momote Ltd.

 

If you need help on anything about Arduino, please post your question here!


 

If your not already, you'll need to login or register to ask your question - just click reply

 

The specified item was not found.

  • Sign in to reply
  • Cancel

Top Replies

  • mcb1
    mcb1 over 13 years ago in reply to aml +2
    Aml I presume you have set the board to UNO under tools, along with the Com port. Have you tried at least the first 10 bullet point s under the link see http:// (You can also select it under hlep on the…
  • simon.monk
    simon.monk over 14 years ago in reply to e14 Contributor +1
    @ jagadeshwaran http://arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader
  • simon.monk
    simon.monk over 14 years ago in reply to e14 Contributor +1
    @ang. This isn't really a task for an Arduino. It does not have nearly enough memory to store a whole image and manipulate it like that. I would not be surprised to find some PC application that would…
Parents
  • e14 Contributor
    e14 Contributor over 14 years ago

    I need to drive an I2C liquid crystal display (FEC: 206-3203) using an Arduino mini-pro, as part of the control system of an item of equipment to be manufactured in small quantities. I had hoped that using ready made libraries would speed the development, but it seems maybe not as much as I had hoped.

     

    It seems that the LiquidCrystal_I2C library I downloaded is not suitable to drive this display - does anyone know of one that is suitable?

     

    Failing that I need to choose the best way forwards. One approach would be to wire in an ISP connector and program it all in C. (I am not yet a very experienced C programmer but have coded several embedded projects including one using I2C. My core skills are power electronics and analogue.) Another approach would be to stay with Arduino code and use the I2C library to write display drivers using Sketch. This might be quicker if it works, but is it likely to hit a roadblock somewhere forcing me to start again and use C?

     

    In either case there will have to be some trial and error because the data sheet for the display is only almost clear on how to use it.

     

    Can you suggest another and better approach to try?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • e14 Contributor
    e14 Contributor over 14 years ago

    I need to drive an I2C liquid crystal display (FEC: 206-3203) using an Arduino mini-pro, as part of the control system of an item of equipment to be manufactured in small quantities. I had hoped that using ready made libraries would speed the development, but it seems maybe not as much as I had hoped.

     

    It seems that the LiquidCrystal_I2C library I downloaded is not suitable to drive this display - does anyone know of one that is suitable?

     

    Failing that I need to choose the best way forwards. One approach would be to wire in an ISP connector and program it all in C. (I am not yet a very experienced C programmer but have coded several embedded projects including one using I2C. My core skills are power electronics and analogue.) Another approach would be to stay with Arduino code and use the I2C library to write display drivers using Sketch. This might be quicker if it works, but is it likely to hit a roadblock somewhere forcing me to start again and use C?

     

    In either case there will have to be some trial and error because the data sheet for the display is only almost clear on how to use it.

     

    Can you suggest another and better approach to try?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • simon.monk
    simon.monk over 14 years ago in reply to e14 Contributor

    Have you tried the I2C LCD library that comes with the Deuligne LCD deisplay?

     

    http://shop.snootlab.com/lang-en/snootlab-shields/135-deuligne.html

     

    You may find that you can adapt the C for this library to work with your Arduino sketch if the messages are different.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to simon.monk

    I tried this library, and its own Hello World demo gave me an error message at compilation:

     

    C:\Programs\Arduino\libraries\Deuligne/Deuligne.h:68: error: conflicting return type specified for 'virtual void Deuligne::write(uint8_t)'

    C:\Programs\Arduino\hardware\arduino\cores\arduino/Print.h:48: error:   overriding 'virtual size_t Print::write(uint8_t)'

     

    If I could make the display respond at all, I imagine that would be about half the work of the entire project done.

     

    I don't have time now to learn enough about C++, as distinct from C, to have a reasonable chance to correct this code, so:

     

    The remaining question is whether it is better to write the display initialisation and subroutines to write to the display in Sketch, or whether it is better to wire in an ISP header and program it all in C, building on bits of code I have already written. Have you any insight into which is more likely to work out better?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • simon.monk
    simon.monk over 14 years ago in reply to e14 Contributor

    Arduino sketches are just C, occasionally using C++ but only as libraries. Also, if you have written functions in C, you can just paste them into your sketch.

     

    I would forget about trying to integrate any of you other code until you have got the simplest possible hello world example working with just the screen and an Arduino board.

     

    If you have the datasheet for the I2C screen and know what kind of messages it expects, then use the Arduino Wire library (http://www.arduino.cc/en/Reference/Wire) to send it those messages.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • e14 Contributor
    e14 Contributor over 14 years ago in reply to simon.monk

    Thanks for the advice. I decided to follow the sketch approach, but had to do something else first.

     

    After dealing with something more time critical, I returned to this and found that searching by the display driver chip number did locate a workable library, even though the display type returned nothing that worked. The library is intended for an 8*2 display, not 16*2, but that is a minor point compared with it being possible to make the display respond at all.

     

    The display data sheet included incomplete cut and pasted information from the chip data sheet, which is itself apparently transliterated from a language other than English. To make it work it would apparently be necessary to interpolate from the slightly incomplete or ambiguous, data presented, and even then, maybe use a little trial and error before it worked. Luckily someone has already found out what it means and written a library.

     

    I really wish that Farnell could persuade suppliers to provide documentation that included all the required information, set down fair and square with no contradictions.

     

    In the intervening time, of course, feature creep has expanded the requirement and I now need to control a motor speed with an analogue voltage, probably generated with PWM and an RC time constant, rather than just switching it on slow or fast as previously required. I have done that in C before, so it shouldn't be *too* much of a problem. {Famous last words?}

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube