x

RSS Newsfeeds

See all RSS Newsfeeds

Global Regions

United States ( XML Feed )

Sep 19, 2016 6:03 AM ET

Archived: Kernel Camera: An open, modular platform for building custom camera arrays

iCrowdNewswire - Sep 19, 2016

Kernel Camera

 

An open, modular platform for building custom camera arrays.

The Kernel camera is the first modular camera platform that can be easily connected together to form custom, compact camera arrays. No longer are you locked into a particular sensor, lens, or filter setup: with Kernal you can swap anything out in the field. With an open hardware and software design you can create new accessories and code to adapt Kernel to meet your project’s needs. Ideal for vehicle (e.g., aerial drone) manufacturers, integrators, and operators looking to build powerful, custom, multi-spectral, and varying field of view camera arrays.

Features & Specifications

  • System on Chip (SoC): Freescale i.MX 6 Dual ARM Cortex A9 1.2GHz
  • Operating System (OS): Yocto Linux
  • Sensors: 1.2 MP mono/RGB (global), 3.0 MP mono/RGB (global), 16 MP RGB (rolling)
  • Lenses: 41°, 47°, 82°, 220° HFOV (based on sensor selection)
  • Filters: RGB, NDVI (Red+NIR), 850 nm, 808 nm, 720 nm, 650 nm, 548 nm, 450 nm, etc.
  • Interfaces: Serial/UART, UAVCAN, PWM, USB, I2C, Ethernet, GPIO, HDMI & SD Video
  • Positional Sensor: Inertial Measurement Unit (IMU) – 3xAcceleration, 3xAngular, 3xMagnometer (ST Micro LSM9DS1TR )
  • Trigger: PWM (camera and direct sensor), internal intervolometer, GPS distance
  • Storage: removable microSDXC (max 128 GB)
  • Power (Kernel): 5.0 VDC, 4.2 W (max)
  • Power (array): 11.1 – 22.2 VDC (3S-6S), 8.4-50.4 W (max, 2-12 Kernels)
  • Dimensions (Kernel): 34 mm x 34 mm x 56 mm (length x width x height)
  • Weight (Kernel): 55 g

We listened to you and built the camera you wanted:

  • Swappable Lenses: easily change the camera’s field of view
  • Swappable Filters: easily change spectral bands for vegetative and other analysis
  • Swappable Mounts: options for mounting to many drones
  • Native Geo-referenceing: no need to extract the drone’s log file
  • Global Shutter: no more image jello
  • Batteries Not Required: tap into the drone’s power to reduce payload weight
  • Simultaneous Triggers: trigger multiple cameras with no delay
  • Replacement Parts: don’t throw the whole thing away because you broke one part
  • Fast Image Capture: fly your drone faster and cover more area
  • Upgradeable: no need to buy an entirely new system

If your vehicle is recording sensor data, so will Kernel.

Kernel is the first camera to support UAVCAN: “a lightweight protocol designed for reliable communication in aerospace and robotic applications via CAN bus.” The CAN bus connects the flight controller or companion computer’s sensor readings with Kernel. Common values today include GPS location, GPS time, air-speed, compass, gyroscope, accelerometer and level horizon. All sensor data the user chooses to save will be hard-coded to each captured image’s metadata (EXIF) to assist with image post processing. The UAVCAN port is located on the side of Kernel and adheres to the UAVCAN and Dronecode standards.

The embedded metadata on the images follows the standards of the most popular post-processing point-cloud programs such as Pix4Dmapper and Agisoft Photoscan. In the case that some information is different between programs there will be templates you can select in the interface application to insure that media import runs smoothly, and all relevant data is able to be read properly by the application. The interface application will also be used to tell the camera what lens and filter is being used so that it can adjust the metadata accordingly.

This metadata creation is also supported via Kernel’s serial/UART connection, commonly utilizing theMavlink protocol. With Mavlink installed on Kernel, you can connect directly to each camera with applications such as QGroundControl.

Other communications such as I2C and Ethernet are also available.

How fast can Kernel capture images? FAST

Kernel can quickly capture RAW+JPG images and save the flight computer’s sensor metadata (EXIF):

  • 17fps 1.2MP RAW+JPG Photos
  • 13fps 3.0MP RAW+JPG Photos
  • 3fps 16MP RAW+JPG Photos

As we finalize the software prior to shipping Kernel we will be trying to get these image capture rates even higher.

Simultaneously triggering multiple cameras has never been easier.

Kernel supports both PWM (pulse wave modulation) in and out to accomplish some unique tasks. The main one is that the PWM can be received by both the camera stack or the sensor directly. This means that there is very little delay to capture a photo when the PWM signal is received by the sensor and the exposure event happens. Kernel also measures any delay that exists and includes this time in the image metadata so you can improve your GPS location accuracy. No hot-shoe or flash trigger cables are required.

PWM out can be used to set up a “master” Kernel to send a trigger signal out to the rest of the array. This may be a reaction from either the master Kernel receiving an external trigger signal, calculating the distance moved from a GPS receiver plugged into its side, or from its own internal intervolometer.

You can also take advantage of the PWM out when adding new expansion boards to the bottom of Kernel. For instance, using a WiFi or Bluetooth connection board in one Kernel lets you connect to it and then control the remainder of the array directly without needing to purchase connection boards for every camera.

With the ability to write your own code to run on Kernel there are endless possibilities for you to use the inter-array communications. Examples include:

  • An application that has the master Kernel meter the lighting conditions and then locks the camera settings of the other cameras in the array with various bracket adjustments to simultaneously capture a set of images, which can be then combined into an HDR image.
  • An application that allows you to adjust the master Kernel’s camera settings which are then copied by the other cameras in the array of your choosing.
  • An application that adjusts the other cameras when the master Kernel identifies various QR codes (or similar patterns). We’ll use this capability for our reflectance ground target detection.

An open camera platform that evolves with you.

Interactive 3D Model

See an exploded view of the MAPIR Kernel Camera.

Kernel consists of only three main boards today, but in the future new boards can be designed to add additional functionality:

  • Need to rotate the sensor 90 degrees? Easy, just add a small board between the SoC and power board to rotate the sensor ribbon connector.
  • Need to add on larger C/CS or Micro4/3rd lenses? Easy, install the new lens mount over the sensor board.
  • Need to add an auto-focusing or zoom lens? Easy, just plug in the necessary cables and boards.
  • Need to add more media storage? Easy, just add another board with built in SSD or additional removable storage.
  • Need to add Wi-Fi, Bluetooth, GPS, a battery, more buttons, Ethernet, or LCD? Easy, simply snap the new board into the bottom 60-pin expansion connector.

The bottom expansion port (outlined in red below) allows for easy future module support. You can see details in this full pin-out listing.

Advances in technology mean there will also be new sensors available in the future. You can upgrade by simply swapping in the new sensor boards to gain their new capabilities. Some new sensors or desired frame rates may require more computational power, so you can simply swap to a new SoC board as they become available.

One view to align them all.

Because you can mix and match various Kernels with different sensors inside, we knew we needed to offer similar lens field of views (FOV) so that surveying overlap calculations wouldn’t be more tedious than it already is.

For the 3.0 MP and 16 MP sensors we have matched 41° HFOV lenses, allowing you to capture beautiful 16 MP RGB color along with your 3.0 MP monoscopic multi-spectral images.

The Kernel Port: 30 pins of open I/O.

The 30-pin Kernel Port (outlined in red above) provides an easy, standardized way of linking multiple Kernel modules together to form arrays in any shape. You can easily swap different Kernels depending on your project’s requirements. The link boards we’re launching with form linear arrays, but in the future we’ll offer link boards and cables in other orientations.

The Kernel Port uses an easily obtained TE CHAMP 2129260-2 docking connector (with available mating plugs 2129261-1 or 2129276-1) which allows for the main communications in and out of the Kernel. Here is the full pin-out.

The main functions of the Kernel Port are:

  • USB OTG
  • PWM (In/Out)
  • Serial/UART
  • HDMI Video
  • SD Analog Video
  • GPIO
  • 5 V Power
  • Ground

Modular in itself… and with itself.

View more photos of Kernal arrays.

Each Kernel module can be customized with various sensors, lenses, and filters as you choose. This allows you to custom build each Kernel and swap them into your array depending on your current project’s requirements.

Instead of connecting each camera together with bulky cable harnesses, we’ve designed a unique link board system:

At the start of an array you’ll find the LinkM. On the vehicle connection end it has the same Kernel port found on the Kernel, so all cables and breakout boards work in both port locations. When a Kernel is plugged into the “master” slot of the LinkM it gains special abilities different than the other array locations.

Since HDMI is difficult to pass between boards without signal issues, and would require essentially a dedicated HDMI switch to function properly, the master slot is reserved for the camera you would like to receive an HD video out feed. The rest of the link slots support SD analog video out, which can be switched to see the video feeds from each camera.

The master slot of the LinkM also allows some unique control of the array. Since each Kernel supports both PWM in and out, the master Kernel can be setup to trigger the rest of the array. It can also be used to check exposure and adjust other camera settings of the other Kernels in the array accordingly.

We’re excited to see what interesting use cases you’ll come up with using this control layout.

To connect more than two Kernels to the LinkM you’ll need to plug in one LinkS for each pair of Kernels you wish to add. Since LinkS boards easily connect to each other, you can build arrays of up to 12 Kernels, which is the maximum that can be uniquely identified via USB per single LinkM. If you need to connect more than 12 Kernels you can combine two LinkM arrays.

Due to the fact that each Kernel is essentially a small Linux computer, the power draw of four watts (nominal) per Kernel at five volts is a bit much to distribute across the link boards. With the LinkM board we require an input voltage of at least a 3S (11.1 volts) battery rating, which is then stepped down (DC/DC) on each link board.

Kernel Camera Arrays

 A.B.C.D.E.F.
Dimensions34 mm x 80 mm69 mm x 80 mm103 mm x 80 mm207 mm x 80 mm172 mm x 80 mm138 mm x 80 mm
Weight123 g247 g370 g741 g617 g494 g
Cost$2,500+$5,000+$7,500+$15,000+$12,00+$10,000+
Kernel Cores24612108
Link Boards1xLinkM1xLinkM + 1xLinkS1xLinkM + 2xLinkS1xLinkM + 5xLinkS1xLinkM + 4xLinkS1xLinkM + 3xLinkS

Filter options for Kernel cameras

Kernel contains a holder that allows for easy swapping of the installed filter. Simply unscrew the top housing and lens mount to reveal the filter.

When you purchase a Kernel you have the option of which filter you want to use.

For the RGB sensors you can choose from the RGB (visible light) filter and the dual-band NDVI filter. The RGB filter is used to capture normal color images similar to the spectrum of light our eyes see. The dual-band NDVI filter captures reflected red light in the red sensor channel and reflected NIR light in the blue channel. Our post processing workflow properly calibrates the dual bands and creates an NDVI image.

For the monoscopic sensors you have the choice of which single band filter to purchase. Each one can be used to capture reflected light useful in calculating indices like NDVI, ENDVI, GDIV, RENDVI, etc.

As the Kernel product line expands we will be adding many more single band filters to our catalog.

Drone GPS receivers supported directly on-camera.

Next to Kernel’s side UAVCAN port is the 6-pin GPS port which follows the same pin-out used by the Pixhawk 1 and Pixhawk 2 flight controllers. The 6-pin port supports existing and future drone GPS units for geo-referencing captured media if you do not want to connect to the vehicle’s main controller. Examples of some supported GPS units can be found on the Pixhawk GPS page.

Pin #NameDirectionDescription
1VCC_5VoutSupply to GPS from AP
2MCU_TXout3.3-5.0 V TTL level, TX of AP
3MCU_RXin3.3-5.0 V TTL level, RX of AP
4SCLout3.3-5.0 V I2C2
5SDAin3.3-5.0 V I2C2
6GNDGND connection

Kernel’s Headband

With so many possible combinations for building your Kernel, we wanted to create an easy system for you to identify them from one another. Our solution is a plastic band on the housing that can be purchased in multiple colors and easily written on with permanent markers to further catalog your array. As we come out with more sensor, lens, and filter options, we believe the personalized bands will become very useful.

Designed to be taken apart.

Kernel is designed so that it can be easily taken apart with a common flat-head screwdriver down to each part without coming across any stubborn adhesive, easily broken tabs or uncommon screw types. This allows anyone to purchase OEM parts from us and repair their cameras themselves, saving costly shipping and import fees later in the product’s life.

Manufacturing Plan

We have already created prototypes of the main three-board camera stack and are ready to send the final design to manufacturing. After the final stack design is tested and meets our requirements, we will be able to proceed with certifications and production.

The sensor board prototypes are currently being tested with the camera stack. Once they’re fully functional, we’ll be able to produce them with the camera board stack.

The camera’s plastic part designs may change slightly as we finish the PCB designs and then we can commit to the plastic injection molds.

Risks & Challenges

The biggest issue we’ve faced has been a shortage of the 3.0 MP and 16 MP sensors this year as Sony’s factories went down following the earthquake last Spring. This has delayed us getting sensors for our camera prototypes, but supply should hopefully increase to normal levels soon. We have no issues obtaining the 1.2 MP sensors which will likely be the first cameras available.

We’ve made the prototype housing using 3D-printed (SLS) nylon and there will likely be some design tweaks needed to move to injection molding.

After thermal testing we may need to expand the exposed surface area of the heatsink but we have plenty of options to do this without incurring a large amount of extra costs (per Kernel BOM).

Pledge Levels

Kernel Core

A bare-bones Kernel camera stack, including the SoC, power, and I/O boards. Also comes with screws for assembly, a UAVCAN cable (four-pin GH to four bare wires), an aluminum heatsink, and thermal compound. Does not include a sensor, lens, filter, or housing (add to cart separately).

Connecting your Kernel cameras together is easy with Kernel Link Boards. A Kernel array typically starts with a LinkM (master) and then includes LinkS (slave) boards. Each Link Board connects two Kernels together. Free international shipping with purchase of a Kernel Core.

LinkM (left) and LinkS (right)

Kernel Housing

The Kernel housing includes top, lens protector, color ring (choose color below), shell, buttons, and bottom mount. All screw hardware is also included. Free international shipping with purchase of a Kernel Core.

Slide Mount: Bottom

Default mount provides secure array linking. Photo coming soon.

GoPro Hero Mounts: Bottom and Side

Tripod Mounts: Bottom and Side

Kernel Sensor

Choose color/monochrome, resolution, and shutter style. You will receive the sensor board and a sensor ribbon cable to connect to the camera stack. Free international shipping with purchase of a Kernel Core.

Kernel Lens

Not all lenses are compatible with all sensors. Free international shipping with purchase of a Kernel Core.

Kernels with 1.2 MP Sensor + 6.0 mm Lens (left) and 3.0 MP Sensor + 9.6 mm Lens (right)

Kernels with 16 MP Sensor and 1.21 mm, 3.97 mm, and 8.25 mm Lenses (left to right)

Kernel Filter

Not all filters are compatible with all sensors – whether a filter is compatible with RGB sensors or monochrome sensors is specified in brackets. Free international shipping with purchase of a Kernel Core.

Kernel Port Cable

One end of this cable connects to the Kernel port and the other end splits into different standard connectors, depending on the connectivity option you choose. Actual connectors used are listed in parentheses. Free international shipping with purchase of a Kernel Core.

Kernel Port Breakout Board

Perfect for prototyping Kernel port accessories. This PCB breaks out all 40 pins of the Kernel Port. Free international shipping with purchase of a Kernel Core.

Kernel Camera Arrays

Kernel Sensor Options

1.2 MP Sensor

  • Manufacturer: ON Semiconductor
  • Part Number: AR0134CS
  • Sensor Dimension: 1/3” (6 mm)
  • Active Pixels: 1280 x 960 (1.2 MP)
  • Pixel Size: 3.75 um x 3.75 um
  • Version Option: RGB (bayer), Mono
  • Photo Mode: RAW+JPG
  • Datasheet: PDF

3.0 MP Sensor

  • Manufacturer: Sony
  • Part Number: IMX265LQR-C (RGB), IMX265LLR-C (Mono)
  • Sensor Dimension: 1/1.8” (8.9 mm)
  • Active Pixels: 2064 x 1544 (3.19 MP)
  • Pixel Size: 3.45 um x 3.45 um
  • Version Option: RGB (bayer), Mono
  • Photo Mode: RAW+JPG

16 MP Sensor

  • Manufacturer: Sony
  • Part Number: IMX206CQC
  • Sensor Dimension: 1/2.3” (7.77 mm)
  • Active Pixels: 4632 x 3492 (16.17 MP)
  • Pixel Size: 1.34 um x 1.34 um
  • Version Option: RGB (bayer)
  • Photo Mode: RAW+JPG

Kernel Port Details

      
GROUPSIGNALROW 1 PINROW 2 PINSIGNALGROUP
Boot modeBOOT_MODE012GNDPower
PowerVCC_SYS_5V34VCC_5VPower
Boot modeBOOT_MODE156GNDPower
PowerVCC_SYS_5V78HDMI_DDC_SCLHDMI
USB OTGUSB_OTG_ID910HDMI_TX_DDC_SDAHDMI
UARTUART1_TXD1112GNDPower
PowerVCC_USB_OTG_VBUS1314HDMI_MX_HPHDMI
UARTUART1_RXD1516GNDPower
PowerGND1718OUT_TMDS_CLK_NHDMI
CANCAN1_L1920OUT_TMDS_CLK_PHDMI
USB OTGUSB_OTG_N2122GNDPower
CANCAN1_H2324OUT_TMDS_D0_NHDMI
USB OTGUSB_OTG_P2526OUT_TMDS_D0_PHDMI
PowerGND2728GNDPower
PowerGND2930OUT_TMDS_D1_NHDMI
PowerVCC3V33132OUT_TMDS_D1_PHDMI
Analog video outDAC13334GNDPower
PowerGND3536OUT_TMDS_D2_NHDMI
PWMPWM3_OUT3738OUT_TMDS_D2_PHDMI
PWMPWM4_IN3940GNDPower

Kernel Expansion Port Details

    
USB JTAGPORTPORTHDMI
VCC_SYS_5V12VCC_SYS_5V
VCC_SYS_5V34VCC_SYS_5V
X56X
iMX6_RGMII_RXCLK78GND
iMX6_RGMII_RXD0910iMX6_RGMII_TXCLK
iMX6_RGMII_RXD11112iMX6_RGMII_TXD0
iMX6_RGMII_RXD21314iMX6_RGMII_TXD1
iMX6_RGMII_RXD31516iMX6_RGMII_TXD2
iMX6_RGMII_RXDV1718iMX6_TXD3
RGMII_RSTn1920iMX6_RGMII_TXEN
RGMII_MDIO2122RGMII_INT
RGMII_MDC2324RGMII_REF_CLK
GND2526GND
12C1_SCL2728CSP15_MOSI
12C1_SDA2930CSP15_SCLK
UART1_TXD3132CSP15_MISO
UART1_RXD3334GND
GND3536DAC1
GND3738GND
X3940GPIO_1
GPIO_24142GPIO_3
DISP_DAT64344DISP_DAT7
DISP_DAT44546DISP_DAT5
DISP_DAT24748DISP_DAT3
DISP_DAT04950DISP_DAT1
DISP_DAT165152DISP_DAT17
DISP_DAT185354DISP_DAT19
DISP_DAT205556DISP_DAT21
DISP_DAT225758DISP_DAT23
GND5960GND
PinLabelI/O VoltageDefaultAlt. Function 1Alt. Function 2
1VCC_SYS_5V 5V Power  
2VCC_SYS_5V 5V Power  
3VCC_SYS_5V 5V Power  
4VCC_SYS_5V 5V Power  
5X NC  
6X NC  
7RGMII_RXC1.8 VRCMII_RXCGPIO6_IO30 
8GND Ground  
9RCMII_RD01.8 VRCMII_RD0GPIO6_IO25 
10RCMII_TXC1.8 VRCMII_TXCGPIO6_IO19 
11RCMII_RD11.8 VRCMII_RD1GPIO6_IO27 
12RCMII_TD01.8 VRCMII_TD0GPIO6_IO20 
13RCMII_RD21.8 VRCMII_RD2GPIO6_IO28 
14RCMII_TD11.8 VRCMII_TD1GPIO6_IO21 
15RCMII_RD31.8 VRCMII_RD3GPIO6_IO29 
16RCMII_TD21.8 VRCMII_TD2GPIO6_IO22 
17RCMII_RX_CTL1.8 VRCMII_RX_CTLGPIO6_IO24 
18RCMII_TD31.8 VRCMII_TD3GPIO6_IO23 
19ENET_CRS_DV1.8 VRCMII_RSTN  
20RCMII_TX_CTL1.8 VRCMII_TX_CTLGPIO6_IO26 
21ENET_MDIO1.8 VENET_MDIOGPIO6_IO22 
22ENET_RXD11.8 VENET_1588_ EVENT3_OUTGPIO6_IO26 
23ENET_MDC1.8 VRCMII_MDCGPIO6_IO22 
24ENET_REF_CLK1.8 VENET_TX_CLKGPIO6_IO23 
25GND Ground  
26GND Ground  
27EIM_D213.3 V12SCLGPIO3_IO21 
28SD2_CMD3.3 VGPIO3_IO21  
29EIM_D283.3 VI2C1_SDAGPIO3_IO28 
30SD2_CMD3.3 VGPIO1_IO11  
31GPIO_73.3 VUART_TX_DATAGPIO1_IO07FLEXCAN1_TX
32SD2_DAT03.3 VGPIO_IO15  
33GPIO_83.3 VUART2_RX_DATAGPIO1_IO08FLEXCAN1_RX
34GND Ground  
35GND Ground  
36DAC Analog Video out  
37GND Ground  
38GND Ground  
39X NC  
40NANDF_D13.3 VGPIO2_IO01  
41NANDF_D23.3 VGPIO2_IO02  
42NANDF_D33.3 VGPIO2_IO03  
43DISP0_DAT63.3 VECSPI3_SS3GPIO4_IO27 
44DISP0_DAT73.3 VECSPI3_RDYGPIO4_IO28 
45DISP0_DAT43.3 VECSPI3_SS1GPIO4_IO25 
46DISP0_DAT53.3 VECSPI3_SS2GPIO4_IO26 
47DISP0_DAT23.3 VECSPI3_MISOGPIO4_IO23 
48DISP0_DAT33.3 VECSPI3_SS0GPIO4_IO24 
49DISP0_DAT03.3 VECSPI3_SCLKGPIO4_IO21 
50DISP0_DAT13.3 VECSPI3_MOSIGPIO4_IO22 
51DISP0_DAT163.3 VGPIO4_IO10ECSPI2_MOSI 
52DISP0_DAT173.3 VGPIO4_IO11ECSPI2_MISO 
53DISP0_DAT183.3 VAUD4_RXFSECSPI2_SS0GPIO4_IO12
54DISP0_DAT193.3 VAUD4_RXCECSPI2_SCLKGPIO4_IO13
55DISP0_DAT203.3 VAUD4_TXCECSPI1_SCLKGPIO4_IO14
56DISP0_DAT213.3 VAUD4_TXDECSPI1_MOSIGPIO4_IO15
57DISP0_DAT223.3 VAUD4_TXFSECSPI1_MISOGPIO4_IO16
58DISP0_DAT233.3 VAUD4_RXDECSPI1_SS0GPIO4_IO17
59GND GROUND  
60GND GROUND  

Legend

ColorFunctionColorFunctionColorFunction
 Power SPI (Primary + Alt.)italicUART/CAN
 GPIO RGMII (Gig. Eth.)BOLDGROUND
 12S Audio input/outputs    

 

Contact Information:

Nolan Ramseyer

View Related News >