Displayduino Help (Main Controller)

Please post your questions regarding the Displayduino (Main Controller) on this page.  We will do our best to answer your questions in a timely manner.

Displayduino Help (Main Controller) Questions:

If you have a question about Displayduino Help (Main Controller) please post it below. Our team will do our best to respond to all questions as soon as possible.

You must be logged in to post a comment.

Past Questions

  1. johnchong says:

    hey all,

    i’ve plugged my DD board into three different pcs and they are not recognizing that a device has been plugged in. the DD board can be both usb bus powered or externally powered w/ a 9V wall wart right? if someone can confirm that would be awesome.

    thanks!
    john

    • Morgan says:

      Yes it can be powered by the computer USB port or a wall or even portable power supply anywhere from 6-12 volts.

      If you are powering it via the USB port the jumper or dip switch next to the USB port should be on and if you are powering it using an external supply then you should take of the jumper switch.

      Regarding the board being recognized you may have to install the FTDI driver. Have a look at step #4 above.

  2. Tyson says:

    Hi guys, I just picked up my DisplayDuino! The (USB) power is on, the drivers appear to be installed. I’m pretty sure I’ve specified the correct COM port (the only one available). I’ve select the Duemilenova as the board in the IDE. So as a first step, I’ve copied your blink example. It seems to compile fine, and even transmit to the board (the T and L lights flash), but after a few seconds, I get the below error:

    avrdude: stk500_getsync(): not in sync: resp=0×00
    avrdude: stk500_disable(): protocol error, expect=0×14, resp=0×51

    A quick search on the Arduino forum lead me to this thread:
    http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1187909552

    Which seems to indicate that either I’ve specified the wrong board (and I’ve tried them all but the lilypads), or perhaps I need to flash the chip with the bootloader? If this is the case, should I use USBTinyISP?

    Thanks,
    Tyson

    • Morgan says:

      In order to flash the board you will most definitely need to select the Displayduino 644 from the boards list.

      You will not need to reinstall the boot loader.

      Is the only COM port that you can see “COMM 3″?

      • Tyson says:

        Hmmm, the Displayduino 644 doesn’t show up in the list. I’m using Arduino 017, and COM 4 is the only available COM port. Looks like I’m missing some drivers perhaps?

        The device shows as:
        FT232R USB
        UART

        I’m on 64bit Windows 7. Is there anything else I can try?

        • Morgan says:

          If the Displayduino boards do not show up in the list of controllers then you likely need to download the software above (top links).

          If you are using a download that comes from the Arduino website it will not have the Displayduino board listed.

      • Tyson says:

        Ok, dumbest mistake ever. Turns out my stainless steel counter isn’t the best work surface for electronics!

        • Morgan says:

          The good news is that if you have damaged the micro-controller, the Displayduino board is likely still fine.

          Because you can remove the chip and replace it, you should be able to recover, even if the chip is damaged.

  3. Morgan says:

    This code is an example of controlling both the ServoMatrix and LEDMatrix boards all at once using a sensor, random numbers and fixed values. The functions used are:

    myMatrix.changeServoBoard(expantionBoardAdress, Possition Array);

    and

    myMatrix.changeLEDBoard(expantionBoardAdress, RedBrightnessArray, GreenBrightnessArray, BlueBrightnessArray);

    
    //CODE START-----------------------
    
    #include 
    
    MatrixNet myMatrix;
    
    unsigned char i = 0;
    
    int sensorPin = 0; //the sensor pin (analogue 0)
    int sensorValue = 0; //a variable to hold the changing sensor value
    
    unsigned char RedBrightness[64];// array to hold R values
    unsigned char BlueBrightness[64];// array to hold G values
    unsigned char GreenBrightness[64];// array to hold B values
    
    unsigned char PosArray[64];// array to hold servo values
    
    void setup()
    {
      myMatrix.begin();
      Serial.begin(9600);
    }
    
    void loop()
    {
        //we get the value of the analogue sensor here
        sensorValue = analogRead(sensorPin);
       //a test for reading the sensor values 
       Serial.println(sensorValue);
     
        //LED Controls start ---------------------------------
        for(i=0;i<64;i++) {
          RedBrightness[i] = random(0,255); //--this gives a random R value
          GreenBrightness[i] = map(sensorValue, 0, 400, 0, 255); //- this takes the sensor values and gives a G value
          BlueBrightness[i] = 150; //--this is a static value vor B
        }
          myMatrix.changeLEDBoard(2, RedBrightness, GreenBrightness, BlueBrightness);
          delay(5);
        //Servo Controls end ---------------------------------
      
       
      //Servo Controls start ---------------------------------
      for(i=0;i<64;i++) {
        PosArray[i] = map(sensorValue, 0, 400, 0, 200);
      }
        myMatrix.changeServoBoard(0, PosArray);
        delay(100);
      }
      //Servo Controls end ---------------------------------
      
    //CODE END-----------------------
    
    
  4. dmancan says:

    Hey Morgan,

    Does the Displayduino have interrupt pins like the Arduino (Pins 2 & 3)?

    Thanks,
    D.

    • Randy Glenn says:

      The Displayduino does have interrupt inputs, however they share the same pins as the second serial port – the one that connects to the RS485 network, so if you want to use the expansion boards you won’t be able to use these interrupt pins.

  5. sodanovels says:

    Just getting going with testing my first design, and before I get sensors and motors hooked up I wanted to get it working using leds, proving hte logic and then tackling the mechanics.

    I wanted to validate what Digital PINs are WPM capable and can provide 8bit output using analogWrite().
    Arduino documentation says:
    PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.

    I have a pot that is giving me analog input correctly (0-1023) and I map it to provide a fade value with the 0 – 255 range but the light goes only after it reaches the halfway threshold, which makes sense to me if it only understands digital input, after 126 would be HIGH, compared to LOW.

    I am just using example code:
    const int ledPin = 2;
    const int knobPin = 0;

    // these variables store the values for the knob and LED level
    int knobValue, fadeValue;

    void setup() {
    // initialize the serial port
    Serial.begin(9600);
    }

    void loop() {
    // read the value from the input
    knobValue = analogRead(knobPin);
    // remap the values from 10 bit input to 8 bit output
    fadeValue = map(knobValue, 0, 1023, 0 , 255);
    // use the input value to fade the led
    analogWrite(ledPin, fadeValue);
    // print the input value to the serial port for debugging
    Serial.println(fadeValue);
    }

    I am now testing each of the

  6. marhalt says:

    This is a great board, but it would be so much better with some documentation! Both for the Displayduino and the LEDMatrix board – what are the available libraries functions beyond the ones shown in the examples? Or a simple map of the board (what does the Reset button do? Can I reprogram it? etc…) Or even some more examples that we could take apart.

    Is there any way to get some more documentation? Has anyone found some good guides or anything else beyond the examples? Any interest in starting a wiki?

    • Morgan says:

      Thank you for your comments Marhalt. We work hard to ensure that our boards are easy to use and accessible for a wide range of users. Arduino is an open source platform that allows you to go and see for yourself all of the intricate workings of the source code. Because we use Arduino we also offer our code (in an Arduino package) for you open source requirements. There are more code items coming soon. We are working on including new codes and comparability environments for various other popular lighting and effects environments.

      You can reprogram the Displayduino boards yes – and there are many examples that can be found if you look up Arduino code. The reset button is the equivalent of “rebooting” on a computer. We are also working on various other examples but it all takes time. If there are any specific questions I can answer in the mean time that would be great.

      Starting a wiki sounds like a good idea. I will talk to the rest of the team about it.

      Morgan.

  7. brent_c says:

    I’m attempting to transmit/receive serial to the mondo matrix through an XBee device. I’ve got the DIn line of the XBee connected to pin D9 (Which i think is TX0) and the Dout of the XBee to Pin D10 (Which I think is RX0) but When I initialize Serial.begin(9600) and write to Serial it doesn’t seem to use these pins… Is there additional setup i need to use these pins? Is the standard Serial output somewhere else?

  8. amelendez says:

    Hi,

    I was wondering whether it’s possible to use eclipse to program the Diaplayduino through ISP or HV parallel programming. What is JP1 used for? Do I need to reprogram the fuses? Is it safe to erase the bootloader? If anything fails, is it easy to reset the board to default?

    The reason

    • Randy Glenn says:

      Hi A.M.,

      It’s fairly easy to reset the board to default – you need a supported programmer, though. I suggest either the AVR-ISP mkII, or the USBtinyISP.

      Just go into the Arduino environment (for now, use the one we host here), select your board type from Tools -> Board, and select Tools -> Burn Bootloader -> (your programmer type). It takes a minute or so, but after that your board is good to go again.

      If you’re developing your own stuff in Eclipse and AVR-GCC or what not, you can upload using the built-in bootloader – just use AVRDUDE with an stk500 programmer on whatever serial port the Displayduino shows up as. You can also re-program it with an ISP programmer (like the two I mentioned earlier) connected to JP1.

      You shouldn’t need to change the fuses, but you’re welcome to if you like – it is your board, after all! :) If you need to change them back, the Burn Bootloader will do so (with a few exceptions – if you disable ISP programming or change the oscillator settings to something that no longer works, ISP alone won’t help you.)

      Thanks,

      -Randy

  9. amelendez says:

    Hi,

    I tried the examples for servo motors, the sweep and the knob. I hooked up a servo motor on pin 3 and the analog from a pot on pin A0 (D31). My servo motor should be able to go from 0 degrees to 180 degrees but in both examples it only goes to 145 degrees even if I change the parameters. Is there any calibration that needs to be done? Or I am missing something?

    Also, I was wondering what the JP1 is used for? Is it for ISP programming? If I wanted to use C/C++ programming using eclipse and an AVR Dragon, will it be possible to program using HV parallel programming or JTAG? Will I have to re-program the fuses? Can the bootloader be erased?

    Thank you in advance,

    A.M.

    • amelendez says:

      so I scoped the control signal to the servo motor and the REFRESH_INTERVAL is actually 16ms where in the servo.h is declared to be 20ms minimum.

    • Randy Glenn says:

      Hi A.M.,

      JP1 is for ISP programming. We don’t break out JTAG on the Displayduino.

      The bootloader can be erased, and reprogrammed within the Arduino environment using a supported programmer. The bootloader HEX file, source code and AVRDUDE settings for fuses are in the bootloaders directory and boards.txt file in the environment download that we host here. In general, though, you should be fine loading your own HEX file and leaving the fuses as-is.

      Thanks,

      -Randy

  10. jpark says:

    Hello!
    I am glad to know your great products!
    I have some questions. Can I use Arduino Library for Processing (Firmata which allows you to control an Arduino board from Processing without writing code for the Arduino) in your Displayduino. Moreover, can I use a Arduino (as a microcontroller) for your ServoMatrix instead of Displayduino?

    I am looking forward to hearing from you soon!

    - jw

    • Randy Glenn says:

      Hi JW,

      It might be possible to use Firmata with the Displayduino, however we haven’t tried it.

      It should also be possible to control the ServoMatrix using an Arduino, however we have not tested this and don’t currently support it. It would require additional hardware connected to the Arduino, and likely some software changes to the Arduino serial code.

      Thanks,

      -Randy

  11. luxor says:

    Have you a reseller in Europe?

    • Morgan says:

      Hi Luxor,

      Yes there is a carrier in the UK … Cool Components. We have added them to the “Buy” page. Please find them listed there and click the link to go directly to the site.

      Morgan.

      • luxor says:

        Hi Morgan,

        Thanks for the information.

        Is there already more information and a date for the publication of the inputMatrix and SoundMatrix?

        • Morgan says:

          Unfortunately we are not releasing the release date at this time as we are still in the proto-phase. As soon as we know the release date we will be making that information available on our website.

          Believe me we are just as excited as some of you are :)

          Morgan.

  12. stephanschulz says:

    Hello
    I have a question about the displayduino and super bright 3.3v 20mA LEDs.
    In your example video you are connecting one directly to a pin and ground without using a resistor.
    My LED-resistor-calculator suggests to use a 100 ohm resistor to limit the current.

    What do you think is the best for this board and 20 LEDs, one on each pin?

    Thanks.

  13. rondunn says:

    Is the photograph on the main page the current version of Displayduino?

    I’ve seen a “V2″ picture at http://www.morganrauscher.com/displayduino.php, but it doesn’t have features like the header pins that I like in the version pictured on this site.

  14. lawrencealan says:

    I have the DisplayDuino and LEDMatrix boards, I had everything working and I went to move it — the usb port came off of the displayduino!!

    Any ideas on how I can work around this? those contacts / pins are VERY close together and I don’t think I could successfully solder leads onto them.

    Is there an alternate way to interface with the board? (RS232, an addon usb shield?)

    Thanks!
    Larry

    • Morgan says:

      You would be surprised how easy it is to solder – even tinny surface mount things. Just remember to take your time – move slow. What city are you in. Try to find your local “Hacker Space” or “Hack Club” and get in there for the open house and ask them to show you. Keep in mind that solder will sort of pull into the points you are soldering – naturally. Worse case you can just try again and again by removing the clumps of solder using something called solder wick.

      It takes some skill – true – but I have full confidence that you can get that USB port back on there :)

      Let me know how that goes.

    • Morgan says:

      PS there is a way around reattaching the part if the board is damaged where the solider points go.

  15. Frankdj says:

    I’ve bought a DisplayDuino 2.5 from robotshop, but some parts are missing? Is it normal that IC1 and IC3 are empty when you buy it? I guess IC1 is the ATMEGA644P chip, but what chip should be in IC3?

  16. rayui says:

    Hi.
    I am wondering how to connect the Arduino Ethernet shield to the MondoMatrix. IS this possible and if so, which pins do I need to connect from the shield?

    Regards,

    Ray

  17. mintysystem says:

    hi all,

    i am using a displayduino 644. i’m having a strange problem with the Serial module.

    GOAL: connect displayduino to computer, upload some data via serial using Processing, unplug displayduino and have it run its program with the uploaded data
    ACTUAL RESULT: displayduino seems to reset whenever the serial connection is lost.

    DETAILS:
    when i am transmitting serial data to/from the displayduino everything works fine. however, when i close the serial port in processing (the software i’m using to connect to the displayduino) the displayduino appears to reboot and reset everything to their default values.

    i can easily reproduce this — just start the arduino, send some data via processing, and close the serial port.

    this seemed odd to me so i tried to debug it. one of my debugging methods involved calling Serial.end() on the displayduino, but oddly enough the compiler complained that such a call does not exist. so that got me wondering about the implementation in general, or if i’m using the right library.

    any help would be appreciated — we want the displayduino to continue running it’s program, with the uploaded values, after we disconnect the serial port.

    thanks

  18. hfe18 says:

    just for inquiry, is Displayduino support Modbus RTU? if yes, you can provide brief or summarize on how to get started using Modbus RTU on rs485 line

  19. demolishun says:

    I am interested in using this controller as it has an RS485 port and some digital IO. Can the RS485 be used as an arbitrary serial port? I need to talk to some other RS485 equipment.

  20. Luitenant_Dan says:

    Hello,

    I’m wondering if you guys know a way to use Arduino 0019 or newer for programming the Displayduino?

    That would be beneficial since I need to use the string class which isn’t supported by the 0017 version but by 0019+.

    Unfortunately the 0019 IDE doesnt provide Atmega644p support. I’m clueless right now…

    Thank you for your Help!

  21. jmarie says:

    Hello all,

    I am involved in a project where we would like to use a MondoMatrix and PowerMatrix to pilot a matrix of small fans for the creation of a interactive piece of art.

    If these two cards seem to be very adapted to my needs I am struggling to get them. Any advice where I might be able to buy these? Seems to be sold out everywhere. I am based in Europe (France) but could shop online in the US or elswhere if needed.

    Thanks for your advices.

    • dmdgmail says:

      I too am having difficulty locating a displayduino. The other boards (powermatrix, etc.) are gettable sometimes at SparkFun, but not often. Canakit (in Canada) and CoolComponents (UK) seem to still have a few displayduinos.

      Can anyone with MondoMatrix let us know when the next shipment will come out? I’m really excited to get started.

      Thanks.

  22. fmparty says:

    Hello,

    I started trying dd and pm, and keeps getting this error.

    10: error: #include expects “FILENAME” or In function ‘void setup()’:
    In function ‘void loop()’:
    Bad error line: -3

    I selected displayduino 644 in the board list, Blink example works.

    But when I am try the first PM example, the error above keeps happening.

    I deleted arduino 0022, but no use.

    Plz tell me what whoud I do.

    Thanks.

  23. agron says:

    Is there any information about digital ios, like speed, isolation, voltage range, analog voltage range, resolution.
    Thanks,
    //Agron

  24. agron says:

    What’s with the menu of your website?
    When I go over Hardware Info the menu drops down, but as soon as I move the mouse the menu goes away.

    I had to see the source code of the page and then type in the URL for this and some other pages.

  25. electrical_insanity says:

    While there is a shortage of boards, could you please post the schematics for the Displayduino as well as the bootloader files so that folks that want to use your LEDmatrix, ServoMatrix, and other products can? I would love to purchase these, but I refuse to buy something I won’t be able to use until after my summer (and project months) are over.

  26. dargs says:

    Hi. I managed to skillfully break my mini-usb port and then fail in repairing it. I think maybe the FTDI chip has been damaged too. (only seeing 1.0 V DC across +/- of the mini usb port).

    I do however have the last code I uploaded running, so the rest of the board appears good.

    I have a pocket-AVR programmer, and I’m wondering how I might be able to upload code, ideally using the Arduino IDE still…. I’m not up to speed on AVR Dude just yet, but do I need to compile and upload using that? any hints would be much appreciated have an exhibition opening in <24 hours!

    Thanks
    dargs

  27. dargs says:

    Hi. I’ve damaged my Displayduino, and getting a bit desperate.. My work has a Led Matrix all wired up ready to go, but I can’t upload code to my Displayduino.

    I have a spare RS485 chip from a dMX project, and am trying to use an ATmega328 arduino to send RS485 to the LedMatrix instead.

    I’ve tried to modify the MatrixNet library, I’ve changed the ATmega644 bits to ATmega328, but still not having any luck,… I’m still a bit new to the direct access coding.. The when I change the define’s in the library files to 328, it doesn’t compile anymore..

    Any help would get you lots of beer if you’re ever in Melbourne, Aus!
    dargs

  28. jeff.nappi says:

    I have a DisplayDuino644 and 4 LEDMatrix boards for sale if anyone is trying to get their hands on these! jeffrey.nappi _at_ gmail.com $80 each… I will also include connectors for all of the LEDMatrix boards!