[ZeROSEro7] Nordic nRF52 getting started

This week, we have continued to research component for our devices. We analyzed more precisely features and made the decision to keep the following items:

Tab 1 : Components
 µC  STM32F215RG
 BLE  nRF52832-QFAA
 LoRa  SX1276IMLTR

For each component, we chose a microprocessor development board to begin the software part of each device. We ordered all microprocessor development board Friday and we will receive them on Monday. We ordered the following items:

Tab 2 : microprocessor development board
 µC  OLIMEX STM32-E407
 BLE  Nordic nRF52 DK
 Wifi  Texas Instrument CC3220SF-LAUNCHXL

Nordic nRF52

I got the BLE development Kit from Nordic last Friday and I began to use it. I read a lot of information about this board on Nordic website.

I read, more specifically, information about the nRF52_DK PCA10040 v1.1.1 which contain a nRF52832 component. I got back useful files like datasheets, SDK, examples, etc.

I started to set up the environment to this development board. I got back a linker script and wrote a gdbinit to load and debug a program on the nRF52_DV. I’m editing a Makefile able to compile, load and debug a program.

Next week I will finish the environment and start to reorder useful file to push in our git repository. I would like also to discover the PCB software Xpedition PCB to start to design schematics.

[ZeROSEro7] Specifications

This week, we started making specification for our 3 spy weapons, and chose many of the key components. This specification file is reachable on the Wiki page of our project.

According to the features of each device, we managed to find fitting component to optimize our spy gadgets. We tried to find common components whenever possible between devices to be more efficient during development time. Indeed, the more different components we have , the more time it will take to understand how it works, to develop on it, to add it to our PCB, etc.

Here are the architectures we have designed this week :

USB Sniffer

We chose the STM32F215RG processor mainly because it has two USB OTG interfaces. We decided to use a STM processor because we already worked with one of them and few brands are low power products.

Among STM processors, only STM32F2, STM32F4, STM32H7, and STM32F7 have two USB OTG. We only focused our research on F2 serie because we don’t need powerful processors and Cortex-M4/M7 need too much current (over 37mA in run mode instead of 22mA for F2). We need 1 MB FLASH (higher size for F2 serie). We choose the smallest processor in LQFP: STM32F215RG.

We mainly choose the nRF52832 BLE module because it has a programmable module with complete architecture; 512 kB flash (rare), 64 kB RAM, Cortex-M4, several interfaces (UART, I2S, 2 I2C, 3 SPI). Therefore, we can use it for the Spy Talk device.

Moreover, it’s transmission/reception power/sensitivity are great (up to +4dBm/ -96dBm) and current consumption is very low (~5mA in TX and RX, 1.9µA in sleep mode).

Spy Talk

We chose the same BLE component as USB Sniffer because it’s easier. Even if this time, the component will have an interface with LoRa, we do not have to develop the same code for two BLE modules. Hardware side doesn’t need to be handled two times as well.

Stealth Drop

Finally, we are thinking to use only Wifi communication and to leave BLE idea. Indeed, the Wifi consumption in listening mode is not so big and it simplified the device architecture. We chose the CC3220MODASF12MONR Wifi because the antenna is integrated, FLASH is 1MB and there is several bus communications (SPI, I2C, UART, I2S, SD).

We want to have several gigabytes of storable data in Stealth Drop. The biggest Nand Flash we found was the TH58NVG5S0F which offers only 4GB of storage and takes up a 20x12mm space.That’s why we thought to use a micro-SD card that can go up to 128GB of storage , takes no more place than the Nand Flash and has the possibility of being removed or exchanged at any time by the user. This one will use SPI and SDIO communication.

Next Week

Next week, we will determine which batteries we will use and maybe start the schematics for our PCBs. By then, all components and how they communicate will be settled.