What's new
VORON Design

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members!

MS Surface RT - Raspberry Pi Alternative

gennro

Member
Hey all,

I had this idea the other day to re purpose these old worthless MS Surface RTs you can get off ebay for $50.

So I spent a day figuring out how to get Raspbian OS on one and using it to replace my Raspberry Pi and touch screen control all in one.

It works GREAT!

Here it is below running Klipper, Moonraker, Mainsail, and Klipperscreen.

Here are the specs https://www.phonearena.com/phones/Microsoft-Surface-RT_id7181

If there is enough interest I could make a installer image specifically for this, but if not it is only a handful of steps/config and not to bad for someone familier with linux command line.

20221119_150917.jpg





This is a rough how to on how to get this going.

1. Jailbreak Surface RT

https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb

If this fails do a EMMC wipe as documented here https://jwa4.gitbook.io/windows/miscellaneous/clearing-emmc

2. Download Raspian OS image with custom kernel

https://github.com/e3ndr/SurfaceRT-Images

3. Write above image to a USB thumb drive, at least 8GB in size using raspberry pi imager

4. Boot USB drive on Surface RT by holding volume down and power

5. Setup your RPi install connect Wifi etc.

6. Copy Raspian OS to internal storage.

1.Once Raspberry Pi OS loads. Go to "Accessories" -> SD Card Copier. Select the USB drive as the "From". Select the emmc (mine was MBG4GA) as the "To". Check the box that says "New Partition UUIDs". Click Start.

2. Edit the startup.nsh (on the emmc boot partition,that was just copied to) and change the "root=/dev/sda2" to "root=/dev/mmcblk0p2". Then save.

3. Once the Copy has finished (with no errors), shutdown the Surface RT, remove the USB, then power on the Surface RT (do not hold Vol. down)

4. Remove USB thumb drive.

7. Open the terminal and type in sudo raspi-config
1. Enable SSH
2. Enable CLI boot

7. SSH into your Surface RT and Use KIAUH to install klipper, moonraker, mainail/fluidd.

https://github.com/th33xitus/kiauh

Klipperscreen needs this command ran to run sudo bash -c "echo needs_root_rights=yes>>/etc/X11/Xwrapper.config"
 
Last edited:
thanks for the idea, I have one of those collecting dust somewhere, this way it might actually get useful again🤫
 
Hey all,

I had this idea the other day to re purpose these old worthless MS Surface RTs you can get off ebay for $50.

So I spent a day figuring out how to get Raspbian OS on one and using it to replace my Raspberry Pi and touch screen control all in one.

It works GREAT!

Here it is below running Klipper, Moonraker, Mainsail, and Klipperscreen.

Here are the specs https://www.phonearena.com/phones/Microsoft-Surface-RT_id7181

If there is enough interest I could make a installer image specifically for this, but if not it is only a handful of steps/config and not to bad for someone familier with linux command line.

View attachment 337





This is a rough how to on how to get this going.

1. Jailbreak Surface RT

https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb

2. Download Raspian OS image with custom kernel

https://github.com/e3ndr/SurfaceRT-Images

3. Write above image to a USB thumb drive, at least 8GB in size using raspberry pi imager

4. Boot USB drive on Surface RT by holding volume down and power

5. Setup your RPi install connect Wifi etc.

6. Copy Raspian OS to internal storage.

1.Once Raspberry Pi OS loads. Go to "Accessories" -> SD Card Copier. Select the USB drive as the "From". Select the emmc (mine was MBG4GA) as the "To". Check the box that says "New Partition UUIDs". Click Start.

2. Edit the startup.nsh (on the emmc boot partition,that was just copied to) and change the "root=/dev/sda2" to "root=/dev/mmcblk0p2". Then save.

3. Once the Copy has finished (with no errors), shutdown the Surface RT, remove the USB, then power on the Surface RT (do not hold Vol. down)

4. Remove USB thumb drive.

7. Open the terminal and type in sudo raspi-config
1. Enable SSH
2. Enable CLI boot

7. SSH into your Surface RT and Use KIAUH to install klipper, moonraker, mainail/fluidd.

https://github.com/th33xitus/kiauh

Klipperscreen needs this command ran to run sudo bash -c "echo needs_root_rights=yes>>/etc/X11/Xwrapper.config"
That is really awesome. As per my other thread on here, I am struggling to get Orange Pi 3 LTS to work, but I am a complete newb to the software side of things.
When you purchased your Surface RT, how did you know that Windows 8.1 had not been updated after Oct. 2016, which according to the jailbreak link you provided, will not work if it has been?
 
That is really awesome. As per my other thread on here, I am struggling to get Orange Pi 3 LTS to work, but I am a complete newb to the software side of things.
When you purchased your Surface RT, how did you know that Windows 8.1 had not been updated after Oct. 2016, which according to the jailbreak link you provided, will not work if it has been?
If it has been updated you just reinstall back to factory image or wipe the EMMC.
 
Did you add a USB hub? I thought the MS Surface RT only had one USB port...
It does, I am not currently running a hub, but I have some from amazon I like on the way. I also plan on design a mounting system for the surface etc as soon as I get the other 4 I have on order in.
 
Last edited:
Is the hub that you like a powered hub, or does it simply plug into the USB port on the Surface RT?
 
Just FYI the kernel in the above RPi OS image does not have the CAN BUS to USB kernel modules compiled, if you need that let me know I have successfully compiled the kernel with the required modules.
 
Just FYI the kernel in the above RPi OS image does not have the CAN BUS to USB kernel modules compiled, if you need that let me know I have successfully compiled the kernel with the required modules.
I have an MS Surface RT on the way. I do not have my Voron 2.4r build done yet, but I am anticipating needing some guidance once I get to the implementation phase. ;)
 
Hey all,

I had this idea the other day to re purpose these old worthless MS Surface RTs you can get off ebay for $50.

So I spent a day figuring out how to get Raspbian OS on one and using it to replace my Raspberry Pi and touch screen control all in one.

It works GREAT!

Here it is below running Klipper, Moonraker, Mainsail, and Klipperscreen.

Here are the specs https://www.phonearena.com/phones/Microsoft-Surface-RT_id7181

If there is enough interest I could make a installer image specifically for this, but if not it is only a handful of steps/config and not to bad for someone familier with linux command line.

View attachment 337





This is a rough how to on how to get this going.

1. Jailbreak Surface RT

https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb

If this fails do a EMMC wipe as documented here https://jwa4.gitbook.io/windows/miscellaneous/clearing-emmc

2. Download Raspian OS image with custom kernel

https://github.com/e3ndr/SurfaceRT-Images

3. Write above image to a USB thumb drive, at least 8GB in size using raspberry pi imager

4. Boot USB drive on Surface RT by holding volume down and power

5. Setup your RPi install connect Wifi etc.

6. Copy Raspian OS to internal storage.

1.Once Raspberry Pi OS loads. Go to "Accessories" -> SD Card Copier. Select the USB drive as the "From". Select the emmc (mine was MBG4GA) as the "To". Check the box that says "New Partition UUIDs". Click Start.

2. Edit the startup.nsh (on the emmc boot partition,that was just copied to) and change the "root=/dev/sda2" to "root=/dev/mmcblk0p2". Then save.

3. Once the Copy has finished (with no errors), shutdown the Surface RT, remove the USB, then power on the Surface RT (do not hold Vol. down)

4. Remove USB thumb drive.

7. Open the terminal and type in sudo raspi-config
1. Enable SSH
2. Enable CLI boot

7. SSH into your Surface RT and Use KIAUH to install klipper, moonraker, mainail/fluidd.

https://github.com/th33xitus/kiauh

Klipperscreen needs this command ran to run sudo bash -c "echo needs_root_rights=yes>>/etc/X11/Xwrapper.config"
Thank you very much for your hard work! But I have a problem with the ch34*(340 341) driver. When I try to update the packages, I can't even update the kernel. (Not even TTY visibility)
Can you please add ch34*(340 341) support to the kernel? I think your help will help everyone, thanks. One more question is it possible on SurfaceRT Connecting direct UART, without using USB.
 
Hey all,

I had this idea the other day to re purpose these old worthless MS Surface RTs you can get off ebay for $50.

So I spent a day figuring out how to get Raspbian OS on one and using it to replace my Raspberry Pi and touch screen control all in one.

It works GREAT!

Here it is below running Klipper, Moonraker, Mainsail, and Klipperscreen.

Here are the specs https://www.phonearena.com/phones/Microsoft-Surface-RT_id7181

If there is enough interest I could make a installer image specifically for this, but if not it is only a handful of steps/config and not to bad for someone familier with linux command line.

View attachment 337





This is a rough how to on how to get this going.

1. Jailbreak Surface RT

https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb

If this fails do a EMMC wipe as documented here https://jwa4.gitbook.io/windows/miscellaneous/clearing-emmc

2. Download Raspian OS image with custom kernel

https://github.com/e3ndr/SurfaceRT-Images

3. Write above image to a USB thumb drive, at least 8GB in size using raspberry pi imager

4. Boot USB drive on Surface RT by holding volume down and power

5. Setup your RPi install connect Wifi etc.

6. Copy Raspian OS to internal storage.

1.Once Raspberry Pi OS loads. Go to "Accessories" -> SD Card Copier. Select the USB drive as the "From". Select the emmc (mine was MBG4GA) as the "To". Check the box that says "New Partition UUIDs". Click Start.

2. Edit the startup.nsh (on the emmc boot partition,that was just copied to) and change the "root=/dev/sda2" to "root=/dev/mmcblk0p2". Then save.

3. Once the Copy has finished (with no errors), shutdown the Surface RT, remove the USB, then power on the Surface RT (do not hold Vol. down)

4. Remove USB thumb drive.

7. Open the terminal and type in sudo raspi-config
1. Enable SSH
2. Enable CLI boot

7. SSH into your Surface RT and Use KIAUH to install klipper, moonraker, mainail/fluidd.

https://github.com/th33xitus/kiauh

Klipperscreen needs this command ran to run sudo bash -c "echo needs_root_rights=yes>>/etc/X11/Xwrapper.config"
Im not real great with the whole programming thing and was wondering if you compiled an image for this? I have an old surface setting around doing nothing.
 
Hello, @gennro
I want to say Thank You for the post!
I saw this post 1 day ago and i went online and grabbed a SH Surface RT 1516 for $40
Took me 5h to setup but now i have a nice screen for my Neptune 3 Plus.
Thank you man!

I cant get de MCU ID :/
 
Last edited:
Just FYI the kernel in the above RPi OS image does not have the CAN BUS to USB kernel modules compiled, if you need that let me know I have successfully compiled the kernel with the required modules.
Thanks for your contribution! I am now running the OS.
I haven't managed to get the MCU, I'm new to this and I can't find any information. Could you help me?
 
Top