Measuring storage performance on Raspberry PI.

The background for this post was that some Z-LiveRec users experienced problems with USB Sticks formatted in exFAT format and using the resources demanding W64 file format. The idea with using exFAT is the ability to utilize larger storage medias without any limits in file size – compared FAT32 which limit single files to 4GB. W64 is a wav format which is using 64 bits file structure…and supports unlimited file sizes – compared to wav which has a limit on 2GB.

By using W64 on exFAT…Z-LiveRec is able to store multitrack files which easily can be like 22GB for a 1.5h recordings with 48 channels. But it is here some users have started to see problems – a lot of buffer overruns was reported in Z-LiveRec. If selecting less channels – the problem disappears. Note: there is also another unlimited format available in Z-LiveRec called “CAF” (Apples multitrack format) which have the same characteristics as W64 – which seems to run more smooth and is nicer in performance for a Raspberry PI – so one solution is to use this format instead.

But why do W64 report a lot of buffer overruns in exfat? I had to investigate this more in detail – especially if using FAT32 instead – no problem was reported. 🙂

Equipment used:

  • Raspberry PI 4B with 2GB RAM.
  • Sandisk Ultrafit 64GB, USB 3.1 Stick. (130MB/s for reading and 55 MB/s writing)
  • Sandisk Extreme Go 64GB USB 3.2 stick (395 MB read/s and a write speed of 100 MB/s)
  • Samsung TEAM SX2 – 120GB SSD drive.
  • Behringer XR18
  • Raspberry PI OS “10” BUSTER 32 Bit.
  • Raspberry PI OS ”11” BULLSEYE 32 bit

First check the version of the Raspberry PI OS used:

cat /etc/os-versions

Ok – in theory – can a storage device be measured by Raspberry PI? Yes by moving to the drive you want to measure:

cd /media/pi/$HARD_DRIVE_LABEL

and then execute the following code:

dd if=/dev/zero of=test.bin bs=10M count=100

and the system will show: (Takes a little while)

100+0 records in
100+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 755.422 s, 1.4 MB/s

The system will show the write speed – e.g. 1.4MB in this case! (Too Slow!)

Ok, using this info and apply it to our storage devices used will give us the following data:

DeviceFilesystemWrite speed
Sandisk Ultrafit 16GB on Buster OSFAT3210,2MB/s
Sandisk Ultrafit 16GB on Buster OSexFAT5.9 MB/s
Sandisk Ultrafit 16GB on Buster OSNFTS15,7 MB/s
TEAM GROUP SX2 SSD over USB 2 on Buster OSFAT3233,8 MB/s
TEAM GROUP SX2 SSD over USB 2 on Buster OSexFAT36,8 MB/s
TEAM GROUP SX2 SSD over USB 2on Buster OSNTFS30 MB/s
Sandisk Ultrafit 16GB on Bullseye OSexFAT15,3 MB/s
Sandisk Extreme Go 64GB USB 3.2 stickexFAT12,6 MB/s

Ok, when used these storage types in Z-LiveRec with w64 format!

DeviceFile systemRecording sizebuffer sizechannelsBuffer Overruns
Sandisk Ultrafit 16GB on BusterexFAT6GB1MB486
Sandisk Ultrafit 16GB on BusterexFAT4GB1MB183
Sandisk Ultrafit 16GB on BusterexFAT4GB256K181
Sandisk Ultrafit 16GB on BusterexFAT16GB256K1816
Sandisk Ultrafit 16GB on BusterexFAT16GB128K4817
Sandisk Ultrafit 16GB on BusterNTFS16GB1MB3210
Sandisk Ultrafit 16GB on BusterNTFS16GB1MB180
TEAM SX2 on BusterNTFS22GB1MB328
Sandisk Extreme Go 64GB on BullseyeexFAT15GB1MB180


ExFAT seems to have performance problems in Buster…but works great in Bullseye! It seems like a faster USB stick makes great improvements to the write speed. Another recommendation is to use Sandisk Extreme Go USB 3.2 Flash drives with 64GB – which has a read speed of 395 MB read/s and a write speed of 100 MB/s. Compared to the Sandisk Ultra Slim Fit – which has a read speed on 150MB/S and a write speed on 55MB/S – the Extreme GO USB stick can improve the situation with experienced buffer overruns a lot! (e.g Zero overruns!)

Raspberry PI in displayless mode…

I recently got a question about if Z-LiveRec could be used on Raspberry PI but without a screen or monitor. (Headlessmode) The idea from the user was to be able to remote control Z-LiveRec running on Raspberry using a RealVNC terminal window (which is built in Raspberry)

So the challenge was to create a Raspberry PI to boot up, logging in to the pre-defined WI-FI network and create a remote server session which any device on the same WI-FI network could to attach to.

I liked the idea – so I had to try it out!

I first installed a Raspberry PI and also Z-LiveRec and got it working, using a hdmi screen attached. I have a post for this exactly how to make a nice Raspberian installation for Z-LiveRec in this linked post. I had both DL32S and XR18 built in WI-FI on my target list for these tests. I tried first to attach to the terminal session by using XR18s built in Wi-Fi network. I was of course able to attach to the network from my iPad running x-air and also from the Raspberry PI. (The multichannel recording handled by Z-LiveRec is going over USB to XR18)

But after many attempts trying run the VNC client on my iPad…it was totally impossible to get XR18S built Wi-Fi network to route/forward any other network information than just the X-Air network information – which have been said using port 10024. (It does not route/handle port number 5900 as VNC is using) – and you also have a limit on max 4 devices on the built in XR18 Wi-Fi. So the conclusion was if you want to use VNC against a Raspberry PI forget the XR18 internal wifi – it is not possible.

Ok, I changed to a external router and BAM!!! The VNC session showed up and worked immediately!

So was now able to start Z-LiveRec in a VNC session from my iPad.

I have made the same tests on my Mackie DL32S…and here the internal router forwards all ports – so on this mixer the internal Wi-Fi can be used – but is not recommended…always use an external router when out on gigs!

To create a system which will auto start a VNC Server Session, the following tasks needs to be done.

Edit the rc.local file by typing:

sudo nano /etc/rc.local

Insert the following line, just before the exit 0 line.

sudo -u pi vncserver -randr=1280x720

You can check if VNC Server is installed…by typing VNCSERVER. You will also see which IP address is used.


Note: You actually don’t need to enable VNC in the PI configuration hardware…the auto startup will take care about this. (If you also enable it in the configuration…dual VNC sessions will be created – eating more resources.

Now you can run the VNC Client on your iPad and attach to the Raspberry PI – 192.168.1.xx:1

The login screen in VNC on a ipad.

Check your username and password.

It normally takes about 30 seconds for the system to boot up.

If you have trouble with cannot currently show desktop messages…set the screen resolution to 1280×720 with sudo raspi-config command and choose display options.

Conclusion – you can indeed use a Raspberry PI in headless mode/black box – and run Z-LiveRec remotely from any network device that is supported by VNC. (You need to have done the homework with all settings for the mixer wifi…but after this – it will work just as good as with a touch display.

Z-LiveRec V2.25 launched!

V2.25 2022-04-18 – NEWS!

I must first confess that development always takes 4 times more than expected. But here you have a new fresh version of Z-LiveRec – The multitrack recorder for Raspberry PI! In this new version you will find many nice improvements and also some new nice tools and functions that will make Z-LiveRec to the Virtual Soundcheck Tool #1 for your digital mixer!

Have a look – and please check the new version out!

  • Feature to change the ”Quit” button to not only quit the application – but also added the function to able to completely shutdown the Raspberry PI OS. This features can be turned “on” in the License dialogue window and by checking the Quit Button option.
  • Added keyboard shortcuts ctrl + r(recording), p(playing), s(stop), x(quit app), (and F1, F2, F4 and F10 – see below)
  • Added more buffer sizes – smaller size 131072 and bigger sizes 4194304 – to try with if buffer overruns show up and when using slower USB Sticks.
  • Fixed so that sound files can be played/read from any sub directory. Recordings will still only be stored in the root of the selected storage device. (Except when exporting recordings)
  • Added a file split counter in the GUI when recording in *.wav type of files. (2 GB splits)
  • Virtual Soundcheck & Export tools – Added locators in the GUI. When in play mode – the new Virtual Soundcheck & Export tools shows up with some new buttons. Left & right locator will set play area of an existing recording. Pressing “Play” will replay the recording between the locators. Pressing “loop” will keep playing the selected area between the locators forever. (Keyboard shortcuts are also added to set left/right locator by pressing ctrl F1 and ctrl F10. Ctrl F2 will start playing between the locators. Ctrl F3 will turn on ”loop” replay – Ctrl F4 will turn off loop replay)
  • Virtual Soundcheck & Export tools – by pressing “export” when replaying sound files in locator mode – the selected area between the locators can be exported to a new wave file. (This can be done from any file format like *.wav, *.W64 or *.caf and these can be exported to *.wav format. The exports can be done to both to a single multitrack file or be split by channel to separate wav files. See button “Separate tracks”) This function is extremely useful when been recording a complete concert with 32 channels and you want to export a part, song to a new separate file. By splitting all channels to separate files – any DAW on the market can be used for post-production tasks.
  • Virtual Soundcheck & Export tools – when in main window – an export function is available to export a complete recording from any file format like *.wav, *.W64 or *.CAF to *.wav format – both to a single multitrack file or been split by track/channel to separate wav files. See button “Separate tracks”. Note – Free storage space is needed on the same drive as the original file.

Performance and bug fixes:

  • Added some performance tweaks and fixed some hangs ups bugs.
  • Memory management using a garbage collector function to clean up the system after playing/recording – reports and stats can be found in the logfile.
  • Logging of CPU version and OS version when recording/playing in the Z-LiveRec.log.
  • Fixed a bug when in touch mode when the USB devices were more than 3, all devices did not report. Same with storage devices.
  • Hard test of doing large recordings – up to 64GB – without any problems or GUI shutdowns. Works great in Raspberry PI OS – 32bit Bullseye.
  • GUI clean up in the main screen/window.
  • Launched 64 bit support for Raspberry PI OS – Bullseye – this is delivered as a separate application – available to download for registered users of Z-LiveRec. Note: This version is still for experimental uses. (Please note: a 64 bit application will not run in a 32 bit OS and vice versa – and the auto update function will currently not work.)

Some Other notes

  • An USB Stick must have a proper set label name – before use with Z-LiveRec. (When using default or none label – errors will otherwise occur when recording)
  • Verified that 2GB wave splits (when using *.wav to not violate the format) does not generate any delay between splits. Checked and verified in Cubase 11 – no delays found between files.
  • If experiencing many buffer overruns problems when using exFAT and doing recordings with W64 and with many channels – a too slow USB stick could be the root cause. It looks like changing to NTFS file format can improve the situation. Another recommendation is to use Sandisk Extreme Go USB 3.2 Flash drives with 64GB – which has a read speed of 395 MB read/s and a write speed of 100 MB/s. Compared to the Sandisk Ultra Slim Fit – which has a read speed on 150MB/S and a write speed on 55MB/S – the Extreme GO USB stick can improve the situation with experienced buffer overruns a lot! (e.g Zero overruns!)
  • More details about Z-LiveRec 2.25 can be found in the manual for V2.25

A free update is available for registered users (Login to “My Account” and download the latest edition or use the e-mail download link from the original order acknowledgement) and free demo/trial version is also available for everybody else to try the app!

Please note: Using the auto update function in Z-LiveRec (for registered users) – You will find a zip file in the PI/Home directory – and you can just extract the zip file yourself – and the V2.25 version will show up.

The update process will try to unzip Z-LiveRec and overwrite the old version of the app – and a chmod r+x command can be required to get the V2,25 version to run again. See the manual for more information.

Best Regards

Anders /

Z-LiveRec V2.24 launched!

Some real improvements and bug fixes are included:

  • Multilanguage support – some country localizations captures some Unix commands and answers in local language when going from UTF-8 to something else. A change in Z-LiveRec made it possible to use the app with any localization of Raspbian OS. Tested and verified to work for English, French and German language settings.
  • A proper split function for wave files is now implemented – so if recording wav file formats – a seamless file split will occur at each 2GB. The file names are autogenerated with xxxxx001.wav, xxxxx002.wav, xxxxx003.wav etc.
  • The new play “slider” have been improved to better handle several transfers and jumps back and forward in the playing file without any problems.
  • Minor fix when enabling auto update or auto start functionality in Z-LiveRec, will now request for PI password for sudo operations with hidden characters. (It does not store the password!)
  • Added auto update events and data in the Z-RecLive.log file.
  • Added replay operations data in Z-LiveRec.log file.
  • Update hard disk sizes when toggling between storage devices in touch mode.

A free update is available for registered users (Login to “My Account” and download the latest edition or use the e-mail download link from the original order acknowledgement) and free demo/trial version is also available for everybody else to try the app!

Please note: Using the auto update function in Z-LiveRec 2.23 (for registered users) – You will find a zip file in the PI/Home directory – and you can just extract the zip file yourself – and the V2.24 version will show up.

Z-LiveRec V2.23 launched!

Finally – a new version launched of Z-LiveRec! The goal with this edition was to “touch” enable the application to 100% so you don´t need a keyboard when running it on a 3.5″ touch screen. (This is the first step to create a new GUI) Another goal has been to close the gap for the app to become “The virtual soundcheck tool” – were we now added better functionality for fast forward & backwards using a slider to jump in the recordings when playing. More functionality will follow! And of course – some small changes and bugfixes.

Change list and new features in V2.23:

  • A transfer slider added to the replay function – you are now able to jump/transfer in the recordings when replaying and move forward and backwards to a certain play point – Perfect for virtual soundchecks! You can see time locator update when moving the slider forward/backward – the player will continue playing at the selected time when releasing the mouse button or pen.
  • A 100% touch based GUI (When enabled in the license dialog window – select the “Touch” checkbox). Perfect for Raspberry PI implementations with 3.5″ touch displays. The main page dropdown lists will is converted to label buttons instead in the touch mode showing the actual selection of setting – and by clicking on the button will toggle and increase the value – e.g. channels 2, 4 ,8 etc, storage devices and file format.
  • In the license dialog window – when entering e-mail address and also license key – a pop up onscreen keyboard is visible – just perfect for Raspberry PI implementations with 3.5″ touch display.
  • More information added to the log handling, (Z-LiveRec.log) when replaying sound files.
  • Added functionality to determine file information – when opening multitrack files for replay, Z-LiveRec now checks the amount of channels, bits deep and time length. Z-LiveRec always uses 24bit when recording to keep file sizes low. But when replaying multitrack files changed in popular DAW applications – most of them will save the multitrack files in floating 32bit format. Z-LiveRec can now automatically detect and read these files.
  • Added support for Raspberry PI Zero WH – a bit limited and slow – but it can handle up to 8 channels using Wav/CAF.
  • Added support for Raspberry PI Zero 2W can handle up to 32 channels in Wav/CAF file format. (Note: Can’t handle 32 channels in the W64 format which “eats” more resources.)
  • Fixed the open file dialog so it is centered to the Z-LiveRec app – not to the actual screen.
  • Performance optimization of threads
  • Fixed the Z-LiveRec logo so it points to
  • Checking license at boot.
  • Some bug fixes.

A free update is available for registered users (Login to “My Account” and download the latest edtion) and free demo/trial version is also available for everybody else to try the app out!

A small bug was found in a late stage of the launch of V2.23 and that is for the auto update function found inside Z-LiveRec – where it does not update the existing app exe. This is for both V2.21 and V2.23 – You will find a zip file in the PI/Home directory – and you can just extract the information yourself – and the V2.23 version will show up. This bug will be fixed in V2.24.

Have a look at the Z-LiveRec product page.

Use Raspberry PI to Route Spotify over USB to your Behringer XR18 or Mackie DL Series mixer

A common task when doing concerts is to have pause music during the gig breaks – and of course “YES” you can always have an extra iPhone or computer running with Spotify installed and use two analog inputs on your mixer. (Simple!) – But to raise the bar slightly and make something a little bit more advanced – I came up with the following solution as a spin-off when researching and developed the USB multi-track recorder Z-LiveRec for mixers like Behringer XR18 and Mackie DL16/32S and using a Raspberry PI as the heart. 🙂

Multi-tracks over USB 2 or 3 is a fantastic idea, which is used by most mixer vendors on the market. You can both send and receive up to 16 or 32 or even 64 tracks (dependent on your hardware) at the same time. So there is some scenarios which you can use here. One common is to utilize plug-in effects in a DAW tool like a cool echo or reverb…and address it as a effect on your DL32S, send it to a Mac over USB to the DAW/plug-in and immediately get the signal back over USB to your mixer again. See the video recording describing this on the following link.

For Raspberry PI there is a Spotify Connect Client called Raspotify available which can be used as extension adding an extra sound device on the network seen from any of your PC, Mac, Iphone running Spotify client etc. Simply – you are able to tell Spotify to send the music to your Raspberry device and then use the headphone output etc to hear the music. In this case your PC/iPhone/iPad etc controls the music…and the Raspberry just executes the task and playing the music stream. Benefit received: You could stand in the audience and trigger the music from your iPad running Master Fader and the Spotify client wirelessly!

But to use two analog inputs connected to your Raspberry PI on your mixer to play this digital stream feels in this case feels a bit annoying. (Especially for me which is using my DL32S to record and play 32 channels over USB using the Z-LiveRec App.)

However, I found the following scenario which enable me to use the Raspberry PI to also send the Raspotify music stream over USB to my mixer. So the Spotify music stream is now been sent to return channel 1&2 on my mixers (Behringer XR18 or DL16/32S or DL32R mixer)

To configure a Raspberry PI to handle this you need to do two steps:
a) Install the Raspotify Client,
b) Configure Raspberry to send the information further over USB to your mixer.

So lets get down to business – how to do it?

  1. After connecting your mixer via USB to the raspberry PI.
aplay -l

Run the command “aplay -l” in a terminal window on your Raspberry PI and look for the USB Card number for your mixer. (e.g. 1 or 2 – this could differ when running on a hdmi screen when doing the configuration – until running on a 3.5″ touch screen)

2. Execute the command in a terminal window on your Raspberry:

sudo nano /usr/share/alsa/alsa.conf

Look for the lines: (A couple of pages down)

"defaults.ctl.card 0"
"defaults.pcm.card 0"

Change these from 0 to your Card number from what is reported by "aplay"
"defaults.ctl.card 1"
"defaults.pcm.card 1"

Save the file by pressing CTRL X - press Yes...and then return to save. 

3. Install the Raspotify Client: (In a terminal window on your Raspberry PI)

curl -sL | sh

4. Now, edit the Raspotify configuration file (Set in your parameters and uncomment some configuration in this file)

sudo nano /etc/default/raspotify

OPTIONS="--username <your_spotify_name> --password <xxxxx>"
BACKEND_ARGS="--backend also"

Save the file by pressing CTRL X - press Yes...and then return to save. 

5. Now, patch the asound.conf file (This file may not exist – so nano editor will create it. Please note that you need change the CARD=X to your mixer environment reported by aplay on step #1.

sudo nano /etc/asound.conf

type asym
playback.pcm {
type plug
slave.pcm "dmix:CARD=1,RATE=48000"

Save the file by pressing CTRL X - press Yes...and then return to save. 

6. Last – do a reboot of your Raspberry!

The Raspberry needs to be on the same network as your mixer (Either over ethernet or via WI-FI) – The whole network needs to have access to internet to get the music stream and the Spotify Connect run.

But you will now be able to see your DL-32S in the Spotify application as a device from your PC/Mac/Iphone/iPad and if you hit play…the Rasberry will start to play music and send it over USB port 1&2 to your mixer…to be recieved on the Return channel 1&2 on your mixer.

Pretty neat? 🙂

Z-LiveRec 2.21 launched!

Z-LiveRec 2.21 is just launched and have been updated for both the trial/demo and the full version.


  • Z-LiveRec V2.21 launched 2021-10-14
  • Fixed a bug with Buffer-Overruns that was not reported in the log file – Z-LiveRec.log
  • More information added to the log file handling, Z-LiveRec version, date of recording etc.
  • License key handling – showing green/red license button before/after registration.
  • Auto start option stored in license settings GUI – this checkbox adds the Z-LiveRec.exe to run after the OS been booted. Please note: This requires Z-LiveRec.exe needs to be present on the internal storage for the OS.
  • GUI checkboxes and dropdowns added under the license button/dialog for the full version of Z-LiveRec where it is possible to:
    • Enable windows borderless mode – make the app to stay in focus – good when running on 3.5″ screens.
    • Add the log function and verbose level in the GUI.
    • Switch on/off the auto start function – reboot of the OS required.
    • Handle buffer settings for the recording process.
    • All these parameters are stored and can be edited in the Z-LiveRec.cfg file. (if using the Trial/Demo version – auto start will not be supported)
  • Fixed an error with rights issue the auto update function for previous versions of Z-LiveRec – when looking for newer versions – it will now enable cloud updates for future upcoming releases. Existing users of older versions (2.19 & 2.20) must manually download the latest version through through their account or unpacking the downloaded file which can be found in the same directory as the current exe. But after 2.21 release, the auto update function will be present for future releases.
  • Existing and registered users of the full version can download the latest version for free!
  • Unregistered users of the full version will allow up recordings up to 500 MB storage (was 350 MB) – Unlimited for registered users – Files in W64/CAF format have successfully been recorded to 50GB+
  • The Trial/demo version is always free and will allow up to 200MB of recordings.

The new settings GUI found under the “License” for the full version of Z-LiveRec.

How to build a multitrack recorder!

To create your own smooth multitrack recorder hardware for mixer consoles like Mackie DL16S/32S/DL32R and Behringer X32/XR18 based on Raspberry Pi 4, the following information is needed:

Updated 2022-05-23

Bill of material:

  • Raspberry PI 4, 2MB or more, Raspberry 400 (Raspberry PI 3 B+ will probably work fine also.
  • Raspberry Zero 2 W will work but some parts like booting up etc feels extremely slow)
  • RP4/RP3 Case with 3.5″ touch display – I recently tried both the steel case and a 3.5” touch display from Waveshare. Waveshare is a bit more expensive but have great support and drivers for Raspberry PI OS – Buster – smooth installation even for non-Unix hackers…which will save you hours!
  • 16GB SD Card with Raspbian OS (Latest version – last tested – )
  • Raspberry Pi OS (Legacy) with desktop (Bullseye or Buster 32 bit works Raspberry PI 4B with 2GB or 4GB.
  • USB 3.2 memory stick / transfer rates above 130 mb/s or a SSD disk. The Sandisk Extreme Go USB 3.2 Flash Drive…(Reads 395 MB/s and Writes 100MB/s) – works great – no buffer issues!
  • Z-LiveRec application (Trial/demo or full version)

I have tried both Raspberry PI 4 with screen and case from Waveshare (about $35 + delivery) and also another a approach where I picked up a cheap 3.5″ screen kit on Ebay with case and heatsink for about $15. My recommendation is however to go for the waveshare products which have better drivers and documentation- which will save you hours of configuration. If you create a SD boot card with Raspberry PI OS and uses it with the Waveshare 3.5” screen…you could just follow Waveshare documentation and skip the 2-5 steps below!

The waveshare support page is:

To assembly the PI 4, screen in the case with heat sink is pretty straight forward. But how to enable the 3.5″ XP2046 type display via SPI in Raspbian with touch support also enabled? Not completely obvious – there is a lot of confusing information and links pointing to strange driver installations etc…and they all had in common are they never worked – however I found a post written by somebody that had made the journey for real.
The secret remains in the fact that the drivers are already built into the kernel using the latest versions of Raspbian PI OS – Bullseye or Buster. Note: So you don’t need to install any other manufacturer drivers. The only driver needed is for the touch screen part.

Step 1.

Preparations: Download and install the Raspberry PI Imager app from to your PC or MAC.

  • In the Imager app, select the Raspberry PI OS (32Bit)
  • Pick Raspberry Pi OS (Legacy) 32 bits versions Buster or Bullseye. (Please note: Z-LiveRec will work on 64 bit version of Bulleye will be launched in V2.25)
  • Any type of language on PI OS will work Z-LiveRec. (From V2.24)
  • Insert an empty 16GB MicroSD card in your PC.
  • Choose storage – select the 16 GB MicroSD card
  • Click “Write” to generate the OS MicroSD.
  • When ready – install the card into your Raspberry PI and boot it up against a HDMI monitor.
  • Follow the generic installation and setup scenario.

Step 2.

First of all enable SPI by using the terminal and the command:
Navigate to ‘Interfaces’ and then enable SPI function.

Reboot if needed through the command in the terminal:
sudo reboot

The touch screen should turn on and be white colored.

Step 3.

Give the following command to update and upgrade Raspbian to the latest:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

To get all the lastest updates of the OS!

Step 4.

Now to modify the configuration file to configure the display:

sudo nano /boot/config.txt

Then add this line to the bottom, In the PI4 section, add the following: (For Buster)


(You can comment out the existing #dtoverlay=)

For Bullseye 32 bits: (I had problems with the code above on my 3.5″ display)

#Autogenerated Settings

Press Ctrl+X, Y, and Enter. (To save the file)

Give the command:
sudo reboot

Important: Unplug your HDMI cable now!

You now see Raspbian booting up on the 3.5 inch screen.

Step 5.(For Buster) – You maybe don’t need it in Bullseye

At this point your mouse and touch screen will probably be moving backwards. In the newer versions of Raspbian (Raspberian Buster) they changed input control from evdev to libinput. You need therefore to install evdev or it will ignore your screen settings found in the conf file 99-calibration.conf configurations.

sudo apt-get install xserver-xorg-input-evdev
sudo reboot

You can now modify your 99-calibration.conf file

sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf

Copy and past below

Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
# Don’t use libinput but evdev for the touch screen and the pen
Driver “evdev”
Option “Calibration” “3936 227 268 3880”
Option “InvertY” “false”
Option “InvertX” “false”

Save the file by using the CTRL-X – Y + Enter command.

sudo reboot

Your Raspberry Pi 4 should come up now on the 3.5” Touchscreen and it should be working in the right direction.

Note: If you need to run the raspberry pi on the external hdmi monitor again…just plug-in the hdmi cable again – pretty smooth! (I can be good to try Z-LiveRec with a HDMI monitor first – to see that all is running as supposed it is to!)

You can now install Z-LiveRec app according to the manual.

Z-LiveRec 2.20 launched!

Z-LiveRec 2.20 is just launched and have been updated for both the trial/demo and the full version.


  • The file dialog when running in borderless windows mode and when opening a sound file – have been corrected to work.
  • More log data have been added to the Z-LiveRec.log file to make it more clear which file have been recorded, file size, date, time, buffer or other status errors which have been collected during the recording session.
  • The file extension when selecting files to play – do now follow the global selected file extension.
  • The auto update function (in the license page) is only enabled for registered users of Z-LiveRec. (Please note – un-activated versions of Z-LiveRec stops after recording 350 MB. And the trial version stops at 200MB of recording.)
  • Some minor changes in the code!
  • Performance tests have been done during recording with 32 Channels, 24 bits and 48kHz for 3.5 hours to a single CAF file – with successful results.

Registered users of Z-LiveRec (2.19 and later) can auto update their version online their Raspberry PI’s. (Requires internet access). (e.g. 2.19>2.20)

Z-LiveRec 2.19 launched

Z-LiveRec 2.19 (Both trial and full version) is launched and includes a couple of new features and bug fixes.

Some new features in 2.19:

  • Auto Update function for registrated users added from 2.19 – will allow Z-LiveRec to update from now the latest version. (Requires network access on your RPI – to be able to auto update – settings found under the license tab button)
  • Running Z-LiveRec in bordeless application window – perfect for smaller displays (Set in a variable in z-liverec.cfg – deco=1)
  • Configuration is saved in Z-LiveRec.cfg directly when anything is changed in the application. (Previous – this was done at recording)
  • Dynamic update of sound devices and storage disks…if anything has changed during session – like adding a new drive, USB Stick…or adding a new sound device over USB using plug and play.
  • Z-LiveRec Manual updated to reflect the changes above.
  • Minor fixes when running big recordings – going over 4GB using ExFat and W64 or CAF type of formats.
    (Please note: Wav files does not support going over 4GB or using USB Sticks with FAT32 format)

Have a look on the product page for more information!