Basic concepts of handling noise from the DWM1001 module. First minimize jitter and lag from the raw signal using noise filter and stabilize further applying in/out event threshold, a.k.a Snapping.
- Noise was simulated with the Ziggurat algorithm
- Filter was adopted from the 1€ Filter
Ground Truth | Raw (50 dB SNR, Simulated) | Filtered |
---|---|---|
![]() |
![]() |
![]() |
Ground Truth | Raw (50 dB SNR, Simulated) | Filtered |
---|---|---|
![]() |
![]() |
![]() |
Battery Powered (Panasonic Lithium Industrial CR123A)
├─Anchor 0 (Active, Initiator, BLE off, LED off)
├─Anchor 1 (Active, BLE off, LED off)
├─Anchor 2 (Active, BLE off, LED off)
├─Anchor 3 (Active, BLE off, LED off)
├─Tag 0 (10 Hz, Responsive Mode on, LE on, BLE on, ACC on, LED on)
└─Tag 1 (10 Hz, Responsive Mode on, LE on, BLE on, ACC on, LED on)
DC Powered
└─Anchor 4 (Passive, Listener, Connected to a host for logging)
(No soldering or desoldering was done. Circuit stayed intact.)
The purpose of this experiment is to see how long the battery last until the voltage drops to 2.8 V which is the minimum operational voltage of DWM1001-Dev board.
Discharge chart of the Panasonic Lithium Industrial CR123A. Courtesy of lygte-info | Test of Panasonic Lithium Industrial CR123A
The battery used in the experiment was the Panasonic Lithium Industrial CR123A. This is labelled as having a nominal voltage of 3.0 V and a nominal capacity of 1400 mAh.
The battery lifetime is taken as the amount of time for the battery voltage to reduce to 2.8 V, the lower supply voltage limit of the DWM1001.
The listener node (Anchor 4) connected to a host (UART to USB) continuously reports the position of nearby (UWB in range) tag nodes. This was done by sending UART shell command lep
.
lep Show position in CSV format. Sending this command multiple times will turn on/off this functionality. Example: dwm> lep POS,2.57,2.00,1.67,97
The experiment started on 2022-03-14T15:00:00.000Z
and the logging began. There were no discernible changes until 2022-03-16T03:37:20.918Z
and, yes the lep
command ceased to work. Below are snapshots from the serial monitor running on the host.
Shaded area above shows the location engine stopped working on that very moment. The location engine running on the MCU of the tag node requires at least 3 nearby active anchors for ranging to work. This effectively means at least 3 anchor nodes were alive and at least one tag node was alive up until that point.
The above shows the end of the logging. It is safe to assume the listener node stopped reporting the position of the nearby tag nodes because there were any tag nodes to report. Meaning at least one of the tag nodes was alive until that point.
Both 2022-03-16T03:37:20.918Z
- 2022-03-14T15:00:00.000Z
and 2022-03-16T04:00:34.442Z
- 2022-03-14T15:00:00.000Z
give us about 36 hours. It is interesting to find anchor node and tag node share similar current draw. No meter was used so we do not know the specifics and the numbers, we still can say the Panasonic Lithium Industrial CR123A 3.0 V 1400 mAh provide good 36 hours to a MDEK1001 module irregardless of operation mode(tag/anchor) in such environment settings above.
Aaaaand the experiments continues...🥁
DC Powered
├─Meter 0
│ └─Anchor 1 (Active, BLE off, LED off)
├─Meter 1
│ └─Tag 0 (10 Hz, Responsive Mode on, LE on, BLE on, ACC on, LED on)
├─Anchor 0 (Active, Initiator)
├─Anchor 2 (Active)
├─Anchor 3 (Active)
├─Anchor 4 (Active)
└─Tag 1 (10 Hz, Responsive Mode on, LE on)
USB Powered (Generic Power Bank)
├─Meter 0
│ └─Anchor 1 (Active, BLE off, LED off)
└─Meter 1
└─Anchor 2 (Active, BLE off, LED off)
DC Powered
├─Anchor 0 (Active, Initiator)
├─Anchor 3 (Active)
├─Anchor 4 (Active)
├─Tag 0 (10 Hz, Responsive Mode on, LE on)
└─Tag 1 (10 Hz, Responsive Mode on, LE on)