A bunch of Xadow questions

I just got my set of Xadow modules in the mail. I’m very excited. They are easy to put together and I got a few demo sketches running. I do have a few questions, though.

  • 2.2.18 is the latest FTDI driver, dated mid-2012. Will that work with Mac OSX Mavericks? So far it has, though I had to reboot my mac first.

  • Does Xadow work with Arduino IDE 1.5.4?

  • Do I need to upgrade the USBPort.cpp and boards.txt if I already have IDE 1.5.4, which also includes Leonardo support?

  • Docs say to use Leonardo, but the new boards.txt includes a Xadow definition. Which should I use? So far using Leonardo is fine.

  • I can get the battery voltage from the main board. Is there a way to turn that into an estimate of battery life, or at least a percentage? What are the voltage ranges?

  • Working with the LED shield. It appears to only do letters and numbers. I see that some punctuation work, like comma and exclamation point. What is the full set of characters it supports?

  • Is there a way to reflash the LED module itself? Can we look at the source to the LED module? (never mind, I found it on the wiki).

  • Is there a way to control individual LEDs so we can make pictures? Can we make the module blink instead of scrolling?

  • LED Shield I’m calling dispString(“abcdefg”,7,300) per the demo code. It does show the letters scrolling, then it briefly shows ’05’ sideways before going back to the letters. Why?

  • Is there a way to change the address of the LED board so I could use two of them?

OLED module:

  • the OLED_Brightness_Control example does not compile. The first line inside of loop() is malformed. It’s just "Serial.” After I commented that out it works. Can I update this in the wiki?

6DOF module:

  • example code doesn’t compile.
    Xadow6DOFTest:14: error: ‘MPU6050’ does not name a type
    Is the .h file not set up correctly?

BLE module:
Are there any docs for it beyond this? Is there an API? Can I query the radio status, change parameters, or add profiles? The example code just shows manipulating a bunch of PORT variables, no actual API.
seeedstudio.com/wiki/Xadow_BLE_Slave

Thank you. What is the best way to contribute documentation or code back? Should we edit the wiki or something in github?

Thanks,
Josh

I’m able to get the 6DOF example to compile now. When you check out the source there are two dirs in it. The dirs themselves should be put into the libs directory, not the parent source repo dir. Thus your libraries dir will have I2Cdev and MPU6050 in it.

Now I can get raw accelerometer and gyroscope values, but I’m not sure what to do with them. Looking at the MPU6050 source it appears that this chip can do a lot more. There’s a lot of functions related to interrupts and thresholds. Has anyone used this chip yet?

  • Josh

I’ve made some progress on the LED module. The wiki provides a source download for the LED. What I didn’t realize is that this is not the code you call to talk to the LED. The code on the wiki page does that. The code you download is to run on the LED module itself, since it contains a tiny Arduino itself with hard coded firmware.

This is a cool system because it lets the LED module handle animation while your main code works on something else. The downside is that this firmware is limited and buggy. In particular the LED shield will always print ‘05’ sideways after your command requests are complete.

If there was a way to reflash the LED shield then we could fix this firmware and add new features, like sideways numbers and setting individual pixels. Any ideas on how we can do this? The LED module does have some exposed pads on the circuit board that have tiny scratches on them. I think these were used to original flash the module at the factory. Hopefully we can reflash it at home too.

Any official thoughts from the SeeedStudio team?

With Help from J Rosenthal I found this updated firmware:

github.com/Xadow/Xadow_LED_5X7_ … rmware.ino

More importantly, the comments in the file include instructions for reflashing the LED module! The module uses a small Arduino internally. We can reflash it using an FTDI cable. I’ll report on my progress.