Close
0%
0%

DLT one - A Damn Linux Tablet!

Modular Open Source Hardware Tablet that is easy to hack and can run a standard Desktop Linux Distribution (or Android)

Public Chat
Similar projects worth following
Proper Linux Tablets unfortunately just dont exist and certainly not ones that are also open hardware.
I want hardware that does not lock me into a specific OS or cripples other options by the lack of drivers. I'm also sick of the lack of modularity and repairability of modern hardware.
So I will create the following.

A basic system for a modern and highly performant portable device (e.g. Tablet) in the 7-10" form factor.

The electrical and mechanical design will allow for a multitude of form factors in the future, basing on a shared approach on how to interconnect hardware, so reuse between form factors will be possible.

These newly developed standards for modular portable devices will be open to everyone and the same goes for the design of the Tablet that is being developed here.

For more details please read my project logs and the detailed description below.
The development started with the HaD Prize 2019 and you will be able to follow every step of it.

How it addresses the Hackaday Prize:

Current mobile hardware is closed and monolithic. Repairs are hard and modifications or upgrades impossible.
This is unsustainable, keeps small companies out of the market and stops users from adapting devices to their own needs. I want this to change!

To do that I am creating a highly modular, upgradable and modifiable tablet with a clear standard for open mobile computing. This lets companies and enthusiasts change what they need and reuse the rest.

The highly modular, upgradable and modifiable design lets them spend more time and energy on the bits they care about (some niche sensor or a CAN bus perhaps) without being bogged down with the bits they simply need (a screen interface or battery management).

The clear and open standard provides a framework for community development to feed back into the ecosystem in a future compatible way.
This will be achieved by defining a mechanical standard for creating cases and an electrical standard that defines interconnects, pinouts and behaviour.

This should enable the re-use of peripherals through different motherboards, housing different SoC's, from all kinds of performance spectrums, keeping the cost of replacement and repair down to a minimum and enabling very quick development of new features/peripherals for the ecosystem.

If you'd like to drill down into the details, here are the most important logs.
If you have time though I recommend just reading the complete logs in order :)

https://hackaday.io/project/164845/log/166748-mounting-plate-mock-up

https://hackaday.io/project/164845-dlt-one-a-damn-linux-tablet/log/169428-modules

https://hackaday.io/project/164845/log/167049-peripheral-bezels

https://hackaday.io/project/164845/log/165497-manufacturing-and-the-target-audience

https://hackaday.io/project/164845/log/163897-mechanical-design

https://hackaday.io/project/164845-dlt-one-a-damn-linux-tablet/log/169433-pricing-and-high-level-bom

https://hackaday.io/project/164845-dlt-one-a-damn-linux-tablet/log/169307-prototype-assembled-albeit-some-challenges

Note:

The standard is in concurrent development but wont see a release until the Tablet hardware itself reached a mature status because that's when the Standard will also be mature enough to be released. All the learnings from the development are important for the development of the standards, its not something I can just define beforehand or else it will be too narrow minded. I will share specific details on the standard before that of course to get input from others in the community but I will not release a white paper until things have settled. I had it happen too many times that people jump on the bandwagon during development and develop with incomplete information which becomes deprecated later on, I want to avoid that. If your are interested either way, have a look at the prototype design files which I update as they are being made but be aware that this changes rapidly. If you want to help with the design, get in touch!

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 only really hard but also very expensive. So SoM it is, which comes with the additional benefit of user up-gradability if the SoM manufacturer stays true to their pinout with successor products, which they usually always do, at least for a few generations, which usually means you get compatible hardware for 10 years or more.

Back then I 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.

The past years...

Read more »

Git Export 30.09.19 - A Damn Linux Tablet.zip

Git Export of the linked github repo. Please use the github repo if possible. Includes PCB Design Files, CAD Files, BOM etc.

x-zip-compressed - 6.33 MB - 10/01/2019 at 11:13

Download

  • Rev. 3 designed and on the way

    Prof. Fartsparkle10/29/2019 at 21:54 0 comments

    I've finished designing rev. 3 of the motherboard and its actually arriving tomorrow :)

    I may have figured out what the issue with eDP was. I noticed that lane 0 and 1 were running on the bottom layer and the reference plane which I believed to be GND was actually 5V. While you can switch reference planes you have to give the return current a path to follow along by placing capacitors at the spot where you cross over, which of course I didn't do and the impedance probably sky rocketed.

    I fixed this now and everything is referenced to GND at any point. Lets hope it works again.

    I also went with the reversed connector so the module is inserted upside down with the SoC facing towards the PCB. I added cut-outs to the PCB so I can place a piece of aluminium or copper in the cut-out and pipe the heat from the SoC directly into the mounting plate which will act as a gigantic heat sink. This safes tons of height and hopefully solves the lurking issue of thermal dissipation.

    Other than that no crazy changes. I switched from JST PH to JST SH which is more low profile. It also meant switching to 4 conductors but that is actually a nice thing because thats also the type of cable Adafruit and Sparkfun use for their qwiik/stemma qt products so getting cables for that is really easy. I thought ahead and put the polarization in a way that wouldn't end in dead ICs if someone should ever have the idea to plug their qwiik boards into those power ports...

    I also added a different 3.3V LDO which gives me a power good signal that I can use to power up certain things only when they should be. This is a thing when being connected to external circuits like a PC monitor, don't want those to back power you when you're shut down. So the 3.3V power good signal controls a load switch for the VCC connection of those peripherals.
    This is part of a more robust layout that I will continue to add with further revisions, I skipped on that so far as it adds overhead that is not really needed in a controlled environment during prototyping.


    I spare myself posting renderings as the real deal is arriving soon, so I will update again when those arrive.

  • Pricing and High Level BOM

    Prof. Fartsparkle09/30/2019 at 23:27 0 comments

    I haven't really shared any pricing details yet. For good reason of course, a lot of that really depends on quantity but I wanted to give you a ballpark of what is to be expected.

    So lets break it down, starting with the heart of the tablet, the SoM.

    This is the most flexible part of the pricing because you can get wide variety of SoMs. The one I'm currently focusing on for the first motherboard is the Nvidia Jetson Nano which has a somewhat odd pricing. If you buy yourself the devkit you get the SoM for 99$ or about 90€. If you buy the production module you are looking at 130-150$/120-138€. The cheapest price being qty. 1k.

    So if we were to start out with kits instead of assembled Tablets it would be a lot better value to have customers buy themself a devkit and steal the module from there. Given that Nvidia updates the dev kits, the production modules are actually not pin compatible, the current dev kit is using an older beta pin out, I have a third party devkit in the post atm to work with the new production module for rev.3 of the motherboard.

    Looking at other SoMs we can also get low budget i.MX8 SoMs with dual core CPUs and 2GB RAM for around 80$/73€ in QTY 10. They get considerably cheaper when buying in larger volume of 1k or 10k.

    The motherboard is actually really cheap, because most of the more expensive parts are outsourced to their own module we can get the BOM for that down to maybe 24$/20€ produced when we are talking 100 pcs.

    The modules will vary between 2-8€ produced. For a basic set of 2-4 modules we can calculate about 15€/17$.

    20Wh Battery setup will come in at 10-15€, dual cell is probably cheaper.

    Shipping with batteries is a can of worms though and I'm not experienced with it but from what I learned this can increase the shipping charges substantially so that is something that can potentially add to the total price. My favourite choice would be LiFePo4 though, maybe those are easier to ship because they don't spontaneously combust when they have a bad day, they cost a little bit more and have a lower energy density but I think the benefits outweigh that. Especially in a very sensitive context like a lab this could be a big benefit be it just for potential insurance reasons.

    Battery charger and power board will probably come in around 8-12/9-13$€ if we go with a more luxury fast charging USB PD multi cell option.

    The LCD is 55$/50€ plus 20$/18€ touchscreen with tempered glass.

    Then finally the mechanical parts that make up the casing. Here is where it gets hard because those are depending the most on quantity.

    If you were to make 10k you could get the case parts made for a total of 30€ or less. Looking at a more realistic 100 units for a first batch of kits we can calculate about 30€ for the threaded Aluminium mounting plate. The smaller plastic pieces would most likely be done in urethane casting. A mould costs about 250$ and can produce around 20-30 pcs. One mould can hold all of the small pieces.
    We need about 15 spacers and 3-4 face plates for the initial feature set. So we can calculate with 4-5 urethane moulds for a set of 100. The cost per part without the mould cost will be around 40 cents so about 7.6$/7€ plus around 10$/9€ per set from the mould costs gets us to 17.6$/16€ for the small parts per tablet.
    It might be more cost effective to switch to an aluminium mould already, I had quotes ranging from 1k$-2k$. They last for a few hundred parts.

    The two larger pieces, the display frame and the backplate will likely be milled at this quantity. Milling those is quick and surprisingly cheap. One can calculate about 15€ each so another 35$/30€ for those pieces. Which gives us a total cost of around 80-100$/70-90€ for the mechanical parts at qty 100.

    ... Read more »

  • Modules

    Prof. Fartsparkle09/30/2019 at 21:56 0 comments

    I talked about this several times but only on the side lines and I think I have to give this topic a bit more depth as its actually THE selling point of the whole project.

    I also want to talk about it because I made it a more extensive topic of my overview video that I made over the weekend. You can watch it below (and yes the screen broke from all the assembly and disassembly :( I tried to get spares for a month in anticipation of that happening eventually but the lead time is really long this time around, will hopefully get a new one in 3 weeks)

    The video is intended for less technical folks (as part of the HaD Prize requirements) so I took some liberties with the imagery. Of course I do not intend that someone would just slap in a standard dev board like the Adafruit Feather, you can of course do that if you make yourself an adapter from FFC to USB plug (heck put in an SDR stick and burry it inside the case) but what I would like to see (and will certainly do myself once the basic functionality is finally ticked off) is that we get a range of small MCU co-processor boards that connect via UART or USB FFC to the motherboard and expose pin header to the sides of the tablet or connectors for eco-systems like Adafruits Stemma QT/Sparkfun Qwiic or Seedstudio's Grove. Especially the latter can enable some really cool rapid prototyping and of course a lot of possibilities in the education space. I would love to have an always connected CircuitPython co-processor in my tablet :)

    That's one of lower hanging fruits but there are of course no limits, the intention is to expose absolutely every little feature that the typical SoCs have to offer so you are not limited to the "consumer" buses that you are used to from your Laptop or PC but can use SPI, I2C, GPIO, CSI, I2S and so on. Which lower the barrier of entry considerably because that is the kind of interfaces that most makers and electronics developers are used to. It's the base level that we can all easily (learn to) work with unlike more complicated things like USB and PCI-E which take a long time to get used to and require more expensive hardware. Making module shouldn't be any harder than playing with your Raspberry Pi, you might miss a pretty injection moulded face plate but that doesn't stop you from making your own stuff.

    I hope there will be people from the scientific community abusing this platform for all sorts of things that I haven't imagined yet. The amount of specialization that you can have with a truly modular platform that doesn't assume anything about its use case is amazing and really is what I was looking for when I started out with this project, I wanted to satisfy my own niche interests and I hope that it will do the same for others.
    Power to all the niches!

    Speaking of, I imagine communities like ATMakers using this system to quickly and easily build devices that include people who fall outside the sights of the current tech industry and create interfaces for people with disabilities who might not be able to use touchscreens or are simply unable to press those tiny buttons on the side of pretty much every consumer tablet.
    Its yet another example of why "one size fits all" is a bad thing. Most tech is created by able bodied men for able bodied men, overcoming such biases is important.

    This is also why its important to standardize several height variants. While some prefer a thinner and lighter device, other are maybe just interested in the portable aspect and don't care if it looks like a copy of the Lord of the Rings trilogy. It requires module makes to include several face plates for thinner modules but those are really cheap to make.

    We are striving for more and more compact connectors in the consumer market, that take on more and more complex tasks, which on the one hand is great (I love full featured USB-C) but it also kills innovation because the hurdle to entry is much higher....

    Read more »

  • Prototype Assembled (albeit some challenges)

    Prof. Fartsparkle09/27/2019 at 21:40 7 comments

    All parts arrived on Monday, the aluminium plate was great but 2 major pieces that went into printing  came back horribly warped and oversized.

    Granted they were both very large flat pieces, veery poor geometry for SLS printing. Still I while I was calculating with a bit of warping I did not calculate with THIS

    Looks horrible doesn't it? The warping was one thing but the printing service also oversized the parts way too much so that they were 2mm longer than they should be, that's a terrible tolerance even at what size.
    That a printing service oversize your parts before they go into print is actually normal, its done to compensate for the shrinking that occurs with this process. Normally this is very accurate and the final part will shrink to the dimension you anticipated, 0.2mm tolerance is reasonable to expect.
    This didn't work obviously, the display frame piece had the same issues. So I had to resort to home production.
    I first wanted to mill the two pieces but resorted to SLS printing and divided the parts into 4 sections due to size constraints of the printer, which then got glued together in the end. The final production will of course not rely on any form of printing but on some form of injection moulding or compression moulding (the back piece would be well suited for that). That all depends on the units made but even for low qty you can go with cheap aluminium moulds or urethane casting for really low qty.

    If you are interested in the process, I posted updates in this Twitter thread (I usually make verbose updates over on Twitter): https://twitter.com/timonsku/status/1176259784871501825

    Before I show you the final pictures (well ok you probably saw them already when you visited the page, they replaced the old renderings). A few shots from the mounting plate and the "inside". I didn't mount any of the electronics except for 2 PCBs that I milled this week as well. I had to redo those because I polished some things with the mechanical layout which made the old V2 batch of PCBs not fully compatible, you can screw them down but they wont play nice with the spacers and are too close to the edge. The mainboard fits easily though when I reverse mount the module, as intended. You will see a full synergy in rev3 of the mainboard where the mounting plate will also be the heat sink.

    The two PCBs are both functional though, I left the USB-C with power only though, I didn't want to mill double sided to add traces for the USB2.0 connection. You might also notice there is not hole raster in the middle of the mounting plate. That's because I have not yet decided on a raster for that. I want that to be a lot larger (though still a multiple of 10mm), probably around 20mm. This will be determined with v3 of the motherboard. I will then add those manually, for now I only need a mounting point for the motherboard, that's easy to drill and tap manually. If I had chosen one by random it could have made things worse if I found out I need a different raster in the end. That way I'm flexible.



    And now finally the assembled prototype. I made sure to make a lot of pretty pictures :)

    No more warping yay \o/

  • Licensing

    Prof. Fartsparkle09/19/2019 at 22:24 4 comments

    I just noticed while watching this video from Thomas Sanladerer that I haven't really talked about licensing yet and that licensing can get icky quite fast. I only talked about it being "open source hardware" but without any further details that can mean a lot of things.

    First of all there are actually two projects here, there is DLT, a tablet that I'm making and then there is a yet to be named electrical and mechanical standard that I'm developing at the same time which DLT implements. This standard will enable anybody to create a compatible product or just parts for DLT.

    I want the standard to be as open as possible, the only thing I will probably require is credits but that's it, other than that, do what you want with this! Licenses that I have in mind for this are either MIT or a license better suited for hardware like CC-BY-4.0 (the more likely candidate). So even closed source commercial applications are totally fine.

    For the tablet I'm a bit torn. I want to hold a bit of control over what happens with it, mostly to avoid any malicious use of the hardware, intended or not intended. If someone just starts out producing this tablet without me knowing they could change pretty much anything and people buy it expecting the same product. I do not want to inhibit commercial use all together of course, I'm really only concerned about unsolicited copy cat manufacturing and the problems that come with it.

    So I'm currently leaning towards a CC-BY-NC-4.0, if you modify your DLT I don't want to force you to share those changes, feel free to use it in an industrial context and develop your proprietary tech around it but I don't want you to build it yourself from scratch and sell it to others. If you do want to do that, make your own design based on the spec! Which I think is actually kind of nice because it forces other companies to start using the standard and create their own thing if their ambitions already go so far that they want to self manufacture, making the ecosystem larger, which is really all I want.

    I find it very hard to choose a license in these cases because it's this very black and white, yes or no kind of deal even though there is a lot of commercial use that I want to allow (actually the majority of all possible commercial use).

    The only solution that I could come up with so far is to add a notice that I will gladly award you a license that allows you to commercially use it as long as it is within these terms that you don't sell copies or direct derivatives of the product without my explicit permission.

    The downside of that is that others are technically bound to my 'good will' and I don't know if that is such a good thing either.

    If you know a better solution or license, please let me know :)

  • Mechanical Design rev. 1 completed

    Prof. Fartsparkle09/16/2019 at 22:19 0 comments

    I spent the last 3 days re-designing the mechanical design with the learnings from the mockups so far.

    This was much faster done than I expected. I think the biggest reason for the speed up was that I just knew what I was going to make, there was no guesswork or long thinking periods necessary, just implementing what was already in my head. Apart from showing you the 'new' Design, with this project log I also want to give you some insight into my process.

    I do the mechanical design in Fusion 360 which has great integration into Eagle where I can change PCB designs and they are reflected in Fusion and back. This allows for a really rapid development. It's dreadful that this is not yet possible with Open Source tools but I think the free hobbyist and education licensing for both tools are very liberal considering the industries they reside in. So at least the access is not behind a paywall.

    I'm focusing my prototyping on the modular case version as the monolithic case is very user case dependant and actually a lot easier because there is nothing to specify. This is something that may not seem like such a big deal but designing something not only for a single product but also thinking about creating a specification around it can at time be the most time consuming task of this whole project.

    Everytime I do something I have to think about in what ways you might want to do it differently and how I can do it in a way that does not inhibit other uses than my own. I probably spent half a day in total on the pinout for the eDP FFC connector, a lot of thought process went into that, what voltages, should I provide, how much current draw should I allow, which extra peripheral could be necessary etc.

    This is similar for the mechanical part, albeit a bit easier because there are much less variables to consider.
    The peripheral blocks will need a lot of consideration and I don't think what I have now is the final version but it seems like a very sensible first step. Now I have something to test on and see how my assumptions hold up and how versatile the specifications are when I start making more peripherals like a headphone jack or SD card reader.

    At the moment a peripheral block has to be 8mm in height, and either of 20mm or 40mm width and be mounted by M2.5 screws. No part of their assembly is allowed to exceed the height limit. You may violate this spec and use a monolithic back plate design with the appropriate cut outs but it would not be compliant with the specs.

    This height works well enough for most "legacy" ports ( in the mobile world at least ) like full size HDMI, DisplayPort and USB-A. I want to support these as I see a lot of demand for them for the customer base that I see for DLT.

    I also like the idea of having a low profile standard, similar to PCI-e slots. This I see at 5mm at the moment as it would support all peripherals that are being used in the mobile world, that being USB-C, Micro USB, SD card slots and a 3.5mm headphone jack. This will shave of another 3mm which is quite a bit when you are talking about mobile devices.

    With the full height standard I'm currently at 16.8mm of total thickness, it's not awesome but I'm still very satisfied given that its a fully modular design, it's a very reasonable thickness not far from 2012 era monolithic hardware and still feels nice in you hands. For low profile this would be 13.8mm which is actually pretty close to even many modern tablets (that are not made by Samsung or Apple). Not that I want to compete with the consumer tablet market but I think a certain drive to "not too thick" is important.

    I added a small bezel around the touchscreen to protect the edges and let it protrude a bit over the edge to protect against accidental tablet facepalms.

    Here are some quick renderings, I didn't bother to fill up the edges with spacer blocks and only did one of each but you get the gist.

    All parts are ordered and should arrive by end of this week or early the week after....

    Read more »

  • Roadmap

    Prof. Fartsparkle09/13/2019 at 22:02 0 comments

    I want to quickly outline what I want to do in the coming months and what milestone I want to reach.

    Given the news that I made into the Hackaday Prize Finals I will have to speed up some of the development as I feel the current state is not yet conveying my intentions well enough.

    What I will try to do in the next 2.5 weeks:

    • Finish design of mounting plate and have it milled or laser cut in aluminium.
    • Model the plastic piece that comes between display and mounting plate. This is quite important for aesthetics. This will have to be 3D printed, either in SLS or SLA.
    • Finish 2 more face plates so the most important peripherals can be broken out, I will print and possibly paint these myself as that is very doable on the Form 2 that I have access to.
    • Design a back plate and have it printed or milled. Preferably also a monolithic back plate but maybe I 3D print that on the FDM, this is mostly to show that both is possible, monolithic and modular design.

    This is a lot to do for this short amount of time and I'm not sure I will get it all done in time but I will try.

    Next up would be finally rev. 3 of the motherboard, this will happen after the prize deadline, there is no way I can finish this up in this short amount of time with all the other tasks, PCB design might be done by then but getting the PCBs and soldering it up will take another week.

    Most importantly this revision will feature the reverse mounted Jetson Nano SoM, which would technically allow the first fully self contained prototype. Given I also make a basic li-ion charger module but if I don't go with USB-PD in these first tests this is very straight forward.

  • Feeling a bit stuck

    Prof. Fartsparkle09/13/2019 at 21:42 0 comments

    I haven't been very productive in the past few weeks. This was mostly due to me being a bit frozen with my eDP issues. I'm hesitant to move forward with the PCB design before this issue isn't fully understood.

    Getting the display to work is quite important to me and right now I'm not able to debug why the seemingly same circuit, layed out with the same guidelines I used previously is giving me these issues. At the moment I'm reliant on Nvidia's support as I have no real starting point for debugging the issue atm. The pace picked up a bit on their side and after a few weeks of silence the hardware team on their side couldn't identify any real issues. The software team on the other hand found some odd behaviour in the link training. Link training is a feature of DisplayPort that consists of finding out the correct signaling strength and receiving display timing data from the display (similar to the EDID readout step in HDMI).

    When it tries to establish a link the SoC does not try to up the voltage swing of all signal pairs but only for the first one. So most signal pairs stay at the lowest setting of 400mV, the first goes up to the maximum of 1200mV. This can mean two things, either there is a bug and because it does not raise the voltage swing for the other signal pairs it just fails over and over because it only touches the first pair. The other possibility is that everything is great with the other pairs at 400mV but something is very wrong with how the first pair is routed and the attempt of the driver to fix it fails, which atm seems unlikely but who knows.

    What is so frustrating about this is that I know what to do next and have a pretty good plan to bring this project to where I want to see it but I'm held back by this odd ball issue and I can't do much about it.

    I'm focusing on the mechanical side for now which can mostly be handled without advancing on the PCB design. I might still start with the newer PCB design as the production module for the Jetson Nano SoM is finally available which I had to wait for because the pin out changed there in relation to the pre-production devkit module. This new revision will feature the much needed reverse mount to the aluminium mounting plate which means I can finally get rid of this big silly heatsink.

    In the next post I want to outline quickly what step I want to take in the next months to give you an overview of the development roadmap that I have planned so far.

    On the bright side, I came around testing the fixed USB PCBs and all is well now :)

    Here it is happily talking to an Adafruit Metro M0.

  • Peripheral Bezels

    Prof. Fartsparkle08/13/2019 at 21:58 3 comments

    These are a solution to the fully customizable tablet version. If you read the project log about manufacturing I talked about having two different back cover plates essentially. One that is monolithic and neat, only usable for a fixed pre-selected set of peripherals.
    The other would be the hacker, maker, researcher option that lets you fully customize position and amount (and kind) of peripherals, making it also easy to add you own custom hardware.

    The issue I had to tackle was how do you achieve this without having open sides or requiring 3D printing from the customer.

    This is the solution I came up with (pictures below). Each peripheral will have to choose a bezel size. I haven't decided how many I want to include in the mechanical standard yet but it will probably be around 2 size options. They will only be allowed to differ in width, not height. Height is fixed for every element.

    To close of the space between peripherals we have spacer blocks, they come in the same widths as the bezels, so if you have give amount of spacer blocks you can always make a closed side surface, even if you add your own peripheral, all it has to do is adhere to this mechanical standard.

    The raster length is always a multiple of largest block width. The corners help define this, without them you will run into issues with different screen sizes, so the corners will always extend into each side of the tablet until they form this fixed raster length. That way you can adapt this to any screen size up to a certain minimum size given by the block width.

    Finally some pictures of the prototype prints that I made for illustration. This will of course look much much nicer with injection moulded pieces and an aluminium mounting plate instead of clear acrylic :)

  • Mounting plate mock-up

    Prof. Fartsparkle08/07/2019 at 22:14 2 comments

    I made a rendering of this before but I now laser cut a mock-up out of acrylic (the real deal will be aluminium).

    It's purpose is mostly to test out how well the positioning of the peripheral works out and to experience any issues when working with a real display and PCBs. It's also the first illustration of the whole modular peripherals idea.

    The result was quite promising. I also realized that I could slim down the thickness of the shim layer which raises the mounting plate high enough so it can sit just above or on the back of the LCD. I had concerns because there is always a part of the LCD that is thicker than the rest where the connector comes out (usually all covered up with black tape). I can just leave a cut-out there as the touch screen offers enough supporting area and lower the overall height of the shim. Here a picture of the whole mock-up assembly.


    Placing the peripherals worked pretty well! The hole raster on the edge (and to a degree in the middle) is all threaded 2.5MM holes in a 5mm pitch. This gives nice even distances of 5mm increments for both positioning as well as hole placement on the peripheral PCBs.

    Here a few close ups of some peripherals

    It is crucial that pure SMT components are used for this. With hybrid components like this HDMI connector below, you need spacers to raise them enough, those spacers are a bit too much but still, it will always add a 1-2mm to the overall thickness of the assembly.

    This hopefully illustrate how the whole modular peripheral concept is supposed to work. This is of course an early stage but it shows where it is supposed to go.
    As you can see there is always a slight offset from the edge for each PCB. This space is intended for the faceplate that each connector will receive and will make for closed side surface, even with a modularized back instead of a pretty but fixed injection moulded back.

    I will print mock-ups of these face plates in the coming week. So the next update is hopefully showing those off.

View all 24 project logs

Enjoy this project?

Share

Discussions

bylaws wrote 06/08/2019 at 12:58 point

You might want to consider using a bq24192 charging ic, it is well supported by the l4t kernel and provides an otg 5v vbus supply if needed. This can be paired with some USB PD chip if you want fast charging.

  Are you sure? yes | no

Prof. Fartsparkle wrote 06/20/2019 at 21:45 point

Thanks for the tip, I was looking through TI portfolio already but have a hard time deciding on a charger, they have a ton of options..

  Are you sure? yes | no

kwapiszon wrote 06/07/2019 at 11:12 point

Pine64 will be gread, but fpga will be greatest.

Small fpga are extremely nice glue for joining arm procesor and for example second arm procesor or x86 procesor or other fpga.

Power ware important. FPGA get small power and can emulate console/dos/zx spectrum etc.

  Are you sure? yes | no

Juan Rial wrote 06/07/2019 at 08:25 point

The i.MX 8M is what Librem is using for their Librem 5 Linux phone. I know you already went with another SoM, but perhaps their git repos are worth checking out, should the Jetson Nano not work out.

Anyway, once that phone is finally launched, a tablet becomes low hanging fruit for them. I guess we'll see a Librem tablet pretty soon as well. That means you can probably leverage their software efforts to improve the user experience of the DLT One. :)

  Are you sure? yes | no

Prof. Fartsparkle wrote 06/07/2019 at 10:51 point

Is their hardware open? I couldn't find anything last time I looked.
The i.MX8M is not dead for this projects, its just something I will look into at a different point when I got a working version going with the Jetson.

The Jetson Nano got a far better performance though, its one reason why I went with this first. The power users will be a lot happier with this than the i.MX8M. The i.MX8M is much more battery friendly though and a bit more power efficient, which is reeeally important for the small phone formfactor. I have a lot more thermal lee way with my 7-10" form factor.

  Are you sure? yes | no

Juan Rial wrote 06/07/2019 at 11:12 point

From their FAQ at https://puri.sm/faq/:

- Will this be an “open hardware” design?
=> Our intention is to have everything freed down to the schematic level, but have not cleared all design, patents, legal, and contractual details. We will continue to advance toward this goal as it aligns with our long-term beliefs.

So basically, that's the intention, but I don't think they have released anything yet. Then again, the thing isn't released yet either, they're still tweaking the hardware.

  Are you sure? yes | no

david.boosalis wrote 06/07/2019 at 07:25 point

Great project. I could see it filling a rather large niche for a   embedded  small touch screen  device. If it could support the Yocto build system I think it would be golden 

  Are you sure? yes | no

Prof. Fartsparkle wrote 06/07/2019 at 10:52 point

It is supported by third party efforts: https://github.com/madisongh/meta-tegra

  Are you sure? yes | no

BTPankow wrote 06/07/2019 at 02:19 point

Cool project! Where did you get the Jetson Nano hardware documentation? I’ve been looking all over for it, it seems like a neat piece of tech.

  Are you sure? yes | no

Prof. Fartsparkle wrote 06/07/2019 at 10:53 point

I had to sign an NDA. They will release that in a few weeks though, the current dev kit and module will change accoding to a forum post by Nvidia so its probably best that the current deprecated documentation isnt public.

  Are you sure? yes | no

JavaScriptDude wrote 06/07/2019 at 01:53 point

Is it possible to add a kill switch so if you want to go totally gene hackman (ala the conversation) by being able to disable the camera's, microphones and maybe another to kill switch for bluetooth, wifi (nfc).

  Are you sure? yes | no

Nicolò wrote 06/06/2019 at 19:31 point

Glad to see that I'm not the only one that create footprint upside-down Doh!

  Are you sure? yes | no

Prof. Fartsparkle wrote 06/07/2019 at 10:55 point

It turned out it wasn't the footprint, I just forgot to connect the AUX gnd in my schematic. DP is actually working now, will post an update soon :)

  Are you sure? yes | no

Renaud Lepage wrote 06/06/2019 at 18:49 point

A tablet with a Jetson Nano chip?

Gimme.

  Are you sure? yes | no

chris wrote 05/30/2019 at 08:44 point

This is way cool. I'm been so desirous for a full blown Linux Tablet, something in the hardware realm of the Microsoft Surface Pro. My needs are a bit more high end (lots of RAM ~ 32GB, and at least 1TB disk) as I'm running lots of VM's. Need something that can replace my laptop and iPad\Android Tablets...one device to do it all that runs Linux Proper (not WinBLOWS).


Best of luck with this...

  Are you sure? yes | no

Daniel Dunn wrote 04/12/2019 at 01:54 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 04/12/2019 at 20:07 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

Prof. Fartsparkle wrote 04/24/2019 at 11:38 point

thanks :)

  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