12/17/2019 at 15:54 •
I've been slacking. I wanted to write this entry weeks ago but issues with the latest revision have somehow kept me from writing about it.
It's a been a crazy 1.5 months. You may have already heard it but the project on the 2019 Hackaday Prize for Best Design :)
Which was totally awesome, I was at Supercon and showed of my prototype and received the award in person. It was a great experience and it was lovely to talk to so many of you. The enthusiasm around the project is just tremendous.
Now about the latest PCB revision. As I already mentioned it involved a lot of design changes. The biggest being that I switched to the production module of the Jetson Nano SOM and that I switched to a reverse mount SO-DIMM connector.
The PCBs are gorgeous, I use JLCPCBs impedance controlled JLC2313 stackup which allows for really tight diff. pairs.
It was a really large order as I revised not only the motherboard but also all the peripherals I made so far.
A big thank you to JLCPCB for their continuing to sponsor this project, while they are crazy affordable, all these 4 layer ENIG boards and stencils amount to quite a bit of money over time and having a PCB sponsor here definitely helped the pace of the project a lot.
Here some pictures of the PCB and pre and post reflow. Reflow was really good this time, only 2-3 minor shorts.
So back to the drawing board, I fixed the footprint (SamacSys was also very quick to reply and get on the issue btw. except for this instance their footprints were perfect so far, 90% of the footprints on this board are from them). I rerouted the broken parts and ordered revision 4, lets hope that now, finally everything will be all right!
10/29/2019 at 21:54 •
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.
09/30/2019 at 23:27 •
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.
Add another 10$ for all the small parts like screws and shipping material.
With that we end up with a total BOM cost of about 380$/345€ for a variant that includes a production Jetson Nano Module. Subtract 40$ if you buy your own.
The old rule of thumb is to double your BOM cost to get your final pricing, although I think we can maybe settle for a lower price for a kit, if we exclude certain warranties a kit price around 500$ might be manageable but don't hold me to that, this is a really rough calculation based on previous experience and a rough overview of the current part costs. If this should become a business that wants to be profitable, the price will likely have to be quite a bit higher but like always this heavily depends on demand...
Speaking of business, if it goes down that road, there is of course the matter of competition. Which is something I'm actually not worried about, if others pick this up and make their own tablets based on the standard it would be incredible for business as this drives the needed eco system and actually makes it a thing. So competition in any case would be great. I only really worry about bad copy cats that don't care about the idea, though the risk for that is very low for now. As for the tablet market in general I don't think it would be any competition, this targets something completely different than the current tablet market.
Note: When I talk about a kit I mean that you assemble the mechanical parts yourself, the PCBs will be fully assembled in any case. Which makes sense for a modular tablet any ways. Not sure how high the demand for a fully assembled tablet would be. Maybe for a monolithic version in the future that is more targeted at software developers.
09/30/2019 at 21:56 •
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. Making a quick piece of hardware that is just controlled by twiddling a few IOs is infinitely easier to make than implementing USB or Thunderbolt. Things like the headphone jack enabled some really easy hardware hacks like credit card terminals, IR senders/receivers or other interesting input devices. We take away the low complexity ports that are the driver for some really creative developments.
Giving people at least one platform where they can still have control over this is actually quite important I believe.
Google tried to do this too with Project Ara but its easy to see why they failed, they wanted your Grandma to be able to switch out hardware. Which is great but also not something my Grandma would want to do or at least not on her own.
By trying to make it as convenient as possible and being forced to make a large profit in the future you are making the challenge incredibly complex and very hard to overcome. If you stick to simpler ideas and focus on those who REALLY need this kind of modularity, those who are not afraid of opening their device and plugging in a Flat Flex Cable. If you do that it all becomes much easier, so much easier that you can develop this without millions in funding.
And those who are not so prone to open their device, get now a reason to do so and learn new things. The electrical pinout of the FFC connectors for each peripheral is keeping wrong or bad insertion in mind so its hard to do something so wrong that it would damage something, the worst case should be that it doesn't work but is easy to fix.
If you still feel uncomfortable you can of course just give it to someone who is willing to do it for your. I made good money as a teenager by replacing hard drives and RAM on old MacBooks (and replacing modules wouldn't be any harder). Something that is seemingly really easy to the technical inclined (back then it was just a couple of screws) but there is always someone who feels very uncomfortable to do this. Trying to cater such a complex feature to everyone's ability is really hard and nothing you should do from the get go or else you fail, focus on those who need it the most NOW and go on from there.
Feature creep and lack of focus killed many great projects.
Again that of course doesn't exclude non technical folks to use these devices but I think its ok and valid to calculate that some will simply need assistance if they wish to modify their device, just the same way they already do with current tech, which is also something that can be offered as a service if you were to commercialize this.
09/27/2019 at 21:40 •
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/
09/19/2019 at 22:24 •
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 :)
09/16/2019 at 22:19 •
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. If I messed something up that is not fixable by modifying the parts I have about a week to produce them myself 'in house' which gives me a bit of a safety net for the HaD prize deadline.
09/13/2019 at 22:02 •
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.
09/13/2019 at 21:42 •
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.
08/13/2019 at 21:58 •
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 :)