Skip to content

Commit

Permalink
boards: shields: support for x_nucleo_s2868a1
Browse files Browse the repository at this point in the history
Added a new shield for the x_nucleo_s2868a1 expansion module

Signed-off-by: Nikos Oikonomou <[email protected]>
  • Loading branch information
nikooiko committed Mar 25, 2021
1 parent b70287a commit 305fcd0
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 0 deletions.
22 changes: 22 additions & 0 deletions boards/shields/x_nucleo_s2868a1/Kconfig.defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright (c) 2021 Nikos Oikonomou <[email protected]>
# SPDX-License-Identifier: Apache-2.0

if SHIELD_X_NUCLEO_S2868A1

if IEEE802154

config SPI
default y
depends on IEEE802154

config IEEE802154_S2LP
default y
depends on IEEE802154

config NET_CONFIG_IEEE802154_DEV_NAME
default "IEEE802154_S2LP"
depends on IEEE802154_S2LP

endif # IEEE802154

endif # SHIELD_X_NUCLEO_S2868A1
5 changes: 5 additions & 0 deletions boards/shields/x_nucleo_s2868a1/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2021 Nikos Oikonomou <[email protected]>
# SPDX-License-Identifier: Apache-2.0

config SHIELD_X_NUCLEO_S2868A1
def_bool $(shields_list_contains,x_nucleo_s2868a1)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
59 changes: 59 additions & 0 deletions boards/shields/x_nucleo_s2868a1/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
.. _x-nucleo-s2868a1:

X-NUCLEO-S2868A1: S2LP radio shield
###################################

Overview
********
The X-NUCLEO-S2868A1 expansion board is based on the S2-LP radio and operates
in the 868 MHz ISM frequency band. The expansion board is compatible with ST
morpho and Arduino UNO R3 connectors. The X-NUCLEO-S2868A1 interfaces with
the STM32 Nucleo microcontroller via SPI connections and GPIO pins. You can
change some of the GPIOs by mounting or removing the resistors.

.. image:: img/x-nucleo-s2868a1.jpg
:width: 350px
:height: 489px
:align: center
:alt: X-NUCLEO-S2868A1

More information about the board can be found at the `X-NUCLEO-S2868A1 website`_

Hardware
********

X-NUCLEO-S2868A1 provides the following key features:

- Based on S2-LP radio
- S2-LP narrow band ultra-low power sub-1 GHz transceiver tuned for 860 - 940 MHz frequency band
- Programmable RF output power up to +16 dBm
- Modulation schemes: 2-FSK, 2-GFSK, 4-FSK, 4-GFSK, OOK and ASK
- Air data rate from 0.1 to 500 kbps
- Ultra-low power consumption: 7 mA RX and 10 mA TX at +10 dBm
- IEEE 802.15.4g hardware packet support with whitening, FEC, CRC and dual SYNC word detection
- RX and TX 128 byte FIFO buffers
- Support to wireless M-Bus
- Excellent performance of receiver sensitivity (up to -130 dBm)
- Automatic acknowledgment, retransmission and timeout protocol engine
- Compatible with STM32 Nucleo boards
- Compatible with Arduino UNO R3 connectors
- Support to SMD and SMA antennas
- BALF-SPI2-01D3 IPD balun for matching network and harmonics filter
- Sigfox compatible
- 6LoWPAN compatible
- RoHS compliant


More information about X-NUCLEO-S2868A1 can be found in the
`X-NUCLEO-S2868A1 data sheet`_.

References
**********

.. target-notes::

.. _X-NUCLEO-S2868A1 website:
https://www.st.com/en/ecosystems/x-nucleo-s2868a1.html

.. _X-NUCLEO-S2868A1 data sheet:
https://www.st.com/resource/en/data_brief/x-nucleo-s2868a1.pdf
20 changes: 20 additions & 0 deletions boards/shields/x_nucleo_s2868a1/x_nucleo_s2868a1.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
* Copyright (c) 2021 Nikos Oikonomou <[email protected]>
*
* SPDX-License-Identifier: Apache-2.0
*/

&arduino_spi {
status = "okay";
cs-gpios = <&arduino_header 1 GPIO_ACTIVE_LOW>; /* A1 */

s2lp@0 {
status = "okay";
compatible = "st,s2lp";
reg = <0x0>;
label = "s2lp";
spi-max-frequency = <4000000>;
sdn-gpios = <&arduino_header 13 GPIO_ACTIVE_LOW>; /* D7 */
rx-rdy-irq-gpios = <&arduino_header 5 (GPIO_PULL_UP|GPIO_ACTIVE_LOW)>; /* A5 */
};
};

0 comments on commit 305fcd0

Please sign in to comment.