Closed elsalahy closed 4 years ago
Add issue, PR or test code URL in x
STM32WLxx_QFN48
X
X
X
X
X
X
STM32WLxx_QFN48
X
X
X
X
X
X
X
X
X
X
X
X
@azerimaker Feel free to add below as a sperate comment the components that I might have missed in the same fashion.
Remember this is acceptance testing!
Progress update:
Tried flashing the adjusted sample LoRaWAN app that was prepared (functional and tested on Nucleo board) but the node seems to get stuck at RTC_Init
, specifically in while (LL_RCC_LSE_IsReady() == 0U)
This is critical and will be heavily investigated.
LEDs and buzzer seem functional on board #2
System reset using the debugger (openOCD or via normal flashing) is misbehaving, either pushing the reset button or removing the battery fixes the issue and boots the new application.
All can be viewed in this branch up to this commit https://github.com/TheThingsIndustries/st-node/commit/2b0dc248c87f6cd59ee9ff1807d7ed4da6e5d3b2
Also created this branch with a basic LED test to be used for observing a normal (non-RTC) running clock and will be used as base for simpler tests
ATECC608A-TNGLORA Secure Element test on board #2
is responsive π and we can successfully read the serial number
Can be observed in this branch
Did a load and a current consumption tests to the BUCK_BOOST converter. Some takeaways:
- System reset using the debugger (openOCD or via normal flashing) is misbehaving, either pushing the reset button or removing the battery fixes the issue and boots the new application.
yes, this is a weird issue. I've tried various solutions but none seem to solve this. I'm suspecting that the SoC has a HW bug. Will contact ST on this.
Successfully managed to communicate with the SHTC3 temperature and humidity sensor π and retrieve readings using the pre-preprepared driver.
Can be observed in this branch.
Update:
This was tested on board #2
Wow nice. Also SO MUCH PURPLE!
LoRaWAN application (LoRa + RTC+ ST LMN stack port) is functional on board #1
and the node joins successfully π
This validates numerous internal components such as the TCXO, Antenna and the power supply design.
Can be observed in this branch
The Flash seems to be responding to SFDP commands and the Macronix ID (0xc2) is reported correctly
Can be observed in this branch
Update:
This was tested on board #1
The Accelerometer LIS2DH12 is responding on board #1
and x,y,z readings are retrieved successfully.
But further investigation is needed as the I2C bus read looks unstable and sometimes when the devices is reset, the Accelerometer doesn't respond even on board #1
, and on board 2
the Accelerometer is not responding
Can be observed in this branch.
@elsalahy captured some I2C packets between SHTC3 and the STM32WL. It looks like the bus is functioning normally with the clean edges and I do get some data back from the sensor, but I still can't read the accelerometer. The culprit is either the Accelerometer IC itself or the soldering joints, which I can't really see. I will resolder another IC at home and retest it.
@azerimaker Sounds good I'm happy the issue is not with the I2c bus itself, thanks for keeping me updated
Progress update:
1
seems to be behaving as expected after a fix by @azerimaker 1
after the soldering of the accelerometer and the new debug interface.1
using the STDC14 connector of the debugger, indicating that there might be an issue with the UART pins on the board, or the virtual com on the debugger needs a specific jumper/routing config,
Please note that the same app and same UART pins connection on the Nucleo board is functional and printing at
1152008N1
.
UART branch.
ADC read of the device internal ADC_CHANNEL_VREFINT
is 0x6fa
which is 1786
as a raw value
With calibration equation=Vdd = 3300*(*VREFINT_CAL_ADDR)/ADC_raw
= (3300*1510)/1786 = 2790mv ~=2.79 Volt
@azerimaker does these numbers look good, do we supply the node with ~ 2.8V?
The same application failed to read from the buck boost ADC pin PB2 (channel 4) after enabling with PB4 on board #1
Need to try this on other boards to investigate more as it might be a soldering issue of the pins, or ADC read bug in the FW
Can be observed in this branch
A small background and update on the RTC issue:
The LoRaWAN example provided by ST, uses the node external 32KH oscillator to provide real-time functionality in the example application and this is used in time stamping the events and sending the sensor data in specific intervals.
The external oscillator becomes unstable in the event of a power reset and then the system initialisation waits on the RTC to stabilise.
Current situation:
Node Number | External Oscillator 32KHZ (RTC on LSE ) | Debug interface Nreset and reset button |
---|---|---|
1 | β | β |
3 | β | β |
Prototype status (continuous update):
Node # | PSU | SWD | VBAT Mon. | Load SW.1,2,3 | Accel. | Temp. Hum. | Flash | Sec. Elm. | Buzzer | RTC | UART | LoRA |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | β | β | β | β | β | β | β | β | β | β | β | β |
2 | β | β | β | β | β | β | β | β | β | β | β | β |
3 | β | β | β | β | β | β | β | β | β | β | β | β |
4 | β | β | β | β | β | β | β | β | β | β | β | β |
5 | β | β | β | β | β | β | β | β | β | β | β | β |
legend: β - works well β - doesn't work β - erroneous behavior β - untested/unable to test
LoRaWAN Tx (Class A) effect on the Battery (yellow) and VDD (blue).
Some key observations:
Fig.1: Fig.2: Fig.3: Fig.4:
We need to write a small conclusion report and attach it here to close this issue. CC: @azerimaker, can you please write-up the HW observation and the planned HW fixes/modifications. I will write-up the SW observations and bugs/issues that need to be handled.
We should close this issue by tomorrow.
Some more low power testing with following setup:
1 min. window average for two periodic wakeups and going into STOP2 mode. Est. battery life 78 days.
Current consumption in STOP2 mode: ~600nA instant, ~2.5 ΞΌA average (periodic pulses by the Buck-Boost converter)
Est battery life if the device is always in STOP2 mode: :cool:
All the boards are tested in depth and only one board (2) is partially functional (will debug it later) other are working well.
Summary:
With the arrival of the node V0.1 PCB, we need to test the first prototype to ensure it is an acceptable prototype that can be used in the development of the device firmware.
The PCB is expected to arrive by 3rd of July and will be soldered and prepared internally for testing and development.
Why do we need this?
To ensure we have a valid HW platform that allows for application development according to the requirements in #7 & #9
What is already there? What do you see now?
WL
applications from STWhat is missing? What do you want to see?
How do you propose to implement this?
Environment:
Baremetal.
Acceptance Criteria:
The acceptance test scenario can be very simple, but must meet the following criteria:
What can you do yourself and what do you need help with?
Will be done by me and @azerimaker.
Below is a breakdown of the various system components.