I’m working on a small project which will allow you to connect a small LCD to your Mac via USB, and I’m curious if people have any suggestions as to what they would use it for — current iTunes track, unread mail, RSS headlines?

The chip on the left is a Cypress USB interface from Delcom Engineering, and the one on the right is a standard MAX232 chip, which converts signal levels to RS-232 from the Cypress chip. Using these two together, you can send RS-232 data from your Mac, and I’ve connected it to a serial LCD from Scott Edwards Electronics (the most expensive part of the project), and am able to send any data to the LCD, even control the backlight!

I intend to build up a full page about how I did it in the very near future, but I’m still working on the C code which does the work of talking to the USB I/O chip. Right now, though, I’m looking for suggestions of things to implement for the release. If you have a neat idea, post it in the comments. I’ll be working with a 4 line by 20 character LCD, if it helps.

Update: Also, if anyone has a preferred way of getting data to the LCD, post that as well. Would you prefer AppleScript, Python, something else? I’m sure AppleScript will be involved somewhere along the way to communicate with Mac OS X apps, but what about the “glue” between that and my command-line app? I’m partial to PHP, but it’s not used very often as a system-level scripting system.


25 thoughts on “Mac OS X USB LCD

  1. Martin says:

    AppleScript would be useful but a commandline interface would be ok as well. You already mentioned the useful applications for it, I’d like to add: CPU usage, Time and date, Network throughput and CPU or Motherboard temperature. All other “external” information should be avaiable through RSS feeds.

    A “killer application” for it would be the ability to connect it to an Airport Express via USB and let it display the currently playin title – I wonder, whether this is possible, AFAIK there’s already a remote interface to control iTunes via the USB port of the Airport Express.


  2. Nick Vance says:

    1. iTunes current track/artist/album
    2. RSS Unread Count possibly with titles
    3. Mail unread count, again with titles

    The titles could scroll if they were too many characters.

    I’d prefer apple script for the data but the best solution would obviously be a Growl style interface scheme with multiple ways of getting the data in (though not with beta 1 though)


  3. A “killer applicationâ€? for it would be the ability to connect it to an Airport Express via USB and let it display the currently playin title – I wonder, whether this is possible, AFAIK there’s already a remote interface to control iTunes via the USB port of the Airport Express.

    That’s an awesome idea! I’ll check into that. Maybe Apple’s developer site will have some documentation on using that USB port.


  4. Mike H says:

    I would use it as an away-message for real life. The people outside my door never know if I’m awake, asleep, in, out, or when I’m going to be back. A way to tie it in to my current AIM away message would be ideal as I can set that from anywhere.


  5. I would like to see it intergrated with Growl, so that all kinds of notifications and such show up and I would suggest a simmilar way of sending it information.


  6. If you’ve got an usb to serial dongle, you can use pyserial, an easy to use serial tool for python. Applescript can use unix script, so…
    I used it with a modem and a GPS. It will work too with a LCD screen.


  7. kaotica says:

    very cool indeed. i think it would be cool to display fanspeeds on the G5 PPC, CPU Temps, Ram usage, Swap space used, iostat, and other HW stats.
    …along with itunes info and random other info, like current IP address, inbound/outbound traffic etc


  8. Jeff says:

    You shouldn’t even need to use the MAX232 IC. Can’t you connect the LCD directly to the TX pin on the Cypress chip? The data probably needs to be inverted though… so you may need a hex inverter (such as a 7404), which would be a lot cheaper and use less components than the MAX232.


  9. The only reason I’m using a MAX232 is because the levels from the Cypress chip aren’t significant enough to be seen by the LCD, which takes data at RS-232 levels at 9600 baud. I tried using it without the MAX232 before I bought it, and nothing happened. After, it works great.


  10. I’m not sure if you’re limited to text based content, but a external visualizer for itunes could be pretty cool. Set the columns as frequencies, maybe have the track playing on the bottom.
    I look forward to seeing where this goes!


  11. donn says:

    command-tab, that looks great. I’ve been doing the same thing. I’m trying to get my USB chip programmed (actually I’m still working on the programmer).

    I’d appreciate your comments and suggestions. I’m using an 18F2455 from Microchip.


  12. This may not be exactly what you’re doing, but I have a similar thing I want to do (If I can figure it out):

    I want to build a recording computer inside of a mixer rack. I could mount a Mac mini the 4 space bottom part of the rack and have a laptop screen in the upper part designed for the mixer. That way the screen could fold down when the unit would need to travel.

    Unfortunately, I have no idea how to hook the monitor up and I don’t think I would want to start ripping a new computer apart. If you have any ideas or questions, please feel free to send me an E-mail.


  13. Bjorn Ove Arhtun says:

    Dear Enthusiasts!

    I really need a LCD with source code to control it right now…
    Im going to use it to display debug data.

    Whats the largest display I can get…. which code should I compile… etc..

    please help me out!



  14. Mike Paschke says:

    Hey, I have a very interesting issue. I work for Tech crew at the University of Illinois and we are currently in the process of setting up macminis with USB mics in selected classrooms for lectures which will be recorded and uploaded for podcasts through the university’s network. The only problem is that by using only the macmini and no monitor…we’d like to have some sort of LCD readout to display the status of the automated recorded process. FYI we are using Garageband for the recording, and are writing scripts so the recording starts automatically each week/day for the assigned lecture. So that’s what we’re up to, please email me back and let me know if you can do anything to help, or aim me in the right direction of a functional LCD USB readout…THanks


  15. I really like some of the suggestions that were made. I was looking for information do so something VERY similar. I want a LED/LCD display with a few keys connected to a Mac Mini without a monitor to control iTunes. It makes the Mac Mini into the most awesome media library.

    If you have any information on your project that you could share, I would be greatly appreciative.


  16. Any progress on this by chance? I’ve been trying to compile LCDProc on OSX to no avail. I’d love a more robust solution with Growl support etc, but for now any setup at all would be nice. Love to hear other peoples progress.


Comments are closed.