Replies: 12 comments 5 replies
-
I'm currently using Fritzing to design the boards, but I'd be interested to hear what other people use for this (preferably free to use, as I want it to be accessible to others). |
Beta Was this translation helpful? Give feedback.
-
If you need help with anything, I can help you. I have very little knowledge about PCB but I can improve myself |
Beta Was this translation helpful? Give feedback.
-
Sounds an ambitious, but logical step. Unfortunately it's been 20 years or so since I was laying out PCB's so I dont have access to the software I used to have at work (Visula - Zucan) the pcb's were populated by other departments. The only pcb's I did for myself were for the motor controllers for a robot. |
Beta Was this translation helpful? Give feedback.
-
A couple of updates in the new I created custom symbols and footprints for the modules, and added them to libraries so that they can be reused. The footprints aren't correct yet, but it's a start. I'm learning the tool as I go, so expect errors ;) The goal is to have a PCB that can either connect at 90 degrees from the pi (down the side), or via a 40 pin connector cable. But I may also make a version that connects via a hat, I just don't want to block the fan. The new head is going to have a lot of the circuitry exposed as I think it looks interesting and allows me to talk through the construction during demos, rather than it all being hidden behind the frame. I'll see how well I can lean in to that as I finalise this PCB. Update: added SMD neopixels so that we can show status indicators for the various modules, and JST connectors for a few optional breakout boards. Update: swapped the pins around so that the servo and extension board slots use PWM pins (better for servo control) |
Beta Was this translation helpful? Give feedback.
-
Updated the footprints. I need to check the layers are correct then do the routing. Reference: |
Beta Was this translation helpful? Give feedback.
-
I have the mic and SK6812s on order. Will continue testing once I have those. I deliberately made the neopixel driver a generic header, as the one I use is now out of stock, so I am building the board so that that module can be swapped for another easily. I don't like the form factor of it anyway so this will allow flexibility in future. The others are as close to their package as I can get them. |
Beta Was this translation helpful? Give feedback.
-
Further refinement. Re-oriented the I2C connector based on advice from this article: Also adjusted the other 3 pin JST connectors so that the power is in the center pin. This means that if the orientation is changed accidentally it has less chance of damaging the component as only the ground and GPIO will be swapped. Once the parts have arrived I will do some final tests then order the PCBs |
Beta Was this translation helpful? Give feedback.
-
Checked all components against PCB and confirmed correct configuration. Swapped TX and RX into LLC to match text on module. Dumping some datasheets and references here because I'm tired of googling them! https://pinout.xyz/ It seems like if I edit the PCB part reference, each time I import changes from the schematic it resets those values, so I'll change them in the schematic next time... Latest screenshots: |
Beta Was this translation helpful? Give feedback.
-
Final update for today. Added a hole to feed the AMP output into an internal speaker, and some other small adjustments. |
Beta Was this translation helpful? Give feedback.
-
Added 100nF 6030 decoupling capacitors to the SK6812 neopixels following recommendations on the datasheet and this post. Checked everything over and placed an order for 5 to test once they arrive. |
Beta Was this translation helpful? Give feedback.
-
New video on YouTube and article on the website. |
Beta Was this translation helpful? Give feedback.
-
Just a quick update to say that this PCB has arrived and I'm beginning testing. The neopixels work with the i2c adapter, I want to test the amp and mic next as that was complex to get working in the previous version. |
Beta Was this translation helpful? Give feedback.
-
Now that I'm upgrading the project to utilise the Raspberry Pi 5, I want to also take the opportunity to upgrade the custom PCB in the head.
There is a challenge since the new pi uses an active cooling fan which gets in the way of the current PCB, but it also gives me the opportunity to incorporate some of the newer modules, including I2C neopixel support and audio output (as the Pi 5 does not have an audio jack, this may need to be I2S).
Current approach
I currently have a PCB that connects to the 40 pin header of a Raspberry PI, and I'm looking to expand the functionality as well as upgrade to the new Raspberry Pi 5.
The PCB currently allows the following modules to be connected to the Raspberry Pi via the 40 pin header:
Currently the custom PCB allows users to solder these modules to the PCB, then connect the PCB to the Raspberry Pi. The problem is that if the layout of any of these modules changes, or if they are out of stock, they can't be easily swapped for another module so we need to design a new PCB each time.
Therefore, the plan is to create a new PCB that will allow readily available modules to be incorporated, but then I'd also like to attempt to create a custom PCB that includes the functionality from these modules directly as integrated components, possibly using a PCBA service to assemble the boards.
I'm in discussions with a PCB service to collaborate on this, but anyone in the community has any experience and wants to help out, please let me know.
Beta Was this translation helpful? Give feedback.
All reactions