<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Configuring Wakeup by a GPIO on nRF54L15</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/128155/configuring-wakeup-by-a-gpio-on-nrf54l15</link><description>Hi, we want to evaluate the BLE ISP2454-LX chip. 
 To do this we bought from RUTRONIK FRANCE an ISP2454-LX-EB evaluation board with the ISP2454-LX-TB test board. 
 SDK : nRF Connect SDK Bare Metal v1.0.0 
 Tool Chain : nRF Connect SDK Toolchain v3.2.0</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 28 May 2026 07:48:54 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/128155/configuring-wakeup-by-a-gpio-on-nrf54l15" /><item><title>RE: Configuring Wakeup by a GPIO on nRF54L15</title><link>https://devzone.nordicsemi.com/thread/567006?ContentTypeID=1</link><pubDate>Thu, 28 May 2026 07:48:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:894c3b52-447d-4c66-b261-6b8038655079</guid><dc:creator>Andre MULLER</dc:creator><description>&lt;p&gt;Hi, the bm_buttons library works fine !&lt;/p&gt;
&lt;p&gt;BLE device can be waked up by a GPIO button.&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
&lt;p&gt;Andre MULLER&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configuring Wakeup by a GPIO on nRF54L15</title><link>https://devzone.nordicsemi.com/thread/566455?ContentTypeID=1</link><pubDate>Mon, 18 May 2026 11:50:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fa6eb319-3aac-46ff-9094-db080d4c7145</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;The CONFIG_GPIO is not used in the NCS Bare Metal SDK. Please see how the buttons are set up in the bare metal implementation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There is a button sample found in NCS for Bare Metal\nrf-bm\samples\peripheral\buttons&lt;/p&gt;
&lt;p&gt;For actual buttons running in your application, you may want to use the button library, as this had a debounce implemented (software debounce), but if you want to use it for wakeup from system off mode, then look at how the bm_buttons_init() is implemented:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;int bm_buttons_init(struct bm_buttons_config const *configs, uint8_t num_configs,
		    uint32_t detection_delay)
{
    ...

	const nrfx_gpiote_handler_config_t handler_config = {
		.handler = gpiote_evt_handler,
	};

	for (int i = 0; i &amp;lt; num_configs; i++) {
		const nrf_gpio_pin_pull_t pull_config = configs[i].pull_config;
		const nrfx_gpiote_trigger_config_t trigger_config = {
			.trigger = (configs[i].active_state == BM_BUTTONS_ACTIVE_HIGH)
				? NRFX_GPIOTE_TRIGGER_LOTOHI
				: NRFX_GPIOTE_TRIGGER_HITOLO
		};
		const nrfx_gpiote_input_pin_config_t input_config = {
			.p_pull_config = &amp;amp;pull_config,
			.p_trigger_config = &amp;amp;trigger_config,
			.p_handler_config = &amp;amp;handler_config,
		};

		const uint32_t pin_number = configs[i].pin_number;

		err = gpiote_input_configure(pin_number, &amp;amp;input_config);
		if (err) {
			return err;
		}
	}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;When this is set up as an input pin, it will wake up the device from system off mode.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>