Close
0%
0%

DLT - A Damn Linux Tablet!

Proper Open Source Hardware Tablet that is easy to modify/hack and runs a standard Desktop Linux Distribution.

Similar projects worth following
Plain Linux Tablets just don't exist! No, Android does not count. I want hardware that allows me to install whatever OS I want to, f.e. a standard Linux Desktop. Commercial offerings barely ever allow modifying your OS without exploits and then lack drivers.

- I want something open! Open in terms of software and open in terms of hardware.

- Extensible, just like (most) Laptops and Desktop PCs.

- High performance (much more than a Pi3)

- I want all of this without making a big clunky ugly monstrosity.

- It should be manufacturable on a very small scale (or eventually big scale) without ending up costing a fortune per unit. So a smart design is of utter most importance.

There are finally fast and affordable SOMs. I will start looking at an iMX8M SOM from Wandboard and the Nvidia Jetson Nano.

High-res displays from 5-12" are finally cheap and available in QTY 1.

I will design a carrier PCB and case that allow for modular hardware extension.

Motivation:

For years I've been wanting to create a tablet like device based on a SOM (System on Module). Doing something from scratch, routing DDR3 RAM, eMMC etc. didn't seem realistic to me, this is not in my skill set yet and would make small scale production more expensive. SoC and RAM are hard to source if you want only couple of them.

I've started out with the Raspberry Pi compute module but the more I thought about my specs the clearer it was to me that it just wont cut it.
I wanted something that can run modern applications, something that is actually very usable and is not just a cool thing on paper.

How:
The past years I've been looking around for affordable SOMs that offer enough performance to be viable, until now there were either cheap outdated SOMs or ones that target the industrial market and are too expensive.
In recent months there is finally an interesting selection of SOMs out there.

Technexion/Wandboard released the Pico SOM product range and the Pico Pi as a dev board. They range from 72-150$ For 150$ you get a fairly decent ARM SoC with 4K video support, 4GB RAM, 16GB eMMC and 802.11 AC WIFI and Bluetooth 5.0.

Essentially the basic specs for a modern tablet.

The other SOM that just popped up recently is the Nvidia Jetson Nano. Very capable SOM with similar specs but lacking WIFI. Though the GPU is much more high-end than the iMX8M Quad.

Another very important part is the Display. Until now I never found a satisfying product that had a good picture quality and resolution.

For some reasons there are really great IPS displays popping up all over the place from 1.8" to 13" there is something in every category and all of them can be considered to be "retina" displays. If I want to make a tablet I don't want it to feel like tech from 8 years ago.

So the goal is to make it good or go home :)

The SOM is is 60% of the way actually, the Display is another 20%, the hard part there is getting a generic Linux DSI driver to play with the displays I'm looking into.
What this project will then essentially entail is to design a carrier board for one the two SOMs (though I want to see if I can keep it generic enough to allow for different SOMs in the future).

What:
My MVP will have the following specs:

  • Fast enough SoC to run a modern web app without lag.
  • Enough RAM for more demanding applications >=2GB
  • 802.11AC Wifi and Bluetooh
  • USB for charging and data >=USB2.0
  • High-res display in the 7-10" range connected via MIPI DSI.
  • Modular peripherals, the carrier should be very small allowing to attach different peripheral connectors through FFC cables. A choose your own peripheral kind of product.
  • A parametric case design that allows for different screen sizes and peripheral openings.
  • Battery and charging circuit. No idea how large but I aim for around 4h+ active usage for now.
  • Extensible storage via SDcards
  • Audio
  • HDMI

Cool things for the future:

  • USB-C PD
  • Desktop peripherals that you never see in mobile products like an Ethernet Jack.
  • mPCI-E connector ( I never touched PCI-e so lets see how that goes). This would technically also allow for M.2 and adding a proper SSD to your tablet.
  • This does not have be a tablet, if I can make it small enough a phone is also possible, at least a phablet.
  • USB 3.0+ (the SOMs support it but I'm a little scared by it)
  • LTE either through USB or PCI-E
  • Camera
  • Keyboard "dock" to turn it into a Laptop

Here is a block diagram of what I wan for the MVP:

Visualization Images Courtesy of:
Wise Technology
Nvidia
Technexion

  • Dev-kit arrived and working

    Prof. Fartsparkle7 days ago 0 comments

    Just a quick update. I got the dev-kit in the mail yesterday, I booted it up with the touch screen attached that it came with. Was all working fine so today I started working on making a first break out which I will mill tomorrow to do a first test fit with the SOM connector. As there 3x70 pin connectors the positioning of them in relation to each other is very important.

    Technically it should fit perfectly as I worked according to Technexion specs but lets see how it goes after they are soldered to a board.

  • What this is going to be and what not

    Prof. Fartsparkle04/09/2019 at 21:43 0 comments

    As a lot of people seem to get very excited about this project (which is fantastic). I want to address some thing to manage expectations.

    What I want to build here is a basic platform for a tablet computing device. I will not write fancy software to make this a typical end consumer tablet so you can have an awesome Linux tablet in your backpack to check your Twitter feed and do your daily work with it. This is actually really hard and the main reason why no one with commercial interest has done this yet.

    All I want to make is a hardware foundation which of course also means making sure the hardware has good driver support. After that, it is up to you what you do with this.

    Compile your own version of Android for it and use it as a consumer tablet? Sure! I don't think the hardware will ever perform as well as any commercial tablet in the same price range but if that doesn't matter to you because it can solve specific issues for you that is great!

    Want to add a weird sensor to the tablet and run a minimal Linux distro on it with a single application x11 instance to run a single app 24/7 on it? Great! This what I'm making this for, giving other developers a starting point to do cool stuff that is not possible with other devices :)

    And of course there is always the possibility that I will fail miserably. I do have a fair bit of confidence that I can pull it off but who knows what horrible things await me in the ultra high-speed realm of USB 3.0 and dual channel MIPI :)

    Over the years I read up quite a bit on high-speed signal routing and managing impedance so I hope I got enough of a basic understanding to make this work. If high-speed signal routing is a topic you are experienced in I would very much like to hear from you and ask you some questions!

    This one big reason why I want do make this open source, so that when there is some grunt work done, other people get inspired to chime in and improve on this together with me.

View all 2 project logs

Enjoy this project?

Share

Discussions

Daniel Dunn wrote 6 days ago point

Awesome project! And it's a chance to fix the big mistake that 99% of portable devices seem to have. 4.2V is too high for batteries and it wears them out twice as fast as slightly less charge would!.   I think it would be cool to use 1 or 2 18650 batteries for something like this, because it's so easy to find them.

A Linux tablet would be great because Android is really restrictive about hardware access and it makes mesh networks way harder than they should be.

  Are you sure? yes | no

Prof. Fartsparkle wrote 6 days ago point

Haven't decided on a battery system yet but I will probably utilize a smarter IC for that which should offer settings for these kind of things which should be settable from the SoC.
I might even put it on its dedicated PCB so you can choose battery chemistry and charging circuitry yourself without spinning your own baseboard flavor.

  Are you sure? yes | no

mbt28 wrote 04/09/2019 at 11:40 point

Hi, 

I think you should go for a sbc which fits with your design. You may go for edged sbcs too. 

Routing hdmi, usb 3, pciexp and mipi is quite hard actually. 

For the lcd side, I highly suggest to use an lcd with an available documentation and driver support. I think this is the case for you, otherwise it consumes so much time to adapt a bare mipi dsi lcd. 

My last comment is do lots of research about the base board you will use. I highly suggest you to dont use chinese boards because they lack of support which will take most of your time. 

Gl&Hf

  Are you sure? yes | no

Prof. Fartsparkle wrote 04/09/2019 at 21:25 point

Hi,

thank you for your comments.
Using a SBC is not really an option if you want to make a thin device with modular peripherals :)
Like I wrote in my description I will either use the i.MX8M SOMs from Technexion or the Nvidia Jetson Nano SOM. The i.MX8M SOMs have a detailed datasheet available and NXP offers an insane amount of support material for their SoCs. Which is why I will very likely go with the i.MX8M. The Jetson Nano might still be nice but so far there is no documentation and I would like to get started soon.

I do know that routing high-speed buses is more work than fanning out a few GPIOs :)
Though I want to take on that challenge. I've touched that topic on older projects and feel confident that I can make this work.
I worked with MIPI displays before and the bus is surprisingly robust, I could run full hd displays on a meter long FFC cable which technically violates the MIPI specs quite a bit but the displays didn't care one bit.

About hardware from China, I will source the displays from china but mostly because they are sold there. I found some panel from Sharp and got a datsheet for it. I hope I can modify an existing driver for a different Sharp panel and adjust the code for the start up sequence according to the datasheet.

If you got some experience there I would glady here about it :)

But yes, I will not buy random unknown crap. I want to end up with something that is manufacturable and will only look into hardware that is well documented and has a manufacturer behind it that offers support.

  Are you sure? yes | no

mbt28 wrote 04/10/2019 at 09:04 point

Hi 

I was talking about something like this when I was saying about edge sbc:

https://www.khadas.com/shop

In this way you dont have route hdmi usb etc. 

I.mx8m is amazing soc. Has good support and very capable. I like imx8m mini more since I dont need a hdmi. 

Nxp chips are so good but unfortunately they are expensive when you want to buy single quantity.

You might go for rpi compute module but I am quite sure adapting mipi dsi to an existibg lcd would be quite hard. 

My 50 cent is do your work part by part for example you can go for an sbc and design the lcd interface, audio etc. Then, when everything is okay you can adapt them to the som version. Otherwise debugging the hardware is so much time consuming. 

  Are you sure? yes | no

Prof. Fartsparkle wrote 04/10/2019 at 11:53 point

@mbt28 that "Edge" board is super interesting. Thank you for that I will definitely have a look at that :)

It does not really fit in my overall goal of modularity and being somewhat SOM agnostic but if I end up in a dead corner I will give this a go.

Anything RPi based is a no go, they are just too slow. This is what I experimented years ago and just ended up not pursuing it further because it can't keep up with modern applications performance demands.

The workflow you suggest is what I'm doing. I have now a dev kit from the SOM manufacturer which is a full SBC and comes with a MIPI DSI touch screen.

So I have a working base there that I will start to adapt from slowly. I will work with this known to work screen for now and if I got a very basic system going I will see if I can make other screens work that may not have a public driver available yet.

I do PCB and Software design as a day job so I do bring some experience with me to hopefully not fail miserably with all of this :)

If you know a good source for existing MIPI drivers outside the mainline kernel I would much appreciate that :)

  Are you sure? yes | no

mbt28 wrote 04/10/2019 at 12:22 point

Hi,

I always find MIPI DSI a bit complicated. I am using lvds screens, those are more straightforward. 

If you want to go for LVDS ones, there are DSI to LVDS bridges by Texas Instrument called sn65dsi8*. They are easy to use. If you want to manufacture it by hand, bga package is cheaper and beleive me is easier to solder by hot air gun or owen.

You can configure it through I2C and there is even an application called DSI tuner you can configure the chip and create a script for it.

http://www.ti.com/interface/hdmi-dvi-dp-mipi/bridges-transceivers/products.html#p1694=Bridge

http://www.ti.com/tool/DSI-TUNER

And there are some useful information on this website (LCD interfaces, backlights etc):

http://www.programmersought.com/article/7481201221/;jsessionid=F29EEE6C46D8DE26C33BF8BE08D5C924

  Are you sure? yes | no

Prof. Fartsparkle wrote 04/10/2019 at 13:21 point

@mbt28 those bridge ICs are something I also looked into, at least for HDMI. LVDS sounds like an interesting option. Valuable to hear that they were easy to deal with from your experience.

What makes LVDS easier in your opinion? I don't really have experience with it.

Thanks for all these resources, that is very helpful!

I will have to see if there are LCDs with LVDS available that are high-res enough. I wanted at least Full HD or "2k" for anything larger than 6". It makes life harder but its something I don't want to compromise on.

  Are you sure? yes | no

mbt28 wrote 04/10/2019 at 13:35 point

"What makes LVDS easier in your opinion?"

DSI is a bileteral communication. Some LCD's need to be configured via DSI as well. I am not familiar with it, and usually hard to find detailed  datasheets for dsi panels. Maybe because of NDA aggrements, I dont know actually.

LVDS is just serilization of RGB interface with 4 data pairs and one clock lane. It is one direction. Usually you need to configure some functions of LCD via GPIO, which is pretty easy.

Another issue with DSI; it has higher speed so routing it is a bit harder than LVDS.

  Are you sure? yes | no

Asher Gomez wrote 04/09/2019 at 00:23 point

Nice project, I'd definitely want one of these... Good Luck!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates