BlinkyTile Programming
Hi, I just received my BlinkyTile kit today, got it assembled, and it's working great. Thanks!
Now I'm ready to start writing my own light patterns and have a few questions, if/when you get a chance, no rush:
* Should there be a new forum category for BlinkyTile?
* I assume I can use Arduino/Teensyduino?
* What board should I select?
* Is this the default program, if/when I want to revert back? https://github.com/Blinkinlabs/BlinkyTile/blob/master/bin/lightbuddy-firmware-v100.hex
* What LEDs are used, are they NeoPixel compatible?
* Can I use the fantastic FastLED library?
Again, no rush, just wanted to get this started.
Thanks!
Jason
Now I'm ready to start writing my own light patterns and have a few questions, if/when you get a chance, no rush:
* Should there be a new forum category for BlinkyTile?
* I assume I can use Arduino/Teensyduino?
* What board should I select?
* Is this the default program, if/when I want to revert back? https://github.com/Blinkinlabs/BlinkyTile/blob/master/bin/lightbuddy-firmware-v100.hex
* What LEDs are used, are they NeoPixel compatible?
* Can I use the fantastic FastLED library?
Again, no rush, just wanted to get this started.
Thanks!
Jason
Comments
Awesome, glad to hear you're up and running!
*I just created the forum category - thanks.
*So - we're still working on the details for programming the board itself. It's not directly Arduino-compatible. I believe it is the same chip as the Teensy, but I believe that we've been working with bare tools (compiling via command line, and using command line tools for upload.)
*However - the boards can be addressed just like a BlinkyTape via serial, so all of our Processing examples will work: http://wordpress.blinkinlabs.com/blinkytape/processing
*That does look like the proper firmware (I'll confirm with Matt.)
*The LEDs are actually a new type with a more advanced microprocessor on them - they actually have a DMX-compatible layer which could also be used for control.
So...yeah there are a good number of details to come, so stay tuned to the BlinkyTile pages, and please keep putting up questions here!
And thanks again for backing!
-Ethan
Thanks for the response!
* I moved this discussion to the new BlinkyTile category, thanks.
* I totally understand that you're just getting the hardware out and are still working on guides and documentation, no problem, and no rush.
* I'm able to create my own patterns with Processing over Serial, it works great.
* I really hope to be able to use Arduino/Teensyduino and FastLED to create my own embedded apps, if possible.
* If/when this is possible, I plan to order another kit or two for a battery-powered, interactive project idea I have.
Thanks again!
Jason
We'll also have additional kits available soon - we'll be making announcements when that happens.
Thanks for you patience!
I slightly modified it for the BlinkyTile (since mine has only 12 LEDs): https://gist.github.com/pup05/42dc985a6dbf166dd203
Please note the delay(8) towards the end. This is necessary to keep from locking up the BlinkyTile controller. Delays smaller than 7 locked mine up.
I looked at the code, and the example makes sense just walking through it on screen, however, I can't get it to work.
I used println(Serial.list()) to confirm that COM1 was the only active port (at least COM1 was the only output from println and is the only port that shows up in Device Manager). I've plugged the controller board into a USB port directly on the computer (a USB 1.0 port, no hub) and matched the baud rate of the constructor call to the rate set in the device manager (9600). I can't seem to get even this simple program though to create any behavior on the tiles themselves. I can get some output on the computer using fill and draw calls (so the program is working) but the controller doesn't seem to change at all, it still has the 4 basic programs on it and the behavior of the two push buttons and the attached tiles doesn't change.
I'm sure I'm missing something simple. I'm coming from a very basic Arduino experience and expecting a 'write to the board' type command, but it seems that doesn't exist in Processing other than as 'run'. Is there something I should be doing for the controller board aside from pushing bytes?
Thanks again for, hope you can help.
Also, I don't think that baud rate is right - I believe that it's 115200.
I believe the issue is that you need a driver. We're working on a new version of PatternPaint that will automatically install the driver, however I just made a testing version:
http://blinkinlabs.com/wp-content/uploads/2014/12/BlinkyTile-Driver-beta.zip
You'll need to use the Device Manager to install it- Ethan might be able to help out here- and I'll continue to work on getting the automatic one finished.
The baud rate setting shouldn't have any effect on this, the BlinkyTile controller ignores it.
I wired my BlinkyTiles up to a Teensy 3.1 (also tested and worked fine on an Arduino Uno) and got the ColorPalette example by Mark Kriegsman running, it looks fantastic! https://github.com/pup05/BlinkyTileFastLED
I purchased a Blinkytile and I am integrating it into a wall art project. This requires some custom light sequences. The Blinkytile webpage says "Make patterns easily with the graphical pattern editor" which I assumed referred to Pattern Paint. Hooking up the Lightbuddy to Pattern Paint allows for the live preview just fine, but when attempting to upload to the board, all I get is the error "Pattern upload not currently supported for Lightbuddy!" Am I missing something? Or is my only option to learn Processing?
Thanks for getting a BlinkyTile kit! It does refer to PatternPaint, and we're just now getting support for them working. Do you use OS X or Windows? I'll put out a build this afternoon that has upload support.
Here is the new version of PatternPaint, that should save to BlinkyTile- let me know how it works:
https://github.com/Blinkinlabs/PatternPaint/releases/tag/2.0.2
Ok! Here is a release version of PatternPaint, it includes the above BlinkyTile support, as well as some other polishing: https://github.com/Blinkinlabs/PatternPaint/releases
Hi all. I'm trying to figure out how to program my BlinkyTile. So far:
Any idea what I might be doing wrong? Thanks.
Hi dbtleonia- have you had any luck with this? We need to rewrite that example, it unfortunately doesn't work with newer versions of Processing
No luck yet. This was using Processing 2.2.1. Are there any examples of working code I can copy? Thanks.
Sure- the examples in the BlinkyTape processing library should work (I totally forgot the ones that were written out in the website). ColorChooser is probably a good place to start: https://github.com/Blinkinlabs/BlinkyTape_Processing/tree/master/examples/ColorChooser
And I think we wrote the examples for Processing 2.0!
Yes, ColorChooser works, thanks very much!
Just got through re-programming an address on one of my BlinkyTiles (http://blinkinlabs.com/blinkytile/changing-addresses-on-your-tiles/).
好玩儿!
I need this because I'm planning to cobble together some of my left-over BlinkyTiles to make a extra dodecahedron (to maybe decorate a robot, or take to Burning Man, or something).
Thanks to Matt, Honghong, and the rest of the Blinkinlabs team for creating something great. Hope to see you out on the playa this year. I'll be looking for the Blinkinlabs Camp.
Cheers,
-Jack
BTW - I've managed to get my BlinkyTile dodecahedron working very nicely with both the Arduino Leonardo and Adafruit Metro Mini, using Arduino IDE 1.8.5 and Ubuntu 14.04.
Daniel Garcia and Mark Kriegsman's FastLED site (http://fastled.io/) is a great resource, and where I mostly learned how to program these things. I've posted a few notes about how I prepared Ubuntu for the Leonardo (https://symbolicdomain.wordpress.com/2018/06/24/leonardo/), as I had read that the Leonardo could sometimes be a little glitchy with Ubuntu. So far no problems.
谢谢!
-Jack
That's awesome! Glad you were able to get the programming going, and thanks for sharing your instructions.
FYI, just finished programming the Leonardo and Metro Mini to control BlinkyTiles using an ir receiver and remote.
In case anyone is interested, I explain more, and provide links to code and resources here (along with a comment or two about how great Team Blinky and their products are):
https://symbolicdomain.wordpress.com/2018/07/02/arduino/
Cheers,
-Jack
Is there an easy way to restore/update the BlinkyTile's Light Buddy firmware?
I'm asking because one of my Light Buddies is acting kind of quirky. Specifically, it doesn't light up the LED the way it's supposed to when you re-program the BlinkyTile address, although it seems to do everything else OK. I have another one that does everything (addressidentify.py, addessprogrammer.py) just fine. I'm thinking maybe there is a glitch in the python interpreter on the Light Buddy, but that's just a guess.
I know there is a way to compile and install everything, but that seems like a real bear.
Checking back on our repository, it seems that we only actually released one version (v100) of the LightBuddy firmware, so they should be the same. Does the LED on the other board work otherwise?
There are pre-compiled versions of the firmware here, that you could upload using dfu-util (easy on Linux, slightly more complicated on macOS and windows):
https://github.com/Blinkinlabs/BlinkyTile/tree/master/bin
Note that the v100 version is what shipped; the v200 version had some major bugs and was never released.
The quirky LightBuddy runs it's pre-loaded LED programs fine. It even seems to run python programs like "green.py" and "shimmer.py" OK.
"addressprogrammer.py" doesn't work - doesn't flash the LED and doesn't set addresses.
This is what I get when I try to download firmware to LightBuddy:
foustja@foustja:~$ dfu-util -a 0 -D ~/Downloads/lightbuddy-firmware-v100.dfu
dfu-util 0.5
(C) 2005-2008 by Weston Schmidt, Harald Welte and OpenMoko Inc.
(C) 2010-2011 Tormod Volden (DfuSe support)
This program is Free Software and has ABSOLUTELY NO WARRANTY
dfu-util does currently only support DFU version 1.0
Cannot open device
Opening DFU USB device... foustja@foustja:~$
Doesn't seem like it's doing anything; are my dfu options wrong?
BTW - good LightBuddy doesn't seem to have any problems, except that is doesn't light up the LED on the tile that is attached to the address programming cable when I run addressidentify.py and enter its address. Other tiles can be ID'd, but for some reason the cable blocks the LED from flashing on the one it's attached to. I don't know if that's normal or not.
Try this:
dfu-util -d 1d50 -D ~/Downloads/lightbuddy-firmware-v100.dfu
Depending on the dfu-util version, it might help to start the LightBuddy in bootloader mode instead of relying on dfu to do it in software. To do that, unplug the LightBuddy from the computer, then hold down both of the buttons on the lightbuddy while plugging it back in. The computer should recognize it as a 'lightbuddy bootloader'.