Closed azerimaker closed 3 years ago
7. Patric Fenner - DefProc
I'd question if there is a need for an ESD diode (or at least a footprint) on the battery input (at F1) as I would expect extended contact with human skin at the battery terminals. I know the buck-boost converter has over voltage protection, but I'd want to be very sure I didn't have to include ESD protection for the power input to leave it out. I know it's also common to have a footprint that's jumpered with a 0R resistor to allow it to be replaced by a ferrite on the power input line too, so there's space to tune the design for any unwanted emissions you might find once you get the device in the EMC chamber.
Battery fuel gauge monitoring is a nice extra and a very useful feature, although supply looks like it might be limited for the part. Is it new to market?
It's a shame the green diode isn't available on the D2, I'm assuming that this is from a lack of available microcontroller pins?
Power switches for each peripheral set are very nice, I can see some users won't want to use some parts at all, but even if the sensors are used, they don't have to be powered continuously.
I'd be very happy with the accelerometer and temp/humidity sensor you've chosen. Would you consider having NC SMD jumpers to the supplies for these devices, so they can be completely removed from the circuit if they're not required for the application? I know their current draw is in uA, but it's still double the draw if you'll only use one sensor, plus the gate current of each of the SDA and SCL lines.
Should the pull-up resistors for I2C1 and I2C2 be the same as each other? I note that I2C1 has 2 devices, and I2C2 has only one. It might not be an issue with the bus speeds you're expecting.
I'm aware that there are SCL and SDA available on the DEBUG port, but it would be nice to see VCC_SENSORS, GND, SCL and SDA available together for external I2C devices. One option from SMD pads, through-hole header pads, STEMMA or QWIIC connections would be fine. I think I'd choose QWIIC at the moment.
I would expect to populate C20 with a 100nF capacitor, unless you know that the SW1 is very low noise. I do have a preference for hardware debounce over software debounce though.
If there was a pad at SW1 (on the USR_BTN net) and a corresponding GND point for soldering to, then it would allow PB3 to be used as a GPIO pin if the switch is not needed for the application (assuming there are no free microcontroller pins).
@azerimaker would be nice if you can add the V0.2 reviews and feedback here and close this issue
@elsalahy there wasn't much feedback on the second version. Main feedback was from ST and I'm attaching their review as a PDF here ST_Schematic_PCB_review2.pdf.
Summary:
This issue is the collection of all the feedback from our inner circle reviewers.
1. Fabien Ferrero
We have some questions and comments on several aspects of the Generic Node v.01 design.
You said: “we are aiming to meet enterprise and hobbyist/maker users. Therefore the design will have a functionality as a dev-board and as an enterprise ready, plug-and-play device. We're using gcc tools with OpenOCD (baremetal), and once ST releases their official support for their STM32CubeIDE support, we will support that too. “
In our view, the Generic Node v.01 meets the needs of neither of these two groups. The hobbyist/makers will find the 2 x 7 connector a barrier to use and the STCubeIDE impossible to navigate compared to using the Arduino IDE over USB. Enterprise users will be able to manage the program connector using an appropriate tool chain but expansion capabilities are minimal on the board. We do not think exposing I2C and UART via the 2 x 7 connector is adequate for either group to customize the device for their particular applications. The Grove I2C connector lacks provision for one or more interrupts limiting its utility. The board is designed more like an ST Discovery board than a Nucleo board but without the connectors exposing GPIOs/peripherals to the user.
Furthermore, reliance on the ST HAL is a mistake in our view. The ST HAL suffers from gaps, race conditions, memory leaks, and lack of workarounds for errata which will frustrate most users. In other words, good software design is as important as the hardware design if the product is to be useful. And good software design, in this case, will require significant effort to get right. Without it, the Generic Node v.01 would be just another variant of some ST Discovery board.
3. Thomas from Lacuna:
Since it's going to be a generic device, not all the sensors have good deep-sleep current, I figured adding ULP load switches will greatly reduce deep-sleep current. Right now, with the MCU in Standby mode, we can achieve ~2uA consumption.
Thanks, I did a load test on this and it works well. Consumes only ~350nA Iq in active mode.
We will definitely investigate more on this, but our current library was written for normal SPI mode, therefore we went with it.
By default the MCU starts with an internal HSI clock, but we can definitely switch the clock input to TCXO for both system clock and for the RF part. Please see the attached clock-tree view.
This was done so we can digitally switch between LP (+14dB) and HP (+22dB) modes for the EU and US regions.
Good catch. They're not the same, but very close. L10 should've been 3nH instead of 3.3nH.
STM32WL does not have a native USB support.
4. Hamilton from ST: ST_Hamilton_Schematic_PCB_review.pdf
5. Seeedstudio (DFM analysis): Seeed DFM report.xlsx
6. Other remarks: