Hi everybody,
Since this is my first post on this list, please allow me to get off my chest a few things:
- huge thanks to Luke for getting this project started - me = funding a PFY laptop, eagerly awaiting for it to arrive ;-) - me = working at a research institute, focused on hardware security
As a private individual but also as at work, having an EOMA68 card based on an NXP i.MX7 would be very useful. It is a powerful processor with a heterogeneous architecture (2x A7, 1x M4) which makes it an interesting choice for energy-limited applications (M4 can turn off/on A7) and scenarios where safety/security are important (M4 can do real-time aside from workload on A7).
The i.MX7 has many useful security features (crypto accelerators, high-assurance boot, TrustZone, etc.).
An initial check with the EOMA68 infrastructure indicates compatibility.
My personal goals with this are as follows: - Create an EOMA68 card with i.MX7 to complement my research (in fact, I simply need a good demo for the stuff I'm doing) - Provide the community an even better microprocessor card - Have a complex PCB project to learn along the way (I did PCB designs beforehand but never that complex)
The project outline is roughly as follows: - 1 Use a phyBOARD-Zeta and a set of adapters to check compatibility of the i.MX7 and the EOMA68 infrastructure once the PFY laptop arrives [1] - 2 Create a PCMCIA-II card featuring the i.MX7 (goal: release as board + schematics to the public) - 3 Create a PCMCIA-III card protected with a high-security tamper-resistant enclosure that makes physical access improbable (I will not comment on this prior to publication as it is my research project), check for example [2]
What would be of interest to me is the following: - How well the idea of having an i.MX7 card is received - How important the use of an open source CAD program is. I have access to Altium and have used it beforehand. However, KiCad has made significant progress since CERN is involved. Using KiCad would make it easier for the community to modify the board but since soldering these components by hand is impossible anyway, would there be any benefit in having freely accessible design files? - General interest in a tamper-resistant enclosure
To make the development easier, it would be nice if Luke could provide us (the community) with: - proper drawings for the outline of his PCB - PCMCIA connector type/enclosure and height requirements of PCB - mechanical verification package (as order option on crowdsupply) to provide a "getting-you-started" package for EOMA68 card developers; possibly including: PCMCIA receptable, connector, enclosure, etc.
Please let me know what you think. Also, please keep in mind that this is a kind of fun project for me at work and therefore the time I can spend on this is limited. Progress will be slow but I will be sending updates to the mailing list.
Cheers, Vincent
[1] http://www.phytec.eu/product/single-board-computer/phyboard-zeta/ [2] http://www.design-shift.com/orwl/
On Tue, May 9, 2017 at 9:53 PM, Vincent ml.eoma68@eml.cc wrote:
Hi everybody,
Since this is my first post on this list, please allow me to get off my chest a few things:
- huge thanks to Luke for getting this project started
- me = funding a PFY laptop, eagerly awaiting for it to arrive ;-)
- me = working at a research institute, focused on hardware security
hi vincent, nice to see you here on the list.
What would be of interest to me is the following:
- How well the idea of having an i.MX7 card is received
i like it - the more the merrier, especially if there are others making them.
- How important the use of an open source CAD program is.
debatable. if they were up to scratch it would be more important. they're not up to scratch... so... *sigh*.
I have access to Altium and have used it beforehand. However, KiCad has made significant progress since CERN is involved. Using KiCad would make it easier for the community to modify the board but since soldering these components by hand is impossible anyway, would there be any benefit in having freely accessible design files?
you pretty much summed it up. do the best you can. gerbers, export the PCB so it *can* be imported into libre design software (i believe someone has actually written a plugin for kicad so it can import altium in some way), and so on.
but honestly, KiCAD simply is not up to the task. you *will* end up in a world of pain. firstly: you should not be considering re-laying-out the DDR3 tracks (unless absolutely necessary... and - see later - it's not necessary). secondly, if there's a pre-existing Reference Board you should be using it and adapting your working strategy to that.
basically it's all about making the absolute minimum number of changes. this is *not* software. each "test" you do costs $1700 to $2000 and takes around 2-4 weeks to make then another 2-4 weeks to debug.
- General interest in a tamper-resistant enclosure
To make the development easier, it would be nice if Luke could provide us (the community) with:
- proper drawings for the outline of his PCB
- PCMCIA connector type/enclosure and height requirements of PCB
- mechanical verification package (as order option on crowdsupply) to
provide a "getting-you-started" package for EOMA68 card developers; possibly including: PCMCIA receptable, connector, enclosure, etc.
as you're the first let's do this in an informal way that's convenient for me to do. i've had a go at converting the sabre iMX7 Reference Design over to EOMA68, and what i'll do is email you that once i've put all the (latest versions of) components into it.
then, if you use mike's factory, he has all the parts, and is set up to ship internationally.
Please let me know what you think. Also, please keep in mind that this is a kind of fun project for me at work and therefore the time I can spend on this is limited. Progress will be slow but I will be sending updates to the mailing list.
cool - understood.
well, i'll try to make it easy for you by cleaning up the converted Reference Design.
this is awesome! :)
l.
Hi Luke,
Okay, it is good to see you on the same page when it comes to KiCad vs. Altium. Also, I wanted to give the community the chance to respond to this prior to making any design.
I highly appreciate your effort in creating the template version of the i.MX7 design. I hope I can carry it on in your best interest without touching anything of the critical stuff.
Do you by accident know how critical the layer stack-up is in terms of material selection, e.g., in terms of using FR4 and having controlled impedances by the manufacturer? For testing purposes etc., it would certainly be much easier to use a manufacturer that happens to be nearby.
Also, I wanted to point out that the i.MX7 security manual is only available under an NDA (one needs to sign up and request the file download). I'm actually wondering why this is the case because the stuff in there is not that special after all.
Thanks for summarizing all the other aspects (power profile, etc.).
Best regards, Vincent
On 05/10/2017 09:25 AM, Luke Kenneth Casson Leighton wrote:
On Tue, May 9, 2017 at 9:53 PM, Vincent ml.eoma68@eml.cc wrote:
Hi everybody,
Since this is my first post on this list, please allow me to get off my chest a few things:
- huge thanks to Luke for getting this project started
- me = funding a PFY laptop, eagerly awaiting for it to arrive ;-)
- me = working at a research institute, focused on hardware security
hi vincent, nice to see you here on the list.
What would be of interest to me is the following:
- How well the idea of having an i.MX7 card is received
i like it - the more the merrier, especially if there are others making them.
- How important the use of an open source CAD program is.
debatable. if they were up to scratch it would be more important. they're not up to scratch... so... *sigh*.
I have access to Altium and have used it beforehand. However, KiCad has made significant progress since CERN is involved. Using KiCad would make it easier for the community to modify the board but since soldering these components by hand is impossible anyway, would there be any benefit in having freely accessible design files?
you pretty much summed it up. do the best you can. gerbers, export the PCB so it *can* be imported into libre design software (i believe someone has actually written a plugin for kicad so it can import altium in some way), and so on.
but honestly, KiCAD simply is not up to the task. you *will* end up in a world of pain. firstly: you should not be considering re-laying-out the DDR3 tracks (unless absolutely necessary... and - see later - it's not necessary). secondly, if there's a pre-existing Reference Board you should be using it and adapting your working strategy to that.
basically it's all about making the absolute minimum number of changes. this is *not* software. each "test" you do costs $1700 to $2000 and takes around 2-4 weeks to make then another 2-4 weeks to debug.
- General interest in a tamper-resistant enclosure
To make the development easier, it would be nice if Luke could provide us (the community) with:
- proper drawings for the outline of his PCB
- PCMCIA connector type/enclosure and height requirements of PCB
- mechanical verification package (as order option on crowdsupply) to
provide a "getting-you-started" package for EOMA68 card developers; possibly including: PCMCIA receptable, connector, enclosure, etc.
as you're the first let's do this in an informal way that's convenient for me to do. i've had a go at converting the sabre iMX7 Reference Design over to EOMA68, and what i'll do is email you that once i've put all the (latest versions of) components into it.
then, if you use mike's factory, he has all the parts, and is set up to ship internationally.
Please let me know what you think. Also, please keep in mind that this is a kind of fun project for me at work and therefore the time I can spend on this is limited. Progress will be slow but I will be sending updates to the mailing list.
cool - understood.
well, i'll try to make it easy for you by cleaning up the converted Reference Design.
this is awesome! :)
l.
arm-netbook mailing list arm-netbook@lists.phcomp.co.uk http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook Send large attachments to arm-netbook@files.phcomp.co.uk
On Tue, May 16, 2017 at 8:28 PM, Vincent ml.eoma68@eml.cc wrote:
Hi Luke,
Okay, it is good to see you on the same page when it comes to KiCad vs. Altium.
yeah... ismo too. he tried it... basically anyone who's ever used a professional CAD package will scream in horror and try to dig out their own eyes rather than use it :)
Also, I wanted to give the community the chance to respond to this prior to making any design.
awesome.
I highly appreciate your effort in creating the template version of the i.MX7 design. I hope I can carry it on in your best interest without touching anything of the critical stuff.
great. i'll send it your way. it should be pretty obvious what's needed. i *think* you might, unfortunately, need to rotate the eMMC chip by 45 degrees (one way or the other) so as to make room for the PMICs (without needing to do too much to the actual PMIC layout... which i *don't* recommend altering if you can possibly help it). but to do _that_ you might also need to move one (or both) of the XTALs. the "safest" one to move is the 32khz one - maybe replace that with an MC149 footprint one (i think that's what it is: take a look at the EOMA68-A20 board layout). maybe MC-146? anyway doesn't matter.
one thing that will need sorting: the 5V DC input. i haven't completely finished that, i have however removed "battery" and other stuff from the Reference Design, we'll need to go over that and make sure it's clean/clear.
Do you by accident know how critical the layer stack-up is in terms of material selection, e.g., in terms of using FR4 and having controlled impedances by the manufacturer?
ok to give you some idea: DDR3 tracks which @ 3.2mil are nominally 100 ohms on a 6-layer stack on FR4 @ 1.6mm will drop to **HALF** that amount if you convert to an 8 layer stack @ 1.2mm.
*luckily* this is something that has been catered for in the actual DDR3 standard, so you can have 40 ohm, 60 ohm, ... all the way up to 120 ohm impedance, and the DDR3 termination at *both* the PHY *and the actual DDR3 ICs* can be changed in software.
for the USB2 tracks, honestly they are so short that i wouldn't worry about it. just get them out on as few layers as you can with as little modifications as you can, leave them @ 3.5 mil with spacing around... 7 mil and be done with it. just make sure that you set up equally-spaced vias all the way. general rule is: the more "artistic" (i.e. the more "beautiful") the design, the greater the chances are that it will work. yes, really! symmetry and beauty bizarrely have a better chance of success than any amount of "engineering rules"!
also *do not* put tracks close to high-speed signals, not even on another layer. if you absolutely absolutely have to put signals (any signals) on neighbouring layers, make damn sure that they "cross" - don't for goodness sake make them go "parallel".
For testing purposes etc., it would certainly be much easier to use a manufacturer that happens to be nearby.
... yyyeah... except i can guarantee they'll be charging you around $2k to $4k for QTY 10 PCBs instead of only $USD 600 to 800, and god knows what western PCBA (pcb assembly) rates are. don't be surprised if they quote you north of $USD 10,000.
given that it's going to take at least 3-4 weeks for the PCBs and assembly to be done _anyway_, what's adding the cost of a DHL courier going to be? $70 plus import duties? is it *really* that important to do "testing" that you don't want to save a whopping $8k difference in the cost??
Also, I wanted to point out that the i.MX7 security manual is only available under an NDA (one needs to sign up and request the file download). I'm actually wondering why this is the case because the stuff in there is not that special after all.
bizarre! well, one thing you might want to investigate: does that NDA conflict with releasing source code or not?
Thanks for summarizing all the other aspects (power profile, etc.).
no problem vincent.
l.
2017-05-09 22:53 GMT+02:00 Vincent ml.eoma68@eml.cc:
Hi everybody,
Since this is my first post on this list, please allow me to get off my chest a few things:
- huge thanks to Luke for getting this project started
- me = funding a PFY laptop, eagerly awaiting for it to arrive ;-)
- me = working at a research institute, focused on hardware security
As a private individual but also as at work, having an EOMA68 card based on an NXP i.MX7 would be very useful. It is a powerful processor with a heterogeneous architecture (2x A7, 1x M4) which makes it an interesting choice for energy-limited applications (M4 can turn off/on A7) and scenarios where safety/security are important (M4 can do real-time aside from workload on A7).
The i.MX7 has many useful security features (crypto accelerators, high-assurance boot, TrustZone, etc.).
An initial check with the EOMA68 infrastructure indicates compatibility.
My personal goals with this are as follows:
- Create an EOMA68 card with i.MX7 to complement my research (in fact, I
simply need a good demo for the stuff I'm doing)
- Provide the community an even better microprocessor card
- Have a complex PCB project to learn along the way (I did PCB designs
beforehand but never that complex)
Looks like a good objective. The i.MX display pipeline is reasonably reverse engineered to have a full open open source experience.
Reading this list I guess you'll need a few things before you start: 1. Check is the i.MX7 fits the powerprofile 2. Find a reference design. NDA free 3. Check if the i.MX7 has all required outputs. Or needs converter IC's
On Wed, May 10, 2017 at 9:02 AM, mike.valk@gmail.com mike.valk@gmail.com wrote:
Looks like a good objective. The i.MX display pipeline is reasonably reverse engineered to have a full open open source experience.
Reading this list I guess you'll need a few things before you start:
- Check is the i.MX7 fits the powerprofile
it does. it's only a dual-core Cortex A7 so will be fine.
- Find a reference design. NDA free
done already. found. already started a conversion process, which i'll hand over to vincent shortly. vincent: the only thing is, once you're in altium i can't directly help you further: any help will have to be done by either screenshots, PDFs, or in the case of the PCB layout with gerber files. one-way output in other words.
- Check if the i.MX7 has all required outputs.
it does.
Or needs converter IC's
it doesn't.
Hardware designs and documentation are crucial for the lliberation of hardware. You wont be regarded well by the community if you hide these. Even if you a proprietary software to design (loss of YOUR personal freedoms) save all results in a format usable in a libre client (OUR freedom is at stake at that point)
On 9 May 2017 23:53:34 GMT+03:00, Vincent ml.eoma68@eml.cc wrote:
Hi everybody,
Since this is my first post on this list, please allow me to get off my chest a few things:
- huge thanks to Luke for getting this project started
- me = funding a PFY laptop, eagerly awaiting for it to arrive ;-)
- me = working at a research institute, focused on hardware security
As a private individual but also as at work, having an EOMA68 card based on an NXP i.MX7 would be very useful. It is a powerful processor with a heterogeneous architecture (2x A7, 1x M4) which makes it an interesting choice for energy-limited applications (M4 can turn off/on A7) and scenarios where safety/security are important (M4 can do real-time aside from workload on A7).
The i.MX7 has many useful security features (crypto accelerators, high-assurance boot, TrustZone, etc.).
An initial check with the EOMA68 infrastructure indicates compatibility.
My personal goals with this are as follows:
- Create an EOMA68 card with i.MX7 to complement my research (in fact,
I simply need a good demo for the stuff I'm doing)
- Provide the community an even better microprocessor card
- Have a complex PCB project to learn along the way (I did PCB designs
beforehand but never that complex)
The project outline is roughly as follows:
- 1 Use a phyBOARD-Zeta and a set of adapters to check compatibility of
the i.MX7 and the EOMA68 infrastructure once the PFY laptop arrives [1]
- 2 Create a PCMCIA-II card featuring the i.MX7 (goal: release as board
- schematics to the public)
- 3 Create a PCMCIA-III card protected with a high-security
tamper-resistant enclosure that makes physical access improbable (I will not comment on this prior to publication as it is my research project), check for example [2]
What would be of interest to me is the following:
- How well the idea of having an i.MX7 card is received
- How important the use of an open source CAD program is. I have access
to Altium and have used it beforehand. However, KiCad has made significant progress since CERN is involved. Using KiCad would make it easier for the community to modify the board but since soldering these components by hand is impossible anyway, would there be any benefit in having freely accessible design files?
- General interest in a tamper-resistant enclosure
To make the development easier, it would be nice if Luke could provide us (the community) with:
- proper drawings for the outline of his PCB
- PCMCIA connector type/enclosure and height requirements of PCB
- mechanical verification package (as order option on crowdsupply) to
provide a "getting-you-started" package for EOMA68 card developers; possibly including: PCMCIA receptable, connector, enclosure, etc.
Please let me know what you think. Also, please keep in mind that this is a kind of fun project for me at work and therefore the time I can spend on this is limited. Progress will be slow but I will be sending updates to the mailing list.
Cheers, Vincent
[1] http://www.phytec.eu/product/single-board-computer/phyboard-zeta/ [2] http://www.design-shift.com/orwl/
arm-netbook mailing list arm-netbook@lists.phcomp.co.uk http://lists.phcomp.co.uk/mailman/listinfo/arm-netbook Send large attachments to arm-netbook@files.phcomp.co.uk
arm-netbook@lists.phcomp.co.uk