CountDeMonet wrote: October 9th, 2017, 3:58 pm The issue is the serial communication with the sound board. If I use a 5 inch cable I am able to list the tracks using the example from adafruit. If I hook it up with the 5 foot cat5 cable I get garbage back when I try to list the tracks. I've tried 2 different nanos from different manufacturers to make sure there isn't an issue there.
Code: Select all
Found 4 Files
0	name: ⸮⸮⸮
s 00020	size: 0
1	name: 
Adafruit F	size: 0
2	name: 
FAT 00007F	size: 0
3	name: Files 00020	size: 0
I'm going to try a larger cable to see if it's just the cat 5 it doesn't like. I think I'm going to have to scrap this processor board tho and start over with the arduino in the pack. First thing I'm going to test is the latency on the switches...

Moving the arduino to the pack doesn't change the connection diagrams. It just changes how I do the boards which is always a fun challenge. Glad I didn't get boards made by oshpark.
Hello, first time posting here. I don't know if you ever resolved this on your own but I figured I'd share what I found.

I've been working on my own pack very slowly over the past year and originally was going to use a raspberry pi zero and python to put together the electronics kit. I finally decided against that method primarily due to the boot time of the raspberry pi and also it was taking more pins to control the type of LEDs I had selected (sparkfun luminati's which use 4 pins instead of the adafruit 3 pin). I came across this thread and decided to give the Arduino a go.

I was able to get it all running pretty smoothly with short connections like you had when you were testing it out on breadboards. And even though I saw that you had trouble when you ran a long cable between the arduino and the soundboard I still decided to give it a shot to see what happened.

I was able to duplicate your issue exactly, using a long (5 - 6 ft) 4 wire cable for LEDs instead of cat5 or anything like that (i.e. no twisted pairs or any sort of shielded cable). I noticed that the response data was consistent and after a little reading realized that it was actually the output of the soundboard when it resets and comes back online. Because of that, I decided that the TX/RX lines were actually functioning and decided to instead focus on the RST pin since I believed that the soundboard was being reset during transmission. I found a post (https://forums.adafruit.com/viewtopic.php?f=22&t=123853) where it was recommended to use a "stronger" pull-up resistor on the RST pin. Well with a little bit of trial and error, and not connecting it to 3.3 V but rather the main 5 V rail, I found that a 220 ohm resistor did the trick. A 1k or higher didn't work.

Now I don't exactly know/remember why this works. I believe on the high low swing of the TX/RX signal the induced current is swinging negative relative to ground pulling down the voltage on the RST pin and causing a reboot. The additional pullup resistor keeps the voltage high until the RST pin gets set to an actual output low. On that note, I tried a small 1 uF electrolytic cap to ground on the RST pin without the resistor and it worked as well. I would argue that it is probably the safer of the two options for the soundboard since we're not applying something closer to 5 V on a 3.3 V pin. I didn't do anything to the ACT pin but it may need the same treatment.

Anywho, also wanted to thank you for all your hard work Count!
That is interesting. I never tried just removing the rst connection and assuming the board initialized. That is something you could do. The RST is only used to verify the board is alive and I took that right from the adafruit code. Really funny that the adafruit developer claim they never connected that to the arduino in the second post in that thread :)

Technically the ACT could also be omitted and always call the STOP before playing but I did see some extra pauses when doing that which is why I added the ACT line. For some reason calling stop was adding in some sort of extra delay if the board was not actually playing. Seemed to be in hardware as I didn't see any delays in the adafruit code.

I was running out of time so had no choice but to change my plans. Let me know how it goes for you with that fix. That is really interesting
Yeah I looked through your code and other than during setup (!sfx.reset()) RST isn't used. I also see that ACT is almost pointless as well. I read on the Adafruit forum somewhere that the VS1000 (chipeset on the soundboard) doesn't like receiving stop commands when it is not running and also that it is very sensitive to supply levels and browns out easy (wish I kept the links). I looked through the datasheet and UART papers on the VS1000 (kind of quickly) but didn't find anything to suggest why. Based on the Adafruit comment I'm not really sure how much they tested the UART functionality of the board other than making the example sketch. I also took my long cable and coiled it up and tested the communications and it still worked so I really don't think the long cable is doing anything to the TX/RX pins.

I modified the code a little bit to make the theme stop playing when the theme toggle switches off and realized that playing was inverted (confirmed with an LED). I still want to leave ACT in use to avoid a reset on the soundboard if it really doesn't like a stop command while not playing so I don't have audio hickups. I did also find an issue when I first setup the arduino with your code from git hub. In Neutrino_Wand_With_Graph.ino line 326 I see that you have if (fire_button == 0) but when I first ran the code (I had eliminated sound and bargraph at the time) I found that the fire mode would only activate when the saftey_switch would toggle on and that it would vent if I pressed the fire button. Changing it to if(fire_button ==1) made everything work right. Not sure why that would be the case if it worked fine for you.

I also modified it so that I could put the powercell LEDs at the end of the chain because in my setup I wanted the four cyclotron lights, then the four vent lights, then the powercell. Because of the way I built my pack it's not easy to take the top portion away from the motherboard (top portion is separate from the cyclotron portion) so I wanted to minimize how many wires and things were up there so I don't have to pull it apart much. I simply added more int variables for powercellStart and powercellEnd and put +powercellStart into the powerstick.setPixcelColor commands to offset the total value while keeping your logic intact. It's a little ugly in my opinion but works plus I didn't have to change much.
My buttons are Normal Open. Is it possible that yours are Normal Closed?

In my code the ACT is only used to know if I need to stop a currently running track or not. If I could have gone without that wire I would have but I was seeing hiccups when calling stop when something was not playing. I also ran into that on my new project and it was a lot worse because I've got motors driving a robot.
cool, glad you got that figured out.

I never did do a full size proton pack. I bought the spirit pack and did a number of upgrades to it but never the full electronics package. I've been meaning to get those boards ordered from oshpark and also create the arduino/soundboard daughter board but never got around to it. My son wants to be Han Solo this year so I got side tracked on another little project :)https://vineripesoftware.wordpress.com/ ... ech-droid/

Can you share a picture of how you have things wired right now? A closeup of the arduino and sound board would help. Another thing to try is to load up the adafruit example, update the pins, and then upload and run on the arduino. I use that example to verify files are seen by the board and stuff. Helpful little tool. See the tutorial here

https://learn.adafruit.com/adafruit-aud ... io-control
So, heres a thing I wouldnt mind getting an opinion on.
I have my pack and wand wired up with the "Neutrino_Wand_With_Graph" option. Everything works great, but the bar graph on the wand doesnt light up with the same brightness on the top 4 or so lights when the wand is turned on. However when it is firing the light brightness is fine. Any idea what may cause this?

Here is a short video:

That is incredibly odd. The only thing I can think of to look at would be your voltage for the sx1509. If you are pulling the 3.3v off the arduino and then putting it thru the tube to the wand like I did then it's possible the voltage has dropped below what is needed for the sx1509. Voltage will drop over distance and it's also possible there is some additional resistance in the cable causing some current drop. I do have to admit that it is odd that the 10 led graph is consistently lit but the 5 led graph is at more than half the brightness. If it wasn't full brightness for the firing sequence I'd be saying it's likely a bad or off value resistor network.

If you have a multimeter check the 3.3v line going into the sx1509 when under load. See if that drops at any point. If your setup is like mine with the arduino in the pack then I'm going to guess the resistance from the length of wire could be the cause and it just happens to be the second led graph showing the issue. Maybe it's a bit off spec. In the normal idle sequence we are lighting all of the LEDS to full then bringing it back down. If there was going to be a power issue it would be as more leds are lit. The firing sequence only lights 4 leds at a time I believe so the current draw is a lot less.

If you have the arduino in the pack and sending the power via the wire the solution may be to add a buck converter off the 5v line from the pack set to 3.3v into the sx1509.
You could always get one of the rubber Rubies packs.
Looking good Octafternoon!
The light inside the wand looks really bright. Is that just one pixel doing all of that?

@CountDeMonet I Picked up a bunch of 5v to 3.3v steppers, stuck it in the wand right next to the board that controls the bar graph and the thing with the top few lights is still going on. You think taking out the resisters on those lights might fix it?

These are the step down modules I purchased, BTW
https://www.amazon.com/gp/product/B07FC ... UTF8&psc=1
Nice work Octafternoon. The pack is looking really nice.

NotSabbat, You can remove the resistor network and plug it in directly. The current in the setup I have is low enough that it should not cause any issues. See if that causes the lights to be on full brightness. The only other thing I can think of is replace the resistor network with a new one. It's possible something is wrong with it. I think someone else I worked with on the github site had a bad network at one point. The stepdown board you found looks like a good one. Either way that is a good idea for the lower voltage in the wand I think.

I've been building a small scale proton pack for my youngest boy for halloween and I'm just moving on to the electronics now. I'm a bit of a newbie when it comes to dealing with arduino but I've recently just hooked up my nano, connected up my breadboard friendly adafruit individual neopixels and my neopixel sticks as per your fritzing diagram for the minimal spirit pack and uploaded the code but nothing is lighting up and I'm just wondering if i may have missed a crucial step somewhere. I tried doing a basic blinking tutorial with the built in LED on the board and got that to work but when uploading the code for the proton pack, it uploads fine but then nothing happens with the lights. Any help or advice would be greatly appreciated.

I did double check to make sure that I'm plugged into D2 and D3 and the connections should match up with the fritzing diagram but none of the neopixels turn on. I hope the photos are all right. I can definitely see the nano receiving information from my mac once i upload as one of the lights blinks rapidly on the board.
  • 1
  • 12
  • 13
  • 14
  • 15
  • 16
  • 20

You have a point but there are going to be those w[…]

Alice frame curve

I got the more expensive rothco frame sold here. T[…]

Well, the test works. Cant make too much progre[…]

GB2 pop mech

So I am debating on having the pop mech on my TC t[…]