LED ring not working with flypi.app

I'm a bit confused which github to use, I originally found it all through your publication and worked out of https://github.com/amchagas/Flypi but since found https://github.com/prometheus-science. I'm working with v0.2 of the flypi PCB but again since I've seen v0.3 and even a picture for v0.6 which looks completely different floating around.

I've now soldered in the 12 LED neopixel ring and I'm able to upload basic code to test it through the arduino IDE just to turn on colours etc. However neither the python scripts for amchagas or prometheus-science work once I flag on the LED ring (works on for the camera). Amchagas brings up the GUI but none of the buttons highlight or respond and the program essentially freezes, prometheus-science when executing the run.py in terminal doesn't throw any errors back but also doesn't bring up the GUI. On the arduino IDE I've added the adafruit neopixel library. The only difference is I've used pyserial rather than serial as I was getting an error of "AttributeError: module 'serial' has no attribute 'Serial' " without the pyserial.

Anyways a bit stick and a bit confused with githubs and versions etc, any help would be great.


  • Success, managed to sort this out now. One of the other posts PCB Printing had a similar issue. Basically I needed to install Adafruit GFX library on the arduino IDE and upload the development test file

  • edited August 2018

    ok so I'm slowly moving forward however now the LEDs aren't all in sync together, each slider on the flypi GUI controls about 1/3 of the total LEDs rather than a 1/3 of each LEDs RGB. https://drive.google.com/file/d/11oMhAfWI1Q64CkgBtSEgYeIDBsc9rGdt/view?usp=sharing

    EDIT: Solved, the arduino development ino was defaulted to RGBW instead of RGB, as soon as that was changed the lights are all nicely in sync and working.

  • edited August 2018

    Last issue I'm having is getting the servo to move, when I click on the GUI I can hear the response but it seems the voltage may not be enough to drive it. Movie:

    You can kind of see that it glitches the LED ring also, so somehow the signal is being shared I guess.

    Any help on the above issues would be awesome, cheers.

  • Hi Matt,
    Sorry for the late reply. Didn't see this message 'till now.
    Glad to hear you managed to figure the LED problem out. We tested a new version of the ring with an extra white led per bit and didn't make a note on the repos. Adding it to the TODO list.

    About the servo, that seems a bit odd. Might be related to the pin out not being correct with the servo cables. Could you send an image of the cable connected to the pcb (trying also to show the print on the board)? and the PCB version you are using?

  • Flypi v0.2:
    Servo still responding as seen in the movie, squeaks but doesn't turn:




    In other news added and tested the high powered UV LED today through high power line 1 and that's working perfectly.

  • edited August 2018

    Is the servo you use continuous or non continuous? In the old repository on flypi github on the material list the link is to a non continuous (180 limit rotation) but one of the notes say continuous. We brought the one on the link (non-continuous) which could be why we are having problems?

    Also I'm a bit confused with the wiring, after googling the servo just to double check:
    Orange wire = Signal
    Red = Postivite
    Brown = Negative

    Also there's another contradiction (I think) with your circuit diagram has +s- suggesting from left to right red, orange, brown but on the user assembly from left to right in the populated circuit board you have orange, brown, red.

    Any clarification would be super helpful, cheers

    The rest is all going well :)

  • Hi Matt,

    The servo should be a continuous rotation one. Sorry about the discrepancies in the old repository, we started with a good intention of keeping things as clear as possible (paper repo and further development), but we now realised that this was a mistake.

    After this big update (merge on the old repo), it should be easier to track down these annoying little problems.

    About the PCB, there might be indeed a difference in between the user manual and the circuit diagram.
    The red cable should go on the pin that is connected to the transistor that comes right before the servo port.
    If you turn the board around, one of the two remaining pins should have a "cross like track" around it, like in the image below.

    The orange cable should then go to the remaining one.

    Hope this helps!

  • ok so new continuous servo came and is all but working perfectly, the only is that as I start up the GUI (run.py) the servo auto comes on and doesn't stop until I press the "Do it" button after I do that it stops and then works as it should with the slider/ button. Any ideas how to stop it from auto starting as the program starts up?

  • Cool that the servo is working. For that I would add the following code to the Arduino script, as the end of the "void setup" loop, but before the "Serial.println(">"); line:

    digitalWrite(servoOnPin, LOW);

Sign In or Register to comment.