diff --git a/platform/posix/wav_util.c b/platform/posix/wav_util.c
index 8c4be2fdb..9b6eeb3f9 100644
--- a/platform/posix/wav_util.c
+++ b/platform/posix/wav_util.c
@@ -153,7 +153,7 @@ int wav_writer_write_int8(int num_samples, int8_t * data){
     return 0;
 }
 
-int wav_writer_write_int16(int num_samples, int16_t * data){
+int wav_writer_write_le_int16(int num_samples, int16_t * data){
     if (data == NULL) return 1;
     fwrite(data, num_samples, 2, wav_writer_state.wav_file);
     
@@ -162,6 +162,23 @@ int wav_writer_write_int16(int num_samples, int16_t * data){
     return 0;
 }
 
+int wav_writer_write_int16(int num_samples, int16_t * data){
+    if (btstack_is_little_endian()){
+        return wav_writer_write_le_int16(num_samples, data);
+    }
+    if (data == NULL) return 1;
+
+    int i;
+    for (i=0;i<num_samples;i++){
+        uint16_t sample = btstack_flip_16(data[i]);
+        fwrite(&sample, 1, 2, wav_writer_state.wav_file);
+    }    
+
+    wav_writer_state.total_num_samples+=num_samples;
+    wav_writer_state.frame_count++;
+    return 0;
+}
+
 int wav_reader_open(const char * filepath){
     wav_reader_fd = open(filepath, O_RDONLY); 
     if (!wav_reader_fd) {
diff --git a/platform/posix/wav_util.h b/platform/posix/wav_util.h
index 0ed413759..a9fecb672 100644
--- a/platform/posix/wav_util.h
+++ b/platform/posix/wav_util.h
@@ -43,9 +43,31 @@
 #include <unistd.h>
 
 // return 0 if ok
+
+/**
+ * Write Int16 samples (host endianess)
+ * @return 0 if ok
+ */
 int wav_writer_open(const char * filepath, int num_channels, int sampling_frequency);
+/**
+ * Write Int8 samples
+ * @return 0 if ok
+ */
 int wav_writer_write_int8(int num_samples, int8_t * data);
+/**
+ * Write Int16 samples (host endianess)
+ * @return 0 if ok
+ */
 int wav_writer_write_int16(int num_samples, int16_t * data);
+/**
+ * Write Little Endian Int16 samples
+ * @return 0 if ok
+ */
+int wav_writer_write_le_int16(int num_samples, int16_t * data);
+/**
+ * Close wav writer and update wav file header
+ * @return 0 if ok
+ */
 int wav_writer_close(void);