Pi4 Ubuntu 19.10.1 Kinect

Pi4 2gb Ubuntu 19.10.1LTS Kinect 360 and Desktop (Creative) Speakers

With some major screwing around, I now have Mycroft working on a Pi4. This is how I did it and I hope it helps
anybody who wants to try this. I do not have autologin and Mycroft auto starting.

Flash ubuntu server 19.10.01 to SD card
Boot the Pi4 with a wired network connection and let it do it’s upgrade.
If you have to you can run it manually. Update then Upgrade (sudo apt-get install upgrade)

Check to see if it is running (sudo service ssh status) This will start the service if installed.

Install ssh if not already installed (sudo apt-get install openssh-server) then run (sudo service ssh status).
I ssh into the box, I just find it easier and later on it makes trouble shooting a headless system easier)

Install net-tools (sudo apt install net-tools)

You WILL need to create a swapfile for ubuntu. it works in 18.04 as well.
Here is the link: https://linuxize.com/post/how-to-add-swap-space-on-ubuntu-18-04/
If you do not do this it will barf with an out of memory error. You have been warned.

Install alsa base and utils (sudo apt-get install alsa-base alsa-utils}
You may (will) likely have to add this (without the quotes) " dtparam=audio=on " to your /boot/firmware/usercfg.txt as I could not get the OS
to recognize the sound card. To force the sound thru the 3.5mm jack add " hdmi_ignore_edid_audio=1 " without the quotes to your usercfg.txt

Get the wireless working ( Indentation is critical!!) Here is the link. Remember to sub in your wireless card, your ESSID, and password.
networking - How to enable wireless on Ubuntu Server 18.04 via CLI? - Ask Ubuntu

Reboot (sudo reboot now) and wait for the login prompt.

Check your wireless connection (sudo ifconfig) and you should see your wireless card with an ip address.

Install freenect (sudo apt install freenect)

Install Kinect audio (sudo apt install kinect-audio-setup) and answer yes to Microsoft’s EULA

Shutdown the Pi (sudo shutdown now) then power off.

Connect your Kinect360 device

Power up the Pi

Check to see if the device is there ( lsusb ) You should see Microsoft: Xbox Camera, Xbox Motor, and Kinect Audio ← this last one is the
microphone array

GIT is already installed so you can install via the Git:Clone instructions and should have smooth (ish) sailing from here on in.

One thing that you should do BEFORE you run the setup script is (sudo chown -R ubuntu mycroft-core) as it solves a permissions problem that
will drive you to drink (well, that was the excuse I used). The git hub instruction say to change to the root (cd ~/) but if you are going
to run mycroft as the default user (ubuntu) then I recommend cloning into the ubuntu user home directory.


1 Like

After testing I have declared this as stable (whoo-hoo!). It is now running headless with auto login for the default user, Mycroft runs after login, and it is mounted in the bookcase in my living room. The Kinect is awesome as a mic array, picks up my voice from two rooms away.

I messed around with setting Mycroft to run as a service but it didn’t seem to like that and did not seem to start at all. But that may have been my error. If anybody has done this, I’d appreciate some tips… so for now it runs after login with default user rights.

I would like to add to my above post and suggest that for this kind of install, add the mycroft-core directory to your default path.


1 Like

Hey Fred, I think j1nx uses services for his MycroftOS, checkout the thread at:

1 Like

This might work even better, but it is not fully ready yet.

It works, but there should be watchdog logic being added to not pet the dog every second, but read it from the systemd files and use half of that time.

Thanks for the heads up. I’ll do some reading… :wink:

Thanks for the info. A quick read gave me some pointers on how to… I’ll do some more reading and try this on a spare Pi I have.


Crud the auto upgrade broke my install. I have file not found, broken pipe errors, cannot connect to Mycroft servers (connection refused), and a host of others…

Time to dig in and see what went wrong…

Fixed all the Alsa errors. Now its this…

Had to recreate the device on Mycroft home.


<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>

Reset voice to American Male, so it is talking to the servers but...

 19:14:12.641 | INFO     |  4648 | mycroft.session:get:74 | New Session Start: 572d2c72-7c7a-461c-a43e-aca949eb3518
 19:14:12.645 | INFO     |  4648 | __main__:handle_wakeword:67 | Wakeword Detected: hey mycroft
 19:14:13.991 | INFO     |  4648 | __main__:handle_record_begin:37 | Begin Recording...
 19:14:15.475 | INFO     |  4648 | __main__:handle_record_end:45 | End Recording...
~~~~4648 | mycroft.client.speech.listener:transcribe:236 | HTTPError: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
~~~~ror and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>

I have this same issue, too.

From Input “How are you” - 020-04-25 20:40:31.617 | INFO | 4272 | mycroft.audio.speech:mute_and_speak:127 | Speak: I’m doing very well

Raspberry Pi 4 - Audio is working well (Sony Playstation Eye).

2020-04-25 20:33:54.918 | INFO | 4275 | mycroft.session:get:74 | New Session Start: 8e5ad414-9a2a-4c18-ae24-effb4c597cdd
2020-04-25 20:33:54.922 | INFO | 4275 | main:handle_wakeword:67 | Wakeword Detected: hey mycroft
2020-04-25 20:33:56.729 | INFO | 4275 | main:handle_record_begin:37 | Begin Recording…
2020-04-25 20:34:00.264 | INFO | 4275 | main:handle_record_end:45 | End Recording…
2020-04-25 20:34:02.042 | ERROR | 4275 | mycroft.client.speech.listener:transcribe:236 | HTTPError:

500 Internal Server Error

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Got it all sorted. It was a bit ugly tho… ./dev_steup.sh --clean and re-installed fixed all the issues. It is back up and running.