diff --git a/8E5/hello.ftdi.8E5.cad b/gpio/8E5/hello.ftdi.8E5.cad
similarity index 100%
rename from 8E5/hello.ftdi.8E5.cad
rename to gpio/8E5/hello.ftdi.8E5.cad
diff --git a/8E5/hello.ftdi.8E5.components.jpg b/gpio/8E5/hello.ftdi.8E5.components.jpg
similarity index 100%
rename from 8E5/hello.ftdi.8E5.components.jpg
rename to gpio/8E5/hello.ftdi.8E5.components.jpg
diff --git a/8E5/hello.ftdi.8E5.interior.png b/gpio/8E5/hello.ftdi.8E5.interior.png
similarity index 100%
rename from 8E5/hello.ftdi.8E5.interior.png
rename to gpio/8E5/hello.ftdi.8E5.interior.png
diff --git a/8E5/hello.ftdi.8E5.png b/gpio/8E5/hello.ftdi.8E5.png
similarity index 100%
rename from 8E5/hello.ftdi.8E5.png
rename to gpio/8E5/hello.ftdi.8E5.png
diff --git a/8E5/hello.ftdi.8E5.ring.c b/gpio/8E5/hello.ftdi.8E5.ring.c
similarity index 100%
rename from 8E5/hello.ftdi.8E5.ring.c
rename to gpio/8E5/hello.ftdi.8E5.ring.c
diff --git a/8E5/hello.ftdi.8E5.ring.make b/gpio/8E5/hello.ftdi.8E5.ring.make
similarity index 100%
rename from 8E5/hello.ftdi.8E5.ring.make
rename to gpio/8E5/hello.ftdi.8E5.ring.make
diff --git a/8E5/hello.ftdi.8E5.traces.png b/gpio/8E5/hello.ftdi.8E5.traces.png
similarity index 100%
rename from 8E5/hello.ftdi.8E5.traces.png
rename to gpio/8E5/hello.ftdi.8E5.traces.png
diff --git a/CHIP_pro/chip_pro_shell.png b/gpio/CHIP_pro/chip_pro_shell.png
similarity index 100%
rename from CHIP_pro/chip_pro_shell.png
rename to gpio/CHIP_pro/chip_pro_shell.png
diff --git a/CHIP_pro/index.html b/gpio/CHIP_pro/index.html
similarity index 100%
rename from CHIP_pro/index.html
rename to gpio/CHIP_pro/index.html
diff --git a/CHIP_pro/ring b/gpio/CHIP_pro/ring
similarity index 100%
rename from CHIP_pro/ring
rename to gpio/CHIP_pro/ring
diff --git a/RaspberryPiZero_bcm2835/bcm2835-02ma.png b/gpio/RaspberryPiZero_bcm2835/bcm2835-02ma.png
similarity index 100%
rename from RaspberryPiZero_bcm2835/bcm2835-02ma.png
rename to gpio/RaspberryPiZero_bcm2835/bcm2835-02ma.png
diff --git a/RaspberryPiZero_bcm2835/bcm2835-06ma.png b/gpio/RaspberryPiZero_bcm2835/bcm2835-06ma.png
similarity index 100%
rename from RaspberryPiZero_bcm2835/bcm2835-06ma.png
rename to gpio/RaspberryPiZero_bcm2835/bcm2835-06ma.png
diff --git a/RaspberryPiZero_bcm2835/bcm2835-16ma.png b/gpio/RaspberryPiZero_bcm2835/bcm2835-16ma.png
similarity index 100%
rename from RaspberryPiZero_bcm2835/bcm2835-16ma.png
rename to gpio/RaspberryPiZero_bcm2835/bcm2835-16ma.png
diff --git a/RaspberryPiZero_bcm2835/index.html b/gpio/RaspberryPiZero_bcm2835/index.html
similarity index 100%
rename from RaspberryPiZero_bcm2835/index.html
rename to gpio/RaspberryPiZero_bcm2835/index.html
diff --git a/RaspberryPiZero_bcm2835/ring.c b/gpio/RaspberryPiZero_bcm2835/ring.c
similarity index 100%
rename from RaspberryPiZero_bcm2835/ring.c
rename to gpio/RaspberryPiZero_bcm2835/ring.c
diff --git a/RaspberryPiZero_node_rpio/index.html b/gpio/RaspberryPiZero_node_rpio/index.html
similarity index 100%
rename from RaspberryPiZero_node_rpio/index.html
rename to gpio/RaspberryPiZero_node_rpio/index.html
diff --git a/RaspberryPiZero_node_rpio/node_rpio.png b/gpio/RaspberryPiZero_node_rpio/node_rpio.png
similarity index 100%
rename from RaspberryPiZero_node_rpio/node_rpio.png
rename to gpio/RaspberryPiZero_node_rpio/node_rpio.png
diff --git a/RaspberryPiZero_node_rpio/ring.js b/gpio/RaspberryPiZero_node_rpio/ring.js
similarity index 100%
rename from RaspberryPiZero_node_rpio/ring.js
rename to gpio/RaspberryPiZero_node_rpio/ring.js
diff --git a/Ring.cydsn/Ring.cydwr b/gpio/Ring.cydsn/Ring.cydwr
similarity index 100%
rename from Ring.cydsn/Ring.cydwr
rename to gpio/Ring.cydsn/Ring.cydwr
diff --git a/Ring.cydsn/Ring.cyprj b/gpio/Ring.cydsn/Ring.cyprj
similarity index 100%
rename from Ring.cydsn/Ring.cyprj
rename to gpio/Ring.cydsn/Ring.cyprj
diff --git a/Ring.cydsn/Ring.rpt b/gpio/Ring.cydsn/Ring.rpt
similarity index 100%
rename from Ring.cydsn/Ring.rpt
rename to gpio/Ring.cydsn/Ring.rpt
diff --git a/Ring.cydsn/RingWiring.png b/gpio/Ring.cydsn/RingWiring.png
similarity index 100%
rename from Ring.cydsn/RingWiring.png
rename to gpio/Ring.cydsn/RingWiring.png
diff --git a/Ring.cydsn/TopDesign/TopDesign.cysch b/gpio/Ring.cydsn/TopDesign/TopDesign.cysch
similarity index 100%
rename from Ring.cydsn/TopDesign/TopDesign.cysch
rename to gpio/Ring.cydsn/TopDesign/TopDesign.cysch
diff --git a/Ring.cydsn/cyapicallbacks.h b/gpio/Ring.cydsn/cyapicallbacks.h
similarity index 100%
rename from Ring.cydsn/cyapicallbacks.h
rename to gpio/Ring.cydsn/cyapicallbacks.h
diff --git a/Ring.cydsn/main.c b/gpio/Ring.cydsn/main.c
similarity index 100%
rename from Ring.cydsn/main.c
rename to gpio/Ring.cydsn/main.c
diff --git a/nrf52/index.html b/gpio/nrf52/index.html
similarity index 100%
rename from nrf52/index.html
rename to gpio/nrf52/index.html
diff --git a/nrf52/nrf52-arduino.png b/gpio/nrf52/nrf52-arduino.png
similarity index 100%
rename from nrf52/nrf52-arduino.png
rename to gpio/nrf52/nrf52-arduino.png
diff --git a/nrf52/nrf52.png b/gpio/nrf52/nrf52.png
similarity index 100%
rename from nrf52/nrf52.png
rename to gpio/nrf52/nrf52.png
diff --git a/nrf52/ring.ino b/gpio/nrf52/ring.ino
similarity index 100%
rename from nrf52/ring.ino
rename to gpio/nrf52/ring.ino
diff --git a/ring.json b/ring.json
index 7ff1c8b88465afb0b08ad0eb8c31285190577144..d4b00633b442ae921d8b414909eabe375d05402b 100644
--- a/ring.json
+++ b/ring.json
@@ -10,11 +10,34 @@
 		"ring_period":"period of one full ring oscillator waveform, in microseconds"
 	},
 
-	"tests":[
+	"rf":[
+		{
+			"name":"nrf52",
+			"serial_number":"",
+			"subdirectory_path":"rf/nrf52832",
+			"dev_board_price":5,
+			"dev_board_sales link":"",
+			"ic_price":0.0,
+			"ic_sales_link":"",
+			"ring_period":74.0
+		},
+		{
+			"name":"nrf24L01",
+			"serial_number":"",
+			"subdirectory_path":"rf/nrf24L01",
+			"dev_board_price":4,
+			"dev_board_sales link":"",
+			"ic_price":0.0,
+			"ic_sales_link":"",
+			"ring_period":390.0
+		}
+	],
+
+	"gpio":[
 		{
 			"name":"nucleo, mbed",
 			"serial_number":"",
-			"subdirectory_path":"nucleo-mbed",
+			"subdirectory_path":"gpio/nucleo-mbed",
 			"dev_board_price":10.33,
 			"dev_board_sales link":"",
 			"ic_price":0.0,
@@ -24,7 +47,7 @@
 		{
 			"name":"lpc1768, mbed",
 			"serial_number":"",
-			"subdirectory_path":"lpc1768-mbed",
+			"subdirectory_path":"gpio/lpc1768-mbed",
 			"dev_board_price":54.95,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -34,7 +57,7 @@
 		{
 			"name":"ATmega32u4, Arduino",
 			"serial_number":"",
-			"subdirectory_path":"atmega32u4",
+			"subdirectory_path":"gpio/atmega32u4",
 			"dev_board_price":12.75,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -44,7 +67,7 @@
 		{
 			"name":"ATmega32u4, Port",
 			"serial_number":"",
-			"subdirectory_path":"atmega32u4",
+			"subdirectory_path":"gpio/atmega32u4",
 			"dev_board_price":12.75,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -54,7 +77,7 @@
 		{
 			"name":"Teensy, Teensyduino",
 			"serial_number":"",
-			"subdirectory_path":"teensy",
+			"subdirectory_path":"gpio/teensy",
 			"dev_board_price":19.80,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -64,7 +87,7 @@
 		{
 			"name":"Teensy, Port",
 			"serial_number":"",
-			"subdirectory_path":"teensy",
+			"subdirectory_path":"gpio/teensy",
 			"dev_board_price":19.80,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -74,7 +97,7 @@
 		{
 			"name":"RaspberryPi, PythonGPIO",
 			"serial_number":"",
-			"subdirectory_path":"raspberrypi",
+			"subdirectory_path":"gpio/raspberrypi",
 			"dev_board_price":41.94,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -84,7 +107,7 @@
 		{
 			"name":"RaspberryPi, C",
 			"serial_number":"",
-			"subdirectory_path":"raspberrypi",
+			"subdirectory_path":"gpio/raspberrypi",
 			"dev_board_price":41.94,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -94,7 +117,7 @@
 		{
 			"name":"PSoc 5LP, API",
 			"serial_number":"",
-			"subdirectory_path":"psoc5lp",
+			"subdirectory_path":"gpio/psoc5lp",
 			"dev_board_price":10.00,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -104,7 +127,7 @@
 		{
 			"name":"PSoc 5LP, Hardware",
 			"serial_number":"",
-			"subdirectory_path":"psoc5lp",
+			"subdirectory_path":"gpio/psoc5lp",
 			"dev_board_price":10.00,
 			"dev_board_sales_link":"",
 			"ic_price":0.0,
@@ -114,7 +137,7 @@
 		{
 			"name":"XMega8E5",
 			"serial_number":"",
-			"subdirectory_path":"8E5",
+			"subdirectory_path":"gpio/8E5",
 			"dev_board_price":2.30,
 			"dev_board_sales_link":"",
 			"ic_price":3.00,
@@ -124,7 +147,7 @@
 		{
 			"name":"RPiZero, BCM2835",
 			"serial_number":"",
-			"subdirectory_path":"RaspberryPiZero_bcm2835",
+			"subdirectory_path":"gpio/RaspberryPiZero_bcm2835",
 			"dev_board_price":5.00,
 			"dev_board_sales_link":"",
 			"ic_price":0.00,
@@ -134,7 +157,7 @@
 		{
 			"name":"RPiZero, node rpio",
 			"serial_number":"",
-			"subdirectory_path":"RaspberryPiZero_node_rpio",
+			"subdirectory_path":"gpio/RaspberryPiZero_node_rpio",
 			"dev_board_price":5.00,
 			"dev_board_sales_link":"",
 			"ic_price":0.00,
@@ -144,7 +167,7 @@
 		{
 			"name":"C.H.I.P. pro, shell",
 			"serial_number":"",
-			"subdirectory_path":"CHIP_pro",
+			"subdirectory_path":"gpio/CHIP_pro",
 			"dev_board_price":16.00,
 			"dev_board_sales_link":"",
 			"ic_price":0.00,
@@ -154,7 +177,7 @@
 		{
 			"name":"NRF52",
 			"serial_number":"",
-			"subdirectory_path":"nrf52",
+			"subdirectory_path":"gpio/nrf52",
 			"dev_board_price":7.00,
 			"dev_board_sales_link":"",
 			"ic_price":3.00,