Open Source Industrial Smart Camera

A low cost, full featured open source, industrial camera

Similar projects worth following
This project is on hold for the foreseeable future or until ON semi gets their shit together. Seriously ON figure your shit out.

This project is an Open Source industrial smart camera. The goal is to create a low cost smart camera with capability of current generation industrial cameras. This camera can be used as a barcode scanner, Image inspection system, security camera and many others.

This project is entered into the 2015HackadayPrize. I admit that this project will not save the world and it will not solve any major problems on its own. Where it could solve major problems will come as part of a system. A camera like this could be used in many situations to improve yield, reduce defects and increase productivity in industrial, agricultural, production and delivery industries.

This project is the first of two stages to develop an industrial camera. This first stage will use an IMX6 SOM made by SolidRun. The second stage will use a custom CPU board.

The design includes four major components. Electrical, Mechanical, Optical and Firmware. None of the individual components are excessively difficult, but the volume of work to complete this project will be a challenge.

All parts of the design will be released on an open source license.

Current Status:

Mechanical Design: Finished, procuring components for testing

Electrical Design: All schematics finished, Layout needed for Power board and Connector board.

Optical Design: Finished, procuring components for testing

OS: Linux ported to Freescale development kit. Waiting for camera hardware.

Software: In development

  • 1 × Teko MTK465.9 Aluminum enclosure
  • 1 × SolidRun iMX6 SOM imx6 system on module
  • 1 × CPU carrier board
  • 1 × Image sensor board
  • 1 × Illumination board

View all 7 components

  • Boxes and envelopes YAY!

    Apodiant11/05/2015 at 12:54 2 comments

    Not much of an update. I'm just excited to have received some boxes in the mail. A big box from Digi-key and some envelopes from OSH Park.

    These are the Power and Illumination boards. Still waiting on the CPU carrier, Image sensor board, and the connector boards as well as three components (One of which is the Image sensor).

    The Image sensor has been a massive pain to get my hands on. Since On Semi bought out Aptina all of the stock has dwindled down to nothing and On's distributors don't seem to want to help me out much.

    I have one lead and am following it. Hopefully I can get a few samples in a reasonable amount of time.

    Wish me luck! These 0.4mm pitch connectors should be fun....

  • Board design or TIFU

    Apodiant08/17/2015 at 17:17 0 comments

    When I started this design I had no design software I could use. I use ORCAD at work, but I only have access to capture. I have used eagle in the past and was planning on buying a license, but being as... Frugal (Let's say frugal) as I am, I decided to give circuit maker a try.

    For what it is, circuit maker is pretty cool. But it may not work for everyone (or anyone). I had a few issues connecting to circuit makers servers which meant days that I had set aside to work on the design were wasted. Ciiva is also something that probably seemed like a good idea at the time but is surprisingly unuseful. I found many errors in parts added from ciiva and adding custom parts was not as efficient as it could be.

    At this point it is too late to change the design to Eagle and I really wish I would have not used Circuit Maker.

    This camera has a total of 5 board, not including the cpu module. The boards are:

    - Image Sensor board

    - SOM carrier board

    - Power board

    - Illumination board

    - Connector board

    All of the boards are 2 or 4 layers and will be ordered from OSHPARK. The first boards I have received are the Illumination boards and the rest will be ordered shortly.

  • Lens Holder

    Apodiant08/17/2015 at 04:44 0 comments

    Here is the first print of the lens holder.

    It still needs some cleaning up, but it looks like it should work well for testing.

    The lenses I am using are 7.5mm 0.5mm pitch threads. While not in any standard sets I was able to find a tap on amazon for a reasonable price.

    The pointer lenses will fit in between the lens holder and the illumination board. Some experimentation will be required, but I hope the lenses will be held securely without any type of glue.

    STL files will be uploaded once everything is ready for a beta release.

  • CPU board received

    Apodiant08/15/2015 at 05:54 0 comments

    I should start this update by apologizing to anyone following this. I have meant to do more updates, meant to be further along as well.

    I have decided to use a module for the CPU. This will allow me to get working on the software and hopefully have a working prototype by the end of this competition.

    The CPU module I decided upon is the solidrun imx6. The deciding factors where that it uses the (almost) right CPU and it fits in the case that I wanted to use. I wanted to use the I.mx6sl to help keep the cost down, but for proof of concept it will work well.

    It took a while, but I received the board and here it is.

    The lens samples have also been received. The next update will be about the lens holder that is being printed now.

  • Preliminary data collection complete (almost)

    Apodiant06/08/2015 at 01:43 0 comments

    I have found that with my busy schedule, that I am having troubles keeping up with the schedule I have set for this project. I had wanted to have the schematics done by this point, but have only started drawing them on paper.

    The major parts have been decided upon and sourced excluding one.

    The major parts are as follows.

    CPU: i.mx6SL (With GPU, no e-paper interface). I have decided on this due to the ease of use. The Linux distribution is mature and has many active developers. The GPU can also be programmed with openGL. OpenCV will handle CPU image processing.

    Image Sensor: I have chosen the MT9M021 from aptina because I have the most experience with this imager and the price is suitable for this project. The datasheets are also available without a NDA.

    DC/DC will be accomplished with the NCP1082DEG/MMPF0100 ALA the imx6sl dev. board.

    POE: Still a work in progress. Would like to use the smallest isolation transformer possible.

    The RAM will be Micron DDR3 MT41J125M16 RE-125 (512MB) up-gradable to dual MT41J256 RE-125(1GB).

    Storage: The boot rom will be a spi NOR flash. Part number and size yet to be determined.

    Main flash storage is also yet to be determined, I had hoped to use eMMC, but am having problems sourcing parts.

    There will also be a micro SD card slot for programming/testing/image storage.

    Ethernet PHY: The LAN PHY will be LAN8720 ALA the iMX6SL dev board as they are dirt cheap and have good support.

    The case design is finished and I am currently sourcing a fab shop to mill the front and back cases. The enclosure will be an off the shelf TEKO enclosures case. This will increase the price, but will make things easier for people wanting to build their own.

    That is where I am at as of this point. Does anyone have any ideas for main storage? It looks like flash is a hard thing to come by these days.

View all 5 project logs

Enjoy this project?



Pedro Ferreira wrote 03/03/2016 at 15:43 point

This project looks nice. Is it moving on?

  Are you sure? yes | no

Apodiant wrote 03/07/2016 at 00:19 point

Hi. Thanks for the interest! Things are pretty much stalled waiting for the image sensors. Aparently they have been shipped from china, but I have no way to tell if that is true or not. I cant even guarintee that they are legit.

  Are you sure? yes | no

ksmith wrote 06/15/2015 at 05:07 point

I noticed the sensor is 720p, 60fps. Will the CPU/OS/OpenCV be capable of processing 60fps at this resolution?

  Are you sure? yes | no

Apodiant wrote 06/15/2015 at 05:25 point

OpenGL should be able to handle some filtering at that speed, but to be honest I have not been able to play around with OpenCV on this platform yet. I will let you know when I do!

  Are you sure? yes | no

radiusmike wrote 04/09/2015 at 04:49 point

I was chatting with a friend of mine about an add on for your project.  An FPGA could be used on the front end to do some hardware pre-processing (OpenCV algorithms) to then hand off tokens to a slower processor. 

  Are you sure? yes | no

Apodiant wrote 04/09/2015 at 05:03 point

Funny you should say that. I am working on a Zynq model too, but for the contest I wanted something with a low BOM cost. The pricing scheme for Zynq is by total accumulated volume and right now my 20 sample pieces are over $50 each!
I have hand coded some filters and it is really nice to have filters (especially median filters) in the FPGA rather than running on the CPU.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates