Kernel Camera

by MAPIR

An open, modular platform for building custom camera arrays.

$25 raised

of $150,000 goal

0.0% Funded Campaign Suspended
Oct 11 2016
suspended

Product Choices

$999

Kernel Camera - Complete

A completely assembled Kernel camera built according to the options selected below. Includes a UAVCAN + Power cable (4-pin GH to four bare wires) to wire directly to a 5 V power source. Add link boards below to connect the cameras into an array. Additional breakout cable and boards can also be added separately below.


$199

Kernel Array Link Board

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


$649

Kernel Camera - Core

To build your custom Kernel, start with a Kernel Core and add the other parts to your cart. During fullfillment, we will send you a survey as to the configuration you would like us to send the complete camera in. The Kernel Core contains the camera stack, including the SoC, power, and I/O boards. It also comes with screws for assembly, a UAVCAN cable (4-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 and they will be combined into a complete Kernel).


$45

Kernel Housing

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


$249

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.


$10

Kernel Lens

Not all lenses are compatible with all sensors - sensor compatibility is specified in brackets. Free international shipping with purchase of a Kernel Core.


$5

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.


$59

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.


$25

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.

Details

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

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 the Mavlink 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 Kernel Port: 40 pins of open I/O

The 40-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

Kernel Expansion Port

The bottom Kernel Expansion Port (outlined in red below) allows for easy future module I/O support. The plug is a Hirose DF40C-60DP-0.4V(51)). You can see the Kernel pin details in the 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.

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
6GND-GND 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_MODE01 2 GND Power
Power VCC_SYS_5V 3 4 VCC_5V Power
Boot modeBOOT_MODE15 6 GND Power
Power VCC_SYS_5V 7 8 HDMI_DDC_SCL HDMI
USB OTG USB_OTG_ID 9 10 HDMI_TX_DDC_SDA HDMI
UART UART1_TXD 11 12 GND Power
Power VCC_USB_OTG_VBUS 13 14 HDMI_MX_HP HDMI
UART UART1_RXD 15 16 GND Power
Power GND 17 18 OUT_TMDS_CLK_N HDMI
CAN CAN1_L 19 20 OUT_TMDS_CLK_P HDMI
USB OTG USB_OTG_N 21 22 GND Power
CAN CAN1_H 23 24 OUT_TMDS_D0_N HDMI
USB OTG USB_OTG_P 25 26 OUT_TMDS_D0_P HDMI
Power GND 27 28 GND Power
Power GND 29 30 OUT_TMDS_D1_N HDMI
Power VCC3V3 31 32 OUT_TMDS_D1_P HDMI
Analog video outDAC133 34 GND Power
Power GND 35 36 OUT_TMDS_D2_N HDMI
PWMPWM3_OUT37 38 OUT_TMDS_D2_P HDMI
PWMPWM4_IN39 40 GND Power

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_5V5V Power
2VCC_SYS_5V5V Power
3VCC_SYS_5V5V Power
4VCC_SYS_5V5V Power
5XNC
6XNC
7RGMII_RXC1.8 VRCMII_RXC GPIO6_IO30
8GNDGround
9RCMII_RD01.8 VRCMII_RD0 GPIO6_IO25
10RCMII_TXC1.8 VRCMII_TXC GPIO6_IO19
11RCMII_RD11.8 VRCMII_RD1 GPIO6_IO27
12RCMII_TD01.8 VRCMII_TD0 GPIO6_IO20
13RCMII_RD21.8 VRCMII_RD2 GPIO6_IO28
14RCMII_TD11.8 VRCMII_TD1 GPIO6_IO21
15RCMII_RD31.8 VRCMII_RD3 GPIO6_IO29
16RCMII_TD21.8 VRCMII_TD2 GPIO6_IO22
17RCMII_RX_CTL1.8 VRCMII_RX_CTL GPIO6_IO24
18RCMII_TD31.8 VRCMII_TD3 GPIO6_IO23
19ENET_CRS_DV1.8 VRCMII_RSTN
20RCMII_TX_CTL1.8 VRCMII_TX_CTL GPIO6_IO26
21ENET_MDIO1.8 VENET_MDIO GPIO6_IO22
22ENET_RXD11.8 VENET1588 EVENT3_OUT GPIO6_IO26
23ENET_MDC1.8 VRCMII_MDC GPIO6_IO22
24ENET_REF_CLK1.8 VENET_TX_CLK GPIO6_IO23
25GNDGround
26GNDGround
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
34GNDGround
35GNDGround
36DACAnalog Video out
37GNDGround
38GNDGround
39XNC
40NANDF_D13.3 VGPIO2_IO01
41NANDF_D23.3 VGPIO2_IO02
42NANDF_D33.3 VGPIO2_IO03
43DISP0_DAT63.3 VECSPI3_SS3 GPIO4_IO27
44DISP0_DAT73.3 VECSPI3_RDY GPIO4_IO28
45DISP0_DAT43.3 VECSPI3_SS1 GPIO4_IO25
46DISP0_DAT53.3 VECSPI3_SS2 GPIO4_IO26
47DISP0_DAT23.3 VECSPI3_MISO GPIO4_IO23
48DISP0_DAT33.3 VECSPI3_SS0 GPIO4_IO24
49DISP0_DAT03.3 VECSPI3_SCLK GPIO4_IO21
50DISP0_DAT13.3 VECSPI3_MOSI GPIO4_IO22
51DISP0_DAT163.3 VGPIO4_IO10 ECSPI2_MOSI
52DISP0_DAT173.3 VGPIO4_IO11 ECSPI2_MISO
53DISP0_DAT183.3 VAUD4_RXFS ECSPI2_SS0 GPIO4_IO12
54DISP0_DAT193.3 VAUD4_RXC ECSPI2_SCLK GPIO4_IO13
55DISP0_DAT203.3 VAUD4_TXC ECSPI1_SCLK GPIO4_IO14
56DISP0_DAT213.3 VAUD4_TXD ECSPI1_MOSI GPIO4_IO15
57DISP0_DAT223.3 VAUD4_TXFS ECSPI1_MISO GPIO4_IO16
58DISP0_DAT233.3 VAUD4_RXD ECSPI1_SS0 GPIO4_IO17
59GNDGROUND
60GNDGROUND

Legend

ColorFunctionColorFunctionColorFunction
PowerSPI (Primary + Alt.)italicUART/CAN
GPIORGMII (Gig. Eth.)BOLDGROUND
12S Audio input/outputs

Credits

MAPIR

MAPIR provides simple, turn-key, multi-spectral imaging solutions for our customers.


Nolan Ramseyer

CEO / Founder

James Shaw

Technician

Cody James

Technician

Kevin Ragsdale

Accounts Manager

Ethan Hall

Software Engineer

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: