Installing Neopixel ring

Discussions and questions about the Crazyflie Nano Quadcopter
Post Reply
humblehacker
Member
Posts: 34
Joined: Thu May 16, 2013 7:42 pm

Installing Neopixel ring

Post by humblehacker »

It just so happens that I've ended up with an extra Neopixel ring, and while looking up things to do with it... Voila! It looks great on the CF! I'd love to try it but I'm a little unclear if there's any additional software modding that needs to be done or if its written right into the new firmware. I'm also unclear as to how you guys managed to attach the ring to the PCB. Which headers did you solder it to? Did you need to attach it on any other points besides the headers?
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Installing Neopixel ring

Post by tobias »

They are really fun to play with. Make sure to check out this and this blog post.
humblehacker
Member
Posts: 34
Joined: Thu May 16, 2013 7:42 pm

Re: Installing Neopixel ring

Post by humblehacker »

OK so based on the blog posts and pictures I think I figured out the pinouts, but I would like to confirm before I do any soldering... It looks like

Code: Select all

Neopixel GND-> CF PIN 19/AGND, 
Neopixel VCC->CF PIN 16/VCOM, 
Neopixel IN-> PIN 12/EXT_SPI_MOSI/AIN.  
Does this look correct?
Also, the latest instructions for flashing the firmware on Linux I can find points to the "Crazyflie_2014.01.0.bin" version. Are there any instructions for updating to the version currently hosted on Github?
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Installing Neopixel ring

Post by tobias »

It would be better to connect it to DGND:

Code: Select all

Neopixel GND-> CF PIN 18/DGND, 
Neopixel VCC->CF PIN 16/VCOM, 
Neopixel IN-> PIN 12/EXT_SPI_MOSI/AIN.  
The neopixel hack requires that you build your own firmware and since I guess you would like to play around with cool effects you must be able to change the code anyway. To get quickly going I would use the virtual machine. It has everything setup, however you need to switch to the neopixel branch in git though.

Open a terminal and cd into the Crazyflie firmware directory

Code: Select all

cd projects/crazyflie-firmware
then pull the latest changes

Code: Select all

git pull
then checkout the neopixel branch

Code: Select all

git checkout -b neopixel_dev
After that you can launch Eclipse and start coding. The neopixel stuff is in neopixelring.c
humblehacker
Member
Posts: 34
Joined: Thu May 16, 2013 7:42 pm

Re: Installing Neopixel ring

Post by humblehacker »

Wow, i'm surprised that in my impatience I actually managed to figure out all the steps you outline except for the part about editing the neopixelring.c file in Eclipse. I realized my error about pin 19 by cross checking against the closeup photos you posted in the blog and connected to the pins as suggested.
Then I downloaded and ran the VM in Virtualbox and somehow discovered the Neopixel code was in a different branch. Although rather than do a git checkout I simply did an https clone to a new folder and ran the same make commands from the default firmware instructions. To my surprise it compiled without error and I exported the new binary to my other computer that runs the CFClient. The bootloading process seemed to run smoothly as well.
So my CF should now be running the firmware from the Neopixel branch without any modifications. Are there any Neopixel features that are enabled by default in the firmware? Or do I have to add my custom commands via eclipse for any of the Neopixel features to work?
humblehacker
Member
Posts: 34
Joined: Thu May 16, 2013 7:42 pm

Re: Installing Neopixel ring

Post by humblehacker »

Whoops... I just figured out that the https git clone didn't actually clone the neopixel branch, so I guess I've got to do it all over again anyway. BTW- Great job on the VM! It really does pretty much work out of the box! Considering all the updated packages, drivers etc... that have to fit into place, I wasn't expecting the firmware to compile so easily!

EDIT-
The git pull method returns an error about commiting changes done to the makefile, and git commit runs into public key issues. At first I thought this was because I had already compiled the firmware once, but the same thing happened after I did a fresh install of the full VM.
So this time I made sure to perform git clone for the neopixel branch specifically via

Code: Select all

git clone -b neopixel_dev https://github.com/bitcraze/crazyflie-firmware.git
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: Installing Neopixel ring

Post by tobias »

Sorry for a late late reply, we had "midsummer" here in Sweden and had some days off.

Strange that git returns errors. I tried the instructions I posted without any problem but I did start from the already cloned project. Can you try that?
Post Reply