diff --git a/pyrelacs/dataio/nix_writer.py b/pyrelacs/dataio/nix_writer.py
new file mode 100644
index 0000000..07e181d
--- /dev/null
+++ b/pyrelacs/dataio/nix_writer.py
@@ -0,0 +1,43 @@
+from IPython import embed
+import nixio
+
+from pyrelacs.dataio.circbuffer import CircBuffer
+from pyrelacs.util.logging import config_logging
+
+log = config_logging()
+
+
+class NixWriter:
+    def __init__(self, buffer: CircBuffer) -> None:
+        self.buffer = buffer
+
+    def write_nix(self, *args, **kwargs):
+        self._write_header()
+        items = 0
+        chunk = 1000
+        log.debug("Starting the writing")
+        self.write = True
+        while self.write:
+            log.debug(items)
+            try:
+                data, _ = self.buffer.read(items, extend=chunk)
+                self.data_array.append(data)
+            except IndexError as e:
+                log.debug(f"{e}")
+                continue
+            items += chunk
+        log.debug("Stoppint the writing")
+        log.debug(f"Samples written {items}")
+        embed()
+        exit()
+        self.nix_file.close()
+
+    def _write_header(self):
+        self.nix_file = nixio.File.open(path="data.nix", mode=nixio.FileMode.Overwrite)
+        self.block = self.nix_file.create_block("recording", "testfile")
+        self.data_array = self.block.create_data_array(
+            "Analog1", "ndarray", shape=(1000,), dtype=nixio.DataType.Double
+        )
+
+    def stop_writing(self):
+        self.write = False