From 5d96b9005a0a0784c830d2c6c88961591398a675 Mon Sep 17 00:00:00 2001 From: Sam Calisch <s.calisch@gmail.com> Date: Wed, 31 May 2017 13:00:16 -0400 Subject: [PATCH] added nrf52 --- nrf52/index.html | 72 ++++++++++++++++++++++++++++++++++++++++ nrf52/nrf52-arduino.png | Bin 0 -> 5556 bytes nrf52/nrf52.png | Bin 0 -> 7483 bytes nrf52/ring.ino | 14 ++++++++ ring.json | 12 ++++++- 5 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 nrf52/index.html create mode 100755 nrf52/nrf52-arduino.png create mode 100755 nrf52/nrf52.png create mode 100644 nrf52/ring.ino diff --git a/nrf52/index.html b/nrf52/index.html new file mode 100644 index 0000000..77fe776 --- /dev/null +++ b/nrf52/index.html @@ -0,0 +1,72 @@ +<html> +<head> +<style> +pre code { + background-color: #eee; + border: 1px solid #999; + display: block; + padding: 20px; +} +</style> + + +</head> +<body> + +<h1>NRF52</h1> + +<figure> +<img src='nrf52.png'> +<figcaption>Ring oscillator with nrf52.</figcaption> +</figure> + +<p>This ring oscillator runs on the NRF52 BLE SOC using the Adafruit feather development board. The NRF52 has an ARM Cortex M4F running at 64 MHz with built in BLE radio. An arduino sketch for the oscillator is available <a href='ring.ino'>here</a>, or visible below.</p> + +<pre> +<code> +const int pin_in = g_ADigitalPinMap[25]; +const int mask_in = 1 << pin_in; +const int pin_out = g_ADigitalPinMap[26]; +const int mask_out = 1 << pin_out; + +void setup() { + pinMode(pin_out, OUTPUT); + pinMode(pin_in, INPUT); + while(1){ + NRF_GPIO->IN & mask_in ? NRF_GPIO->OUTCLR = mask_out : NRF_GPIO->OUTSET = mask_out; + } +} + +void loop() {} +</code> +</pre> + +<p>Note: This test was run on a the Adafruit Feather Dev board, which uses the Raytac MDBT42Q module, incorporating the NRF52. The module retails for $7, the development board retails $24. Other (untested) modules are available for a lower price from Fanstel.</p> + +<p>With the generic Arduino library calls, the ring oscillator is much slower:</p> + +<figure> +<img src='nrf52-arduino.png'> +<figcaption>Ring oscillator with nrf52 using Arduino library calls.</figcaption> +</figure> + +<p>The code for this is below:</p> + +<pre> +<code> +void setup() { + pinMode(PIN_WIRE_SDA, OUTPUT); + pinMode(PIN_WIRE_SCL, INPUT); +} + +void loop() { + digitalWrite(PIN_WIRE_SDA, 1-digitalRead(PIN_WIRE_SCL)); +} +</code> +</pre> + +<p><a href='../index.html'>Back</a></p> + +</body> + +</html> \ No newline at end of file diff --git a/nrf52/nrf52-arduino.png b/nrf52/nrf52-arduino.png new file mode 100755 index 0000000000000000000000000000000000000000..aff63bb9a2221eb242894c3ade53d201dd9b08af GIT binary patch literal 5556 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 literal 0 HcmV?d00001 diff --git a/nrf52/nrf52.png b/nrf52/nrf52.png new file mode 100755 index 0000000000000000000000000000000000000000..cbc9b44316cafbac032decf50bce4c302b225296 GIT binary patch literal 7483 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 a!>czU@g+acrZO-vFnGH9xvX<aXaWFhh8C^> literal 0 HcmV?d00001 diff --git a/nrf52/ring.ino b/nrf52/ring.ino new file mode 100644 index 0000000..bdb995e --- /dev/null +++ b/nrf52/ring.ino @@ -0,0 +1,14 @@ +const int pin_in = g_ADigitalPinMap[25]; +const int mask_in = 1 << pin_in; +const int pin_out = g_ADigitalPinMap[26]; +const int mask_out = 1 << pin_out; + +void setup() { + pinMode(pin_out, OUTPUT); + pinMode(pin_in, INPUT); + while(1){ + NRF_GPIO->IN & mask_in ? NRF_GPIO->OUTCLR = mask_out : NRF_GPIO->OUTSET = mask_out; + } +} + +void loop() {} \ No newline at end of file diff --git a/ring.json b/ring.json index f8a07d2..7ff1c8b 100644 --- a/ring.json +++ b/ring.json @@ -150,6 +150,16 @@ "ic_price":0.00, "ic_sales_link":"", "ring_period":11000000 - } + }, + { + "name":"NRF52", + "serial_number":"", + "subdirectory_path":"nrf52", + "dev_board_price":7.00, + "dev_board_sales_link":"", + "ic_price":3.00, + "ic_sales_link":"", + "ring_period":377 + } ] } \ No newline at end of file -- GitLab