Struggling to get FadeCandy working

I have two 32x16 matrices, a teensy 3.2 and the smartmatrix shield.
I have the Feature Demo sketch running on the panels.
Its taken my quite a while to get this far! Don’t know what I’m doing. Can anyone help me?

I’m aiming ultimately to stream video to the panels via the Syphon Framework.

Initially though I’m trying to get Fadecandy working.
I’m using Arduino 1.6.7 and trying to compile the firmware sketch but I’m getting the following errors:

/var/folders/8n/kjpgjwvx5pv6c4bs2rpcpd380000gq/T/buildd118a204e1c7614913ae9c929cc3dafc.tmp/sketch/Layer_Fadecandy.cpp.o:(.rodata._ZTV16SMLayerFadecandy+0xc): undefined reference to SM_Layer::fillRefreshRow(unsigned char, rgb48*)' /var/folders/8n/kjpgjwvx5pv6c4bs2rpcpd380000gq/T/buildd118a204e1c7614913ae9c929cc3dafc.tmp/sketch/Layer_Fadecandy.cpp.o:(.rodata._ZTV16SMLayerFadecandy+0x10): undefined reference toSM_Layer::fillRefreshRow(unsigned char, rgb24*)'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling.

Also can’t get the fadecandy server running on 10.9.5 I’m getting these errors:

dyld: lazy symbol binding failed: Symbol not found: _OSAtomicIncrement32Barrier
Referenced from: /Users/reghome/fadecandy-smartmatrix/bin/./fcserver-osx
Expected in: /usr/lib/libSystem.B.dylib

What version of SmartMatrix Library do you have installed? You need SmartMatrix Library 3.0, and not a beta version. It sounds like you might have a beta version installed.

Can you run the normal (not SmartMatrix) fcserver-osx?

I think you are right about the beta version. I downloaded from github and this time when I uploaded the sketch the boards displayed fadecandy and then went dark which I presume (hope) means its working.

No luck with the server though. Yes the normal fcserver-osx runs fine but with the SmartMatrix one I’m getting:

Last login: Thu Jan 21 15:27:54 on ttys001
gallery:~ reghome$ /Users/reghome/fadecandy-smartmatrix/bin/fcserver-osx ; exit;
dyld: lazy symbol binding failed: Symbol not found: _OSAtomicIncrement32Barrier
Referenced from: /Users/reghome/fadecandy-smartmatrix/bin/fcserver-osx
Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _OSAtomicIncrement32Barrier
Referenced from: /Users/reghome/fadecandy-smartmatrix/bin/fcserver-osx
Expected in: /usr/lib/libSystem.B.dylib

Trace/BPT trap: 5

[Process completed]

I’ve built the fcserver from source now and it seems to be working ie says it is listening. Reports a new opc connection when I start the processing sketch.

No output though.

I have a couple of questions which might relate to it.

I’m a bit confused about the bootloader hex file. Do I need to do anything with this? I’ve just been loading the SmartMatrix_Fadecandy sketch onto the teensy via teensyduino.

Also I have 2 32 x 16 panels connected in series. Do I need to adjust any config files anywhere? Or is this even supported?


The bootloader isn’t needed for the SmartMatrix Fadecandy firmware. Just use the Teensy Loader to program the SmartMatrix_Fadecandy sketch into the Teensy.

You do need to adjust the sketch configuration for your display size. Make sure you’re using the smartmatrix32x32.json config when your start fcserver. The server needs to know to map output to “type”: “smartmatrix”, not “fadecandy”. (The 32x32 config is fine as your 16x64 panel has 1024 pixels, same as 32x32).

In SmartMatrix_Fadecandy.ino: kMatrixWidth and kMatrixHeight need to match your display, and set kPanelType to SMARTMATRIX_HUB75_16ROW_MOD8SCAN for 16x32 panels. Also adjust FRAME_WIDTH and FRAME_HEIGHT in fc_defs.h to match kMatrixWidth/Height

You should see at least the text “fadecandy” scroll across the width of your display when the sketch starts.

Hmm I’m getting there but not there yet!
“fadecandy” scrolls across the width of the display.

I start the server
gallery:server reghome$ ./fcserver smartmatrix32x32.json
It reports:
[1453412436:4999] NOTICE: Server listening on
Run the processing sketch and I see:
[1453412441:9507] NOTICE: New Open Pixel Control connection

But no output.
I have made the adjustments to the .ino and fc_defs.h

Anything else you can think of?

What are you using to send video to the panels? One of the Processing sketch examples? Can you open the web view to the server in your browser and turn all the LEDs on as a real simple test?

Yes I was using processing.

If I open the ganzfeld.html file in the examples folder (with Chrome) it reports that it is connected but I get no output. If the server isn’t running it reports not connected so that seems good. However there was no New Open Pixel Connection message in the server terminal window like I had with the processing example.

If I open the index.html in the server>http folder it says not connected/no devices/browser not supported. But I tried this with the real fadecandy server in Chrome and Firefox and got the same results so maybe this is irrlevant?

When I run the server shouldn’t I get some message when I plug the smartmatrix board in?

Thanks for the help by the way :slight_smile:

Ok getting even closer now. Actually have output!!

I cloned the server again from git and rebuilt it and now I get a USB device SmartMatrix attached message.

Just need to configure the panels now. The ganzfeld.html sketch lights up the top half of each panel.

EDIT maybe that is just the way the html page is written though cos the Processing patches seem to fill the whole screen. Yay! Think I might have got there.

As I recall, the html page is hardcoded to turn on 512 LEDs (the max Fadecandy can handle) so only half get turned on in a 32x32 or 16x64 display.

Hope it’s working well for you now! Please post back and share your project once you have everything working, it would be cool to see!

Yes seems to be working fine.
I’m just setting up a couple of panels for a band who are going to mount them in an amp rack and have them on stage, responding to different instruments I think.
Also put a camera on them and project the feed behind them.
I’m just getting the panels to work and be fed from vj software, probably Resolume, via Syphon.
I’ll put my processing sketch on the forum and hopefully post some video at some point in the future when the band have it all working.
Saying that though, as it has taken loads longer than expected I might try and do my own project to justify the time…