Make a breadboard project more permanent
I am hoping someone here has been down this same road and help me sort through my current dilema.
I have a fairly simple project wired up and working using a breadboard populated with an Arduino Nano 33 BLE and a few simple electronic components (TIP120, resistors, diode, 3.5mm jacks, optocoupler, etc...) all connected by jumper wires. I want to make this a more of a permanent device and looking for a ways to accomplish that while staying relatively close to my skill set (happy to learn new things).
Ultimately, I would like to have all of these components connected to a single board, no jumper wires, and the Nano mounted to a socket to replace it if necessary.
From my research, it appears there are multiple ways to do this including:
1 - Solder components and connecting wires to a prototype board
2 - Use a prototype board with longer leads on each component for wire wrapping
3 - Use a strip board and cut unnecessary connections
4 - Design and order a custom PCB (I think this is probably my last resort)
There are obviously pros and cons to each approach but with my limited experience I don't know if any of these options fall short for a permanent solution and should be avoided or stand out as a great option.
Has anyone taken the leap and is willing to provide details on the approach they took and how well it worked out for them?
If there is anything other information to help out, just let me know.
I have made a few projects using proto board and they are fine but my OCD bugs me a bit because it does not feel that professional. Even though they are hidden from sight. But it works and you can't complain about that.
I wouldn't bush off the PCB route. I have a few projects that I went the PCB route and those are the ones I am happiest with. KiCad is free and easy to use and JLC PCB will give you 10 small boards for about $5 plus shipping ($24 to US) and a 24hr turnaround time. It sounds like you already have all your components so after shipping it will likely be a little more for a nice PCB. They even have tools to design your board online if you don't want to dive into KiCad.
I didn't want to dive heavy into KiCad for a recent project, so I used EasyEDA (online tool). Took me less than an hour or so to get a grasp of everything I needed to learn (Just search EasyEDA on YouTube). The boards I ordered were from JLC PCB and for 30 boards a little smaller than a credit card and express shipping, my total was around $40 I think (half of that was shipping). Took them about a week to be made and delivered from China and I couldn't be happier with the results. Way cleaner than the proto board. With regular shipping, it would have been around $27. My next boards will be cleaner and tidied up a lot more.
I was able to design this in less time than it was taking to solder components and wires to my proto boards. =)
4 - Design and order a custom PCB (I think this is probably my last resort)
If you can attach a schematic and a components list there may user here that could "design" the PCB board.
In fact I might let my arm get twisted to do this, if I can talk you into installing KiCad yourself, and then I could then send you the files you would need to make changes to what I come up with if you desired and then to order the boards yourself.
And once you have posted 10 things (I think that is the number) we could use PM messages to communicate items you might not be comfortable sharing with the world, i.e. email addresses.
First off, thank you to those who have responded so quickly with their experience; just the kind of info I was looking for. @madmisha I think my OCD could compete with yours and I suspect I wouldn't be happy with the outcome either so I am leaning towards the custom PCB route now.
@codecage - I appreciate the generous offer for assistance and if I get to the point I feel I am way over my head, I may take you up on that. I would like to try to tackle this on my own but may lean on the good folks for the forum for guidance.
Looking at the Getting Started Guide for KiCad, I felt a bit better about the process and decided it wasn't far enough out of my wheelhouse to not at least give it a try. My research had revealed a number of suggestions to use Eagle and no mention of KiCad so this was an intriguing option.
I installed KiCad on my Mac tonight and made my first attempt at a schematic for my project. I have all of the components placed, wires connected, symbols named, and the "Electrical Rules Check" shows no errors or warnings.
I can certainly share the KiCad files or a PDF of the schematic as I would love some opinions on the project itself as I am not entirely confident everything has been done properly; it works just fine, but is it done correctly as well. I don't see an option for attachments here so I am not sure how to share the files I have.
Thank you again you guys for your encouragement and advice!
Glad to hear you have made so much progress with KiCad. I feel it is the way we might all want to go at least for the near future.
You should be able to 'attach' files quite easily using the Attach Files link below the compose window as you are typing your responses, or just dragging and dropping them onto the response.
OK, not sure how I missed that option down there...
I have attached a zip file that has both the KiCad files for this project as well as a PDF printout of the schematic I did yesterday.
To provide some context for the project, it is a system to help me take photos of water drop colliding with each other. To that end, this device controls three items, a camera shutter, an external flash, and a electromagnetic water valve using an Arduino Nano 33 BLE. The code on the Arduino basically controls each device in a specific sequence to capture the shot (open shutter, drop 1, drop 2, flash, close shutter). The timing of each event in the process is controlled from an Android app via BLE which sends over the number of ms between each step, ms the valve is open, and when to start the sequence.
As for power, the Arduino is powered via USB and supplies power for the LED and to signal the two optocouplers and the TIP120 resistor. The optocouplers and TIP120 were used to isolate the power between the Nano and the other devices. Obviously, the camera and flash have their own power source (batteries) and the power for the electromagnetic valve is provided by an AC-DC transformer which connects to one of the barrel jacks (DC Power).
The device works just fine and I have been able to capture some photos with it (more to come) but as I was creating the schematic yesterday, I am not sure if it is done entirely correctly.
The LED and optocoupler portions of the schematic I think are OK it is the usage of the TIP120 to control the water valve where I have some doubts. The intention was to have 12V DC power connected to one barrel jack and use the TIP120 to determine when to send power out the other barrel jack to the water valve. I used the diode to help control any current to flow back through this device from the valve when it closes.
Again, everything works just fine and it is nice to have the app to control the timings of each aspect of the process.
If anyone want to weigh in on the schematic, I am all ears and open to suggestions. Thanks again to all.
I have these Prema-PCB's that you can have made at any PCB maker: https://github.com/jscottb/pcbs All you need to do is get the Gerber zip file of the one you want and upload to the PCB house's web site.
@triform Thanks for the info...wish I would have asked my question before I ordered some prototype boards. But, when I need to restock I will keep these in mind. Thank you for providing those!
Ok folks, I have definitely put in some blood, sweat, and tears, but I think I have worked my way through creating Gerber files that could be sent off to have my PCBs made. I think I added some knowledge that I hope I can carry forward to the next project.
I am sure this is a very simple project compared to what most of you have tackled, but I would like someone (or a few someones) to at least provide a "go" or "no go" based on your experience if what I have attached below is ready for an order to be placed.
I have double and triple checked my connections and even printed what I think is a 100% scale version of the board to compare the hole placement with my actual components and everything seems to be OK. One thing I have not been able to verify is that all of the pads that should connect to GND are connected to the bottom layer which (I think) I have configured as a fill-in zone.
I don't know if it is typical, but I created a 'Gerber' folder inside my project where I generated the files I would be submitting. Not sure if all of the files are required or not...
I realize this is a big ask, but I am hoping someone will respond with their honest opinion.
I took a look at your project and think you are OK. As for the GND connections I only see 5 on your schematic and I find those same 5 on the PCB. If you haven't already discovered this, try 'unchecking' all the layers on the right hand side of the PCB design window, then 'checking' each one as needed to see just the layer you are interested in seeing. Sometimes it's hard to see the forest for the the trees. 😀
I think you have done a fine job on your first PCB and it looks like you have gained quite a bit of knowledge using KiCad. You now have a new powerful tool in your toolkit.
And you should be good to go on your Gerber and Drill files. There are online sites that you can upload your gerber and drill files to that allow you to see what the manufacturer is going to get from the files. Here is the viewer for PCBWay: https://www.pcbway.com/project/OnlineGerberViewer.html
Just upload your files to them and they will render them to show the board.
@roadking598 It looks really good. Some of the traces come close to some of your pads. It will probably be fine but since you have the room, I would go ahead and give it a little more clearance. Specifically J4. A via might be easier to accomplish that for connection 2. PCB makers are getting really good but sometimes their traces or pads end up being slightly larger than intended. We are realistically using the budget side of the industry.
There are also some really small things. Like if you moved Q1 down a bump and right a bump, it would make a straight connection instead of having the slight bend at the pad.
And I would use the measuring tool to make sure the footprints are right for the components. Nothing will ruin your day worse than finding out the headers on the arduino are slightly off. And for the final version, add your name to either the copper layer or silk screen. It feels really good when you get it and it's on there.
Dave Jones from EEVBlog made a few videos about JLCPCB. It might be helpful to look at that. He explains what the options are and if they are really needed.
Again, folks, I appreciate the feedback and comments...
I made some adjustments to the footprint placements and traces and I think it is a more workable solution now. I also added some text on the board to indicate it is the first revision.
I also used the PCB viewer and PCB Way and everything seems reasonable to me so I placed the order! I have 5 board coming next week (of course, just after we leave on vacation).
Now, off to practice some soldering skills.
Here is an interesting thing I stumbled upon the other day...
It may help as Part of the design process... getting the schematic done...