MobileDemand xTablet T1200, aka Demandy

As I’m deploying more LoRa nodes I find myself needing a more capable debugging system. While at home I simply use an SDR connected to my desktop to ensure devices are transmitting as expected. In the field that is a loftier goal. I’ve tried using an SDR connected to an Android phone with limited success, this seems to just kill the battery more than anything.

Additionally one of the goals I had was a battery backed computer that could be semi-permanently mounted in my truck. I’ve casually looking at some industrial portables but it’s hard to tell what’s what, so I was pretty thrilled when saveitforparts posted this video the other week.

This is pretty much what I was looking for and thankfully, before the youtube-ebay effect kicked in, there were a handful of them for cheap. I managed to pick up a lower end model before they all disappeared into various hoards or had their prices driven up (I guess I helped there….).

The hardware specs are decent enough, Intel quad-core i5-3337U @ 1.8GHz, mine came with 4GB of RAM and a 64GB SSD. This one didn’t come with the keyboard, which looks pretty wonky anyhow and begs the real question… With Linux installed, can I 1) get the touch screen to work 2) get a virtual keyboard to work reasonably well.


Once my device arrived first this I didn’t was slapped an Arch Linux live USB stick in it and booted up. A little fiddling with the boot order was needed but otherwise worked as expected. The Arch Linux installer is all console so I was unable to test any of the hardware at this point but just continued with the install. It should be noted as this has an entire Intel chipset drivers weren’t an issue for WiFi and that worked right out of the box.

The new Arch Installer is pretty handy, it asks some of the basic questions like server or desktop, which Window Manager you want to use, etc. I want to eventually use a tiling window manager but it’s been so long since I’ve used one I got hung up on bspwm almost immediately and switch to something more familiar, Xfce4.

So far so good, I plugged in a keyboard and to my complete shock and amazement the touchscreen….. JUST WORKED! Calibration was a touch off but not so much I’ve bothered to fix it yet.

Now can I get an onscreen keyboard to work? (As the image above suggests… YES!).

Virtual Keyboard

There are two important parts for this, I need to be able to login with a virtual keyboard, and once the desktop comes up. I decided to use onboard as it seem active, light-weight and not terribly locked to GTK (I might switch to KDE/Plasma at some point as I use it almost everywhere else).

Desktop Virtual Keyboard

Setting up onboard for the desktop was fairly straight forward, it comes with it’s own settings application.

onboard preferences

The important settings are those top two checkboxes, Auto-show when editing text and Start Onboard hidden. I also set the dock feature to keep it at the bottom and full width.

onboard dock settings

And with that it pretty much just worked. I should not at some point while hacking on various other bits it just stopped working. I’m not sure what disabled it, but I fixed it through Xfce4 Session and Startup, simply checking the box in Application Autostart, this might vary if another Window Manager is used.

Login Virtual Keyboard

This part was a bit trickier and took some research but I managed to get it working with the default installed Display Manager, lightdm. This is actually made up of two parts, lightdm is the actual Display Manager and lightdm-gtk-greeter is the login screen itself.

First off ensure that lightdm is using the correct greeter in /etc/lightdm/lightdm.conf


Then several edits need to me made to the greeter config at /etc/lightdm/lightdm-gtk-greeter.conf in the [greeter] section. I’m showing the entire section but by default it was all commented out.

keyboard-position=50%,center -0;100% 40%

lightdm login screen showing accessibility drop down opened

The indicators section controls which items are shown in the top toolbar, the important one here is ~a11y as it allows the keyboard to be controlled. Next is the a11y-states, adding +keyboard makes it so the keyboard is displayed by default, optional but I wanted it already opened. Then the keyboard=onboard option tells it to use Onboard, this could be florence or some other virtual keyboard also. keyboard-position only works with Onboard but I wanted to maximize the size so I gave it 100% width and 40% height.

And that’s it! The last thing I’d like to figure out is how to get my keyboard theme settings on the login screen, but as it appears Onboard uses dconf for settings it’s not as simple as passing a config string so I’m not bothering for now.

What’s Next?

So generally I’m really stoked how well this setup went. I’ve been thinking about the custom mount in the truck for a while and now that I have the computer I can start mocking that up. But since I mentioned SDR I should also share the quick tinkering I’ve already done. The eagle eyed reader might have already noticed the RTL-SDR hanging off the side in the first picture and like most of this project so far, it worked unreasonably well.

GQRX Monitoring a LoRa Transmission

As a quick test I send a message from one of my ESP32 Dual LoRa boards and besides reading really hot when idle, it picked it up no problem.

The only real issue I’ve ran into so far is getting the internal speaker to work. I’ve always had a terrible time getting Linux audio to work if the setup is just slightly non-standard so I gave up after about an hour (narrator: it was more like four). Thankfully the headphone port does work and that will be more likely to get used to hook into the trucks (presently non-existent) sound system sometime in the future.

Wrap up

I’m really excited for the potential here, especially as the one battery it came with even worked for about 4-6 hours of various use. I have a bunch of SDR/HAM related ideas I want to implement but hard to say how much I’ll get to this summer. Keep an eye out for more posts in the future.


I would love to hear what you think, feel free to joint he conversation on Mastodon