Coder Social home page Coder Social logo

Comments (14)

ajhhwang avatar ajhhwang commented on September 15, 2024 1
  • I think it makes sense to have a dedicated connector for power, that way there is no ambiguity around how power should be supplied to the board. Whether it be from a bench supply during development or a battery later on.
  • 3.3V LDO with 150mA current might be a little on the low side, especially if this power rail will be used to power other external circuitry you might want to find another LDO that has more current capability.
  • The VDDA and VREF+ pins on the stm32 should be connected to VDD
  • Change the usb connector to a micro type-b (i think it is currently a micro-ab)
  • The SHLD pins on the USB connector can be tied to GND
  • Make sure to put the Generic No ERC labels on all unconnected pins

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024

@lunacruz I'm going to leave some review on your current schematic (as of 2/2/2022). The critical section you must address, the moderate section you should address but don't have to, and the minor section you can address if you want to but don't have to. I'm intentionally being nitpicky to help give you professional experience.

Critical

  • Still no pull-up on the STM32 reset pin. This is required. Add a 10k pull-up to VDD.

  • Your D+/D- nets on the usb connector are on the wrong pins.

Moderate

  • In general, it's a good idea to have your LEDs tied to VDD on the other end, instead of GND. The reason for this is that when you turn on the LED, it will source current from the power supply, instead of the microcontroller pin. Note that if you do this, the LED is active-low.

  • Y1 is only solderable by reflow. You might want to look at something you could hand solder. Take Y2 for example. It has castellated edges that can be soldered to.

  • You really ought to put the programmer pins, reset, power, and gnd on a standard debugging connector.

  • There's a lot of debate as to what you should do with the shield pins on your USB connector. I personally tie them to ground. Maybe look into that.

Minor

  • You might want to look into an ESD diode specifically for USB. For example, a lot of USB specific ESD diodes will allow the signal to pass right through, so that the differential pair doesn't get disrupted. That can help you achieve higher speeds.

  • Your USB connector is a micro-AB USB connector. I would go with a standard micro-B connector instead.

  • Consider moving the LEDs off of port F. You can save a small amount of power by leaving port F turned off in firmware.

  • If I were you, I would make "bays" that you could plug modules into, instead of just throwing a bunch of header pins to plug jumper wires into. Might be nice for the GPS module, for example.

  • You should add a differential pair directive to your USB nets (this also requires you naming them D_P and D_N instead of D+ and D-.

  • The reset button (SW1) you've selected is pretty large. I might pick something a bit smaller if I were you.

  • In general, the part numbers should be visible on your schematic. Typically the part number is placed in the comment field. For example, I want to know that your 3.3v regulator is a "ADP121-AUJZ33R7", not "3.3V Regulator". It's a good practice to label that it is a 3.3V regulator, but do that by adding a text field by the part, not by replacing the comment field.

  • On the right side of U1A, labelled nets have any wires coming out. It's good practice to have a wire come out to make it clear what pin the net label is attached to.

  • Not totally sure why the header pins are on separate schematic symbols. I probably would have just put half the pins on one side of the symbol and half the pins on the other side.

from caci_capstone.

ajhhwang avatar ajhhwang commented on September 15, 2024

@vrobot @lunacruz

Comments on capstone_v2

* Some are previous comments that still need to be addressed

  1. main LDO U2 150mA out might be low depending on the power budget of the rest of the system
  2. place a 0 Ohm resistor in between the BOOT0 pin and GND so it can be easily soldered to in the future
  3. dedicated connector for power input
  4. put the Generic No ERC labels on all unconnected pins

from caci_capstone.

ajhhwang avatar ajhhwang commented on September 15, 2024

@mattbhahn

Do we know what the hardware interface/connection to the gps module is going to look like? If so J6 can probably be changed with that in mind.

from caci_capstone.

mattbhahn avatar mattbhahn commented on September 15, 2024

I have the small board for the GPS that I have been connecting to my nucleo device. I assume that we would be connnecting this board to the PCB but I don't know if it is some sort of direct soldered connection or if there are wires between the 2 boards. What do you know about putting these things together @ajhhwang ?

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024

Can you post a link to the board? I would expect either solder pads if the board has castellated edges, or just vias so we can just drop it in and solder it.

Typically you would make a footprint based on the dimensions of the board.

from caci_capstone.

mattbhahn avatar mattbhahn commented on September 15, 2024

Here is a link to the part listed on amazon:
https://www.amazon.com/Navigation-Satellite-Compatible-Microcontroller-Geekstory/dp/B07PRGBLX7

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024

you can see that this board has castellated edges on it. That would allow you to just place solder pads on the PCB and then you could solder down the module to the pads. Since the castellated edges are only on one side of the board though, I would probably suggest having some additional mechanical support. We could either solder down the big ground screwhole as well or add a hole and put a screw through the hole on this PCB and the main PCB.

To do this, I would make a footprint for this board based on the dimensions of the pads. Check this image for an example.
image

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024

My review as of afa8b3f

Nice work on cleaning things up. It's looking a lot better now.

  • I would still look for a replacement for Y1 that you could solder by hand.
  • I would swap out C24 from a tantalum cap to a ceramic cap. You might need to swap to an 0805 package if an 0603 one is hard to find.
  • LED designators should be either D? or LED?
  • We should still rearrange the pin headers based on what boards we're actually using. And we need to make the footprints for the boards we're going to be integrating on this board.

from caci_capstone.

vrobot avatar vrobot commented on September 15, 2024

Thank you for the review. I will try to implement these changes:

A couple questions I had:

  1. Is there any package type I can search for on Digikey for Y1's replacement that can be hand soldered?
  2. What is the reason LED designators should be D? or LED? Also, sometimes when I place a part on the schematic, the designator has a ? after it such as U?, will Altium auto assign a number to the designator later on in the layout or should I manually assign it?

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024
  1. Is there any package type I can search for on Digikey for Y1's replacement that can be hand soldered?

I don't know what the specific package names are for oscillators/crystals, but what I would probably do is first filter by in stock, active, and your frequency/tolerance you need. That will narrow down the results a lot. Then you can just take a look at the picture of the package and find something that has exposed copper that's not on just the bottom. For example, I took a quick glance over at digikey and a package like this would be one suitable option, note that the pads extends to the side of the casing.
image

  1. What is the reason LED designators should be D? or LED? Also, sometimes when I place a part on the schematic, the designator has a ? after it such as U?, will Altium auto assign a number to the designator later on in the layout or should I manually assign it?

There's no mandatory reason, but it's good practice to use the commonly accepted reference designators for parts. It makes it easy to tell what the part is when you're looking at the PCB. Ideally the schematic symbol for that part would define the designator as D?, you shouldn't have to manually change it. You should leave the designator as D?. Then before you compile the schematic, use the annotate schematics tool and it will replace all the ? with numbers. That way you don't accidentally give two components the same number. I usually use the "Force annotate schematics" option.

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024

You also really need a dedicated power connector on here. Hooking up power to the large header isn't very viable.

from caci_capstone.

ajhhwang avatar ajhhwang commented on September 15, 2024

image

pin 2 on J3 should be connected to VDD instead of 5V

from caci_capstone.

jefflongo avatar jefflongo commented on September 15, 2024

I don't think it's necessarily a bad idea to break out 5V as well as VDD. That was probably intentional.

from caci_capstone.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.