@jonyu FYI, i just created a new thread on using interrupts from LSM6DS3. Later on, when deep sleep finally works, some should reach long runtime while using accelerometer events to wake up.
Jonyu,
Thanks for reporting this, Actually I was about to update to the new bootloader and roll back to 1.0.0. The accelerator is the main component of my project and if I can not use it alongside sleep mode, it is useless. At this rate, this board is just a bad joke! It has many fundamental hardware and software issues, one can not read the battery properly, does not go to deep_sleep, IMU conflict with battery readout, no BLE URAT support or other features that you can use in similar NRF52 boards in Arduino and … .
I have started to give up on XIAO (and all seeed’s produtcs)
Battery readout off-topic:
Unsolicited suggestion: the voltage dividers are great to determine how the battery is doing, but the amount of code I had to write to translate this raw value into a credible although inaccurate percentage value, was too much.
Forget voltage division, MAX17048 requires only one external component which it’s likely already on the board.
Hey Dr_Blueble
Yea the project I’m working on requires me to have extremely low power consumption while having an accelerometer and BLE. I thought the Seeed wouldve been a good pick as it supports bluefruit to tune the BLE settings but without the accelerometer its not quite helpful. I was wondering if you do give up on these seeed products, what board you would be using or if you had any recommendations for a low power consumption board that has BLE and an accelorometer?
I did quite some progress into getting this board to work with PlatformIO low power mode.
The last thing I need to figure out is how to disable the blinking blue LED when advertising.
@jonyu I doubt you can go lower than what you can achieve with nrf52840 and the same level of support of Nordic, have you considered creating a shield with just the MPU?
Example: MPU6050 super thin feather from Turing Complete on Tindie
Hi Jonyu,
I am thinking maybe Arduino Nano 33 BLE Sense, it is a bit more expensive but it has 9 dof and also you have real support and Arduino does not deceive you with fake codes (look at the new Xiao BLE sense Motion recognition thread )
Cheers,
I was able to setup the board under PlatformIO.
I haven’t tried the IMU yet, but I will soon.
Good luck!
Sorry for the delay in delivery, R&D is still following up.
It’s hard for me to imagine that the deep sleep code they posted will ever work, given that it is clearly written for SAMD architecture and not the Nordic nRF in any way.
Well, the ARM is common for many nRF and SAMDs but the BLE section usually requires additional power saving features. Also even if both are ARM, the M0 and the M4 have many different commands.
Really crossing my fingers for an update soon
The wiki has been updated.
Was there a fix? I do not see an update in github for the “deep sleep” demo BLE_52840_Core/libraries/Bluefruit52Lib/examples/Hardware/deep_Sleep at main · 0hotpotman0/BLE_52840_Core · GitHub
The code is not updated, please follow the wiki to downgrade the XIAO BLE on-board file to version 1.0.0 for use.
How to make xiao ble sleep with latest firmware?
I have a project that does low frequency BLE communication and I want to put xiao ble to sleep during BLE communication.
The BLE communication task is coded in the ArduinoBLE library according to tutolial in wiki, but it does not work with 1.0.0 firmware.
Is there any library that will work with 1.0.0 firmware?
Sorry, currently Arduino BLE and low power mode cannot be used at the same time, BLE is the main function of XIAO BLE, low power mode is only the icing on the cake, you may need to choose to use it.
You can use either one of these to shutdown the chip:
sd_power_system_off();
NRF_POWER->SYSTEMOFF = 1;
But to wake it up, you need to cycle the power to the chip (BLE and all peripherals). Also, in the case of the XIAO BLE Sense that has the IMU and the Mic circuits…these will remain on using about 2mA even as you shut the chip down. So you need to find the pin that supplies power to the IMU and the MIC and have it turned off in the code before you invoke these.
Or use a circuit like this that you can control either manually or with a digital pin. Still requires user physical action to restart the chip.Pololu - Mini MOSFET Slide Switch with Reverse Voltage Protection, LV
Thanks for the replies.
Is there any way to implement BLE communication with firmware 1.0.0?
Any library is acceptable.