Portable Mini-ITX multifunctional PC
Open, WishlistPublic

Description

Here we collect ideas for building Mini-ITX PCs (mainly RAW recording possibilities).

ps: I put my first base post to my next post, because this topic will be more, then I thought.

surami created this task.Dec 11 2014, 3:16 PM
surami updated the task description. (Show Details)
surami raised the priority of this task from to Wishlist.
surami added a project: Brainstorming.
surami added a subscriber: surami.
surami updated the task description. (Show Details)Dec 11 2014, 3:38 PM
surami updated the task description. (Show Details)
surami updated the task description. (Show Details)
surami updated the task description. (Show Details)
surami updated the task description. (Show Details)Dec 11 2014, 5:13 PM
surami updated the task description. (Show Details)Dec 11 2014, 5:16 PM

I like the idea but I have a lot of questions and remarks.

About the scope
We have a good initial requirement for storage. I think the same applies for bandwidth. But...
What is the total length of the footage to be stored and how "active" that storage should be ?
What is the target price ?
Amount of development ?
What are the dimensions and weight of the product ?

Definition of Portable
For me a portable product is something like a laptop : 2-3 kg, and I can fit it in a handbag easily.
A media-center PC (ATX power supply, HDD, Graphics card Miti-ITX/mini-ATX motherboard) is transportable but not portable. I can carry that in a flight-case but not in an handbag.

This rules out a lot of Intel based solutions that are not laptops.

Target price
This is something we will have to own, so I assume there will be a maximum price tag.
It has also to be of good quality, so there is also a minimum price tag.

This will rule out both expensive solutions like Fusion-IO boards but also cheap things like raspberry Pi.

Amount of development
Are we going for a best of breed solution with of the self components that can be bought from our local PC dealer or are we going to do custom development ?
The best of breed solution can look like what has been proposed. (I have another proposal thought).
Examples:

  1. Mini-ITX Intel(or Via) board + SSD + Power Supply + RAM +...
  2. ARM based solution like PCDuino(39$) dual core 1GHz, 1GB RAM Sata, microSD, HDMI, Gigabit ethernet,USB,MIPI
  3. ARM Based (i.MX6) open source laptop.

With the custom solution we have a lot more freedom but it make sense only if we can build enough of them.

    1. industrial/professionnal ARM based processors (TI,Freescale
  1. FPGA Soc like the Zynq
  2. Parallela board
  3. ARM solutions based on chips for GSM/tablets (Exynos from Samsung, AllWInner, Marvell ARMADA 375...

Storage
Fast storage is small and expensive, slow storage is big and cheap. So it make sense to split storage between fast PCIe storage card/modules(SSD or PCIe card) and slower Sata disks. Using Sata Disks in parallel model gives you more bandwidth.
Before making a choice, we must know exactly what is the maximum bandwidth required.
At one end of the product range (read servers) you have Fusion-IO boards :

  • Capacity 6.4 TB
  • Write bandwidth 2.2GB/s with a latency of 19 µs
  • Don't ask the price

On the other side, you can use for example an Odroid XU3 board:

  • 64MB eMMC5 (74MB sequential write)- Not enough I know
  • SATA3 interface
  • 2GB DRAM (14.9 GB/s bandwidth). Can be used as a small RAM Disk.
  • 4 A15 2GHz ARM cores + 4 A7 ARM cores.
  • Price : 179$

Power consumption
ARM based system tends to have a low consumption 5/10 Watts and may run on USB power or battery , Intel systems are way more power hungry.
HDD drives are very power hungry because there are mechanical parts. Those parts can be damaged by shocks. Fully solid state integrated system can be a lot less power hungry and most of them have LCD/touch screen interfaces.

Summary

  • The use case is still way too fuzzy to decide on a solution
  • PC based Intel solutions are not the only ones existing and are probably not the good ones.
  • PC Laptop Based solutions are attractive but may not be applicable.
  • ARM based solutions are promising but you need to find the right system for our needs as not all ARM solutions have the right peripherals.

That are my toughts, Feel free to comment

surami added a comment.EditedDec 14 2014, 10:54 PM

This was my topic starting post:
"I have an idea about to build a portable Mini-ITX multifunctional PC, which could get the big amount of RAW data from the Beta, store it on HDD + maybe it could work as a system which could process/encode the files and as a workstation too.

So we have 2 functions, recordingstation (A) and workstation (B).

I started to count with DCI 4K RAW data amount:
1 frame is: 4096 x 2160 x 12bit / 8 / 1024000 = 12,96 MB
So a 50fps 1 second long footage is: 12,96 x 50 = 648 MB

We need to transfer this data-amount and write it to somewhere. There is a relative "fresh" option for high speed SSD speeds, the M.2 connector with M key (PCIe x4 and SATA):

Till now the best M.2 SSD is the Samsung XP941 (review, test), it has a "Peak Read Sequential Performance: Up to 1170 MB/s, Peak Write Sequential Performance: Up to 930 MB/s" in that case if the host interface is a PCIe 2.0 x4 port.

The next question is, that which Mini-ITX motherboard has a support for this PCIe 2.0 x4 speed, till now I could find the Asus Maximus VII Impact (manual pdf)
Note: "The M.2 slot shares bandwidth with PCIe 3.0/2.0 X16 slot. Bandwidth on the PCIe 3.0/2.0 x16 slot becomes x8 when M.2 device is inserted."
It doesn't count too much in the point of graphic card performance, if the PCIe port runs only in x8 mode.

So this 256GB M.2 SSD could be a buffer (it's enough for 6-7 minutes DCI 4K 50fps RAW data) in recording mode (A) and could be a cache + storage for actual video datas in the workstation mode (B).

The Mini-ITX setup could look like this:

In the recordingstation mode, there is no need for powerfull graphic performance, so the onboard graphic function of the motherboard/processor could be used.

We have to power the system and till now I think so, that there is need for 2 separete power supplies.

  • A mode (portable, recording station), HD-PLEX 160W or 250W
  • A mode, battery: ???
  • B mode, 500W: there are many options
  • B mode: AC power

Additional stuffs:

  • There is need to switch the cards on the PCIe x16 port without to remove them, is there any active riser with a jumper or something?
  • There is need to find and build a battery solution for 1 hour continous usage in recording station mode, which can be switched easily. This power supply and battery should be in a separate box, because in workstatoin mode the another power supply should be attached. Maybe wire out the ATX connector to the recording station body?
  • There is need to design a good looking ikea style aluminium body for the setup, maybe with passive cooling and 2 modes (a closed and as good weatherproofness as possible in recordingstation mode and an "open" style for workstation mode). Cooling something like here (see gallery) + fan in workstatoin mode.
  • There is need to control the device in recording mode without any keyboard or mouse, so a 7-10" touchscreen would be fine (data-display group: link1, link2, link3)

If you are interested in this please write your toughts, this is only an idea, I don't have any electricity and 3D design knowledge."

The second post:
Well, I started to think on SBCs at first, but there aren't any, which has a wide input bandwidth for 4K RAW data recording. So till now there are standalone portable recorders like Atomos Shogun, Odyssey7Q, etc.. For me the price of them is too much for "only" a recording solution and why not build a multifunctional portable PC, which later could be used for postproduction too? Of course it's a heavy thing and eats more power (this is the 1st worst point):

  • Asus Maximus VII Impact (1270g)
  • Intel Core i7-4770S + Noctua NH-L9i (198g + 420g)
  • HyperX Fury 16GB (2 x 8GB) DDR3 1600MHz (90g)
  • Samsung 840 EVO 250GB SSD (53g)
  • Seagate Barracuda 3TB 7200RPM (408g)
  • Samsung XP941 256GB (9g)
  • Capture card (~100g)
  • MSI GeForce GTX 760 2GB ITX Video Card (580g)
  • HDPLEX 160W DC-ATX Power Supply (~50g)
  • 7" HDMI touch display (~110g)
  • LiPo battery (for 1 hour continous usage) (~1700g)
  • Aluminium body (~1400g)
  • Altogether: 6388g (The size depends on the layout, but what I counted it would be something so: L,300mm x W,210mm x H,120mm or L,180mm x W, 210mm x H,160mm + powersupply case with battery L,150mm x W,100mm x H,50mm)
  • Power consumption in portable mode: TDP ~159W

This is a very powerfull Mini-ITX system and the price of the assemblies without the body is around: £1900 (this is the 2nd worst point, but multifunctional :) )

Maybe I should forget this whole multifunctional line and just build the cheapest solution only for recording, I don't know.

Please stay at topic, here I would like to speak only about Mini-ITX PC systems. But I'm also interested in any other solutions, so open more topics. :)

I'm not engineer or something technical guy, so I can only think on that way, what I can buy online or local shop etc.. If something new could be developed by the folk I'm very open for it.

I will stay on topic.
But I think that if you compare it with the Odyssey and Atomos Shogun, your solution cannot be compared to those soltutions
Shogun :196mm x 110mm x 47mm and 645g 6.8W-11W
Odyssey : 200mmx155mmx25mm, 560g 8W

Personally, If I want to build a system myself, I would go the way you propose because I can buy it easily.
But If I want to use it daily I won't be a system like that because of the weight and the dimensions (and the price). I don't need a workstation because I have my PC and a portable recording system need to be portable not something I will carry in a big suitcase.
Going low cost for a PC based system make sense like you said.
Starting to build a bulky and expensive system from off the self components does not make sense. That is my experience as an engineer working in a related field.

And if at all possible, bypass the need for a "conventional" (x86) cpu and find a way to provide filesystem and sata protocol support from an fpga / arm system for lower power consumption. Pipe dream ?

surami updated the task description. (Show Details)Dec 15 2014, 10:53 PM

Off-topic for Mini-ITX but...

@benoit.callebaut
I see your points. So how do you think, what would be the best solution to get the RAW data (as high fps as we can) from the AXIOM Beta and save it in an affordable price at low power consumption and light weight?

I don't know yet, that the 4K RAW data how will come out from the Beta, but if we count, then the numbers are this:

1 DCI 4K RAW frame: 4096 x 2160 x 12bit / 8 / 1024000 = 12,96 MB
50fps: 12,96 x 50 = 648 MB
or
1 UHD 4K RAW frame: 3840 x 2160 x 12bit / 8 / 1024000 = 12,15 MB
50fps: 12,15 x 50 = 607,50 MB
or
1 1080p RAW frame: 1920 x 1080 x 12bit / 8 / 1024000 = 3,04 MB
200fps: 3,04 x 200 = 607,50 MB

As I think and as I read (I don't know, but correct me if it isn't right) if on FPGA side there is debayering, so the frames will have the color information (in the example only 8bit not 10bit), then the data amount is much more:

1 uncompressed DCI 4K RGB 444 8bit debayered frame: 4096 x 2160 x 8 (bit) x 3 (colors) / 8 / 1024000 = 25,92 MB
50fps: 25,92 x 50 = 1296 MB
or
1 uncompressed UHD 4K RGB 444 8bit debayered frame: 3840 x 2160 x 8 (bit) x 3 (colors) / 8 / 1024000 = 24,30 MB
50fps: 24,30 x 50 = 1215 MB
or
1 uncompressed 1080p RGB 444 8bit debayered frame: 1920 x 1080 x 8 (bit) x 3 (colors) / 8 / 1024000 = 6,08 MB
200fps: 6,08 x 200 = 1215 MB

Of course there are compression possibilities and chroma subsampling "reductions" if we want, but it will reduce the picture quality.

Virtual filesystems, RAW viewers, converters, encoders are already there from the Magic Lantern developers. Look at this awsome jobs (respect for them!) and think: MlRawViewer, MLVFS.

@philippej
I don't know what are the possibilities on FPGA side, but as I see till now we are bounded... standalone recorder or conventional :) PC.

I am not sure its possible to combine the two use cases:
-) recording footage
-) editing footage (workstation)
together without them contradicting themselves.

For recording you want something lightweight, small with minimal power requirements, ultimately with passive cooling and a sealed enclosure for the field (no airflow). All this is exactly the opposite of what a workstation does/requires :)

I am in contact with someone who built this custom mobile computer solution for mobile live broadcast encoding:

It could be a great form factor/foundation for building the mobile recording solution PC.

My contribution and I hope I haven’t missed the point.

Given the camera is fundamentally running Linux, would it not be more sensible to look at the wealth of tools which are supported by the environment, and then work from there.

A small server (ITX or otherwise) running FreeNas would allow the setup and mounting of raided disk which can then be accessed with standard utilities like NFS (Network File System).

If the unit was raided (to whatever level required) resilience is provided, with no overhead in terms of speed assuming fast disks are utilised.

If cost is the issue then FreeNas can still be used with a single disk system, but obviously without the security.

The likes of Ordroid and Cubbietruck are good (more powerful than the Raspberry Pi), but only support a single disk.

These could however provide good portable solutions if packaged well.

The separate function of editing/viewing files could then be provided for by a PC/Laptop employing the users preferred environment, which simply connects over the network.

For simply viewing, a tablet on the same network using VLC could provide a quick method of reviewing.

My thoughts

I thought of 2 ways of doing things without reinventing the wheel:

  • The Jolla project is a tablet based on a x86. It has dimensions and weight similar to the Odyssey. It doesn't have the required storage , video input bandwidth and video processing power. This would be handled by an extra FPGA board (phillipej has more knowledge on this). Why not contact the Jolla team ?
  • The Novena project is an open source laptop. The good thing about this project is that it is open source and we can more easily add the required video input/processing board in it. It is meant to be hackable.

Good thing about theses two project is that they have also software for these projects.

It looks like sebastian has the best contacts at the moment for such a solution

My belly feeling is that we are more in need of a input/processing board than a full system.
I would go in the direction of a PCIe/mPCI card based on an FPGA (Zynq) that can be used also in standalone mode. So that we can integrate it in third party systems (PC or tablet or laptop...)

surami added a comment.EditedDec 16 2014, 10:29 PM

@sebastian
Yes, it is also a possible solution. It is very similar to the idea of this HD-PLEX case with passive cooling, maybe he customized it.
For me the layout isn't good, it's too flat.

I thought that multifunctional system something like this, sorry for my free-handed drawing knowledge, this is my first sketch about this:

1 recording:
1/1 AXIOM Beta + lens (1 wire for monitoring and 2 wires for RAW data transfer)
1/2 7" HDMI TFT screen for live monitoring
1/3 sealed enclosure, with heatsink (as much as possible) and wired out ATX (female) connection to the backside of the body
1/4 on the other side another 7" HDMI TFT, but with capacitivie touch possibilities to control Ubuntu
1/5 detechable/attachable and openable (to change the batteries) 160W powersupply enclosure with battery (with rubber edge [weather proofness] at the connection to the big body)
1/6 detechable/attachable sidepanel
1/7 adjustable arm to hold the body

2 workstation:
2/1 AXIOM Beta holding plate
2/2 displays
2/3 enclosure with wired out ATX (female) connection to the backside of the body
2/4 mouse, keyboard
2/5 500W powersupply with ATX wires to the camera body
2/6 detechable/attachable open sidepanel with fans
2/7 adjustable arm to hold the body
2/8 usb 3 raid storage

It's too complex, as I see now "fully" drawn, a docking solution would be fine and inside a PCIe x16 -> dual PCIe x16 switchable riser card (something like this, but another layout in Mini-ITX format) is also needed for capture and video card switch option.

Of course only a recorder solution is more simple and cheaper. We need to design one, what is not so flat and the Beta can have a place on it. What do you think?

@elvis_preseli
I think the single board computers out there aren't enough powerfull to get 600-700 MB/s, they have (if they have) only mPCIe or single/dual SATA II or single SATA III, it's simple not enough bandwidth and how would you connect the Beta to them and how do you save the dataamount, take a look at this comparison list.

I speak about RAW data now, to view it we need software debayering, MlRawViewer, read please.

I don't know this FreeNAS and networking solution, is this somethink like dslrdashboard?

Please provide to us links always, if you speak about something, so we can get the information quite quick and we can learn quicker.

@benoit.callebaut
I thought about that, that maybe a Magewell PCIe card could be reprogrammed/reflashed with a custom firmware (if possible) to only a function (transfer the RAW data, whitout any conversion) in theory it's upgradeable, but I don't know about the possibilities. We aleardy collected some capturing solutions on the wiki site.

surami updated the task description. (Show Details)Dec 17 2014, 12:28 AM
allan added a subscriber: allan.Dec 26 2014, 9:46 PM

Staying within the realms that make for what the axiom beta is, i dont think the recorder solution should be too heavy or loud to handle along with it.

Making a case for the novena board is doable, and it could attach to the underside of the camera and still be fairly portable. Battery solution is already figured out.

Staying with things that can be done sans fans, intel NUC is an option. It does sport a m.2 port.

surami added a comment.EditedJan 20 2015, 2:20 PM

@allan
You have right, a Mini-ITX PC is very heavy and makes some noise, if it has fans.

As I read that Novena board hasn't got enough input bandwith to get so much data amount.

Intel NUCs have USB 3.0 inputs, so maybe it could be comined with Inogeni HDMI to USB 3.0 and store the data temporarily on M.2 SSD card + transpose it to an external USB 3.0 connected HDD storage. But this wouldn't be RAW data at the end...

Walter added a subscriber: Walter.EditedJan 12 2016, 6:44 AM

how would it be possible to connect the 2 6gbit connectors of the beta to a pci express 3.0 controller, which should be connected to a M.2 slot?

ideally one could just stick a m.2 ssd directly into the beta, like the expresscard-slot on the sony camcorders (e.g. ex 1)

update: usefull?

http://www.xilinx.com/products/technology/high-speed-serial.html
http://www.xilinx.com/products/technology/pci-express.html

possible to have a module board, which connects to both module slots,
and routes the gpio lanes of the zync to an fpga/pcie 3.0 host controller,
who then connects to a M.2 slot, where one could just connect something
like this: http://www.samsung.com/global/business/semiconductor/minisite/SSD/global/html/ssd950pro/overview.html

as prices are decreasing over time, i hope this could be an affordable option?
sebastian, you have more experience with prices and development work :)