10/18/2023 Map Stopped Working?
Visit this post for the fix
Almost done with my build, but I've got one last thing to take care of: how have you wired everything up so that it's easy to swap out parts, and add extension wires. I've got everything working, but to finalize the build I want a real wiring harness of some sort.
The history: I started off prototyping with a regular push-in breadboard, but I had a ton of weird problems with it. I'd get random (or not-so-random!) reboots. My favorite was the time that the light sensor reading "dark" would cause the entire rig to reboot, so when I put my hand in front of the light sensor, boom!, the Pi would reboot. I also had trouble pushing enough voltage through the breadboard to run two strands of lights while being stable. I read another post on the form that said to watch out for flaky breadboard connections, so I decided to use a solderable breadboard. It was a few bucks for a pile of them on Amazon, and once I soldered the connections in, everything was stable:
So, you can see that everything is basically hand-wired - I've soldered a 2-pin power connection so I can connect and disconnect the power supply from the breadboard rails. The Raspberry Pi is individually pinned out into eight pins on the breadboard, I have connectors for the three switches and the LED and light sensor. Right now, I'm using jumper wires from my proto kit, but I'd like something that doesn't require me to deal with the Raspberry Pi pinout to hook it up. Is there a way to use a ribbon cable from the Pi and just get the pins I want?
What are other people using for a wiring harness? How have you run extension wires to run from the harness to the start of your LED string and/or the light sensor?
I understand your concern. I've tried a few different things, but have ended up with what you have. I have handbuilt a circuit board to accommodate the switches, Level Converter and power distribution. I used a 2 lug screw terminal for power supply in, then a 3 lug terminal for the power out and data out for the LED's. This works well for single strand setups. For more than one strand, I ran vcc and ground to the other end of the strand from the 3 lug terminal as well. Others have run vcc and ground to the connection points of each strand of a multiple strand setup. This does help the brightness to be consistent across all strands.
As far as wiring, I have used breakout board wires for short runs, but I'll also make my own harness using the proper terminals and multi terminal connectors that you can get in kits from Amazon.
I then used small wire ties to bunch them together, then either hot glued the loose portions to the board or used wire tie downs with adhesive backing.
On those female breadboard jumpers that are side by side on the RPI and Ambient sensor, I simply used Hot Glue to help hold them together so when I disconnected them they would stay together so I wouldn't have to figure out the wiring again.
As an aside; I've always hated the way the power supply block hangs against the wall due to the short length of cable up to the hung map. I found these extenders in different lengths and they work like a charm. I highly suggest them. It makes for a much cleaner setup. I'm planning on running one through the wall to hide it, and its small enough that it won't take much of a hole.
I hope this helps a little. - Mark
Thank you, @markyharris!
I'm going to stow the power supply in the frame - I bought a super deep frame that I'll post pictures of once I get everything cleaned up, so I think I'll be able to keep my power brick in a corner of the frame.
I've been searching out a few other ideas and I'll post a follow-up momentarily.
Some ideas I found trying to answer my own question:
- https://www.adafruit.com/product/4354 - this is $8, and it looks like you can just plug in a ribbon cable, and then you have a perma-breadboard (solderable, not the flaky push-in connection kind), so it'd be easy to adapt with the JST XH connectors I bought a kit of.
- https://www.czh-labs.com/electronics-salon-idc-40-din-rail-mounted-interface-module-breakout-board-terminal-block-p0187.html - I saw the amazing 400-light sectional used a much more robust breakout that looks like it would work with screws and not require soldering (but it's $28 instead of $8, and at a 50-light setup I'm not going to need the ability to deal with thicker wires)
- https://alchemy-power.com/pi-ezconnect/ - Alchemy Power Pi EZ-Connect (~$20 on Amazon, also available through Adafruit) - gives you access to screw-down terminals as well as a breadboard in the middle. Compatible with all Pis, but requires that your Zero has the header soldered in. It's nice because it labels all the pins, so probably makes it easier to use than a breadboard.
That said, I think I'm going to go with the perma-breadboard because it's the cheapest option, and I don't anticipate making a ton of frequent changes where I'd want to have screw terminals.
Minor report - I used the Adafruit solderable breadboard, and I like it. The way that it works is that you get a 40-pin keyed ribbon cable, and everything on the header is available for your routing pleasure. So, rather than laboriously figuring out how to take the 8 pins I need off the header and route them to my custom connector as in the first photo in this thread, I can just run wires from the header pins to where they're going, and solder them in.
Right now, my setup looks like this:
I've still got clean-up to do. I'm using 3 jumper wires to go from the board to the light sensor, and I've set up a JST XH connector to use to run an extension cable. (Crimping pliers ordered this morning!) And I'll do the same for the LED - the LED specified uses a 3-pin JST SM connector, so I've ordered one of those. As you can see, I'm using a 2-pin JST SM connector for power, so rather than solder it into the rails, I'll crimp it, too.
I also have to move the connectors for the switches. Because they connect to pins on the odd numbered side of the Pi header, I should move them to the lower half of the breadboard to make it easier to route the wires.
Once all that's done, I have polishing to do - get the light sensor installed with a light pipe on the frame, and install pushbuttons into the side of the frame and run wires to them. I have some momentary pushbuttons on order, since they're round and should be easier to drill through the frame. Sparkfun has color-coded momentary NO buttons that will work just as well as the square ones on the web BOM.
Not there yet, but every weekend I get closer. I just wish that all the maker stores (Adafruit, Sparkfun, etc) were closer to my house - orders from Adafruit have to cross the country to get to me!
Now that I've learned how to crimp connectors, everything looks much cleaner. I attached the Adafruit breadboard on to a piece of hardboard (annoying to cut, but only $3.50 at Home Depot so very cheap as backing board), and now all the connectors are crimped in place. The wiring to the light sensor module and the power to the lights are both shown here, and the result is that the wiring is completely clear and idiot proof. The Pi connector is keyed and can't be inserted wrong, and the JST XH connectors are also keyed.
I still need to wire up the buttons. I have some test buttons that are square, I'm trying to figure out how to mount the round buttons that I bought in the case. They're intended to mount in nice round holes, but I have a deep picture frame that's almost one inch thick, so I'm still working out how to mount the buttons.
I'm close, but not quite done yet!
I was going to make some bushings with a square opening for the buttons. I work in a machine shop so its easy. Let me know if you need some.