3689419257?profile=original3689419121?profile=originalI just got back some new silicon! These are the latest image sensor chips I designed specifically for robotics and embedded vision applications. The pictures above show a full wafer followed by a close-up of the wafer from an angle. There are four chips in each reticle- if you look closely you can see them packed into a rectangle (about 8.8mm by 7.0mm). Shortly after that picture was taken, we had the wafer diced up into individual chips and started playing with them!

One of the chips is named “Stonyman” and is a 112 x 112 image sensor with logarithmic-response pixels and in-pixel binning. You can short together MxN blocks (M and N independently selected from 1, 2, 4, or 8) of pixels to implement bigger pixels and quickly read out the image at a lower resolution if desired. The interface is extremely simple- there are five digital lines that you pulse in the proper sequence to configure and operate the chip, and a single analog output holding the pixel value. With two power lines (GND and VDD) only eight connections are necessary to use this chip.

Another chip is named “Hawksbill” and is a 136 x 136 image sensor, also with logarithmic response pixels (but no binning) and the same interface as Stonyman. What is different about Hawksbill is that the pixels are arranged in a hexagonal format, rather than a square format like Stonyman and 99% of other image sensors out there. Hexagonal sampling is not conventional, but it is actually mathematically superior to square sampling, and with recent advances in signal processing one can perform many image processing operations more efficiently in a hexagonal array than a square one.

3689419206?profile=original3689419277?profile=original

(Above: 8x8 hex pixel layout from CAD tools, Stonyman chip wire bonded to test board- pardon the dust!)

We plan to release the chips in the near future, with a datasheet, sample Arduino script, and (yes!) a schematic diagram of the chip innards. (If anyone *really* wants one now, I can make an arrangement…)

We are also working on a new generation ArduEye sensor shield with these chips. The shield will be matched to an Arduino Mini for small size, and use a 120MIPS ARM for intermediary processing. The design will be “open”, of course. (Note- anyone who purchased an original ArduEye will get a credit towards the purchase of the new version when it comes out.)

(The thrill of getting new chips back is much like that for circuit boards. You designed it, so in theory you know how it works. But you are never 100% sure and there is no datasheet for you to consult other than your own notes or CAD drawings. You are always slightly afraid of getting a puff of smoke when you first power it. No smoke… the circuit breaker didn’t trigger… so all is good. Then you probe it, verify that different portions work as expected, tweak various settings, and finally get it working. The experience is just like that for a PCB except the stakes are higher.)

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @Richard- Actually you have some very good points!

    The complexity of a PCB can vary from something simple like an Atmel flashing an LED to a high-end computer motherboard or advanced network hub. The former requires just a few parts, and the traces on the board basically serve as wires. Following a few simple rules of thumb (e.g. put a resistor here and a bypass capacitor across VDD and GND) is adequate. The latter requires thousands of parts, some analog, some digital, and stray inductances and capacitances as well as impedance matching and circuits to reduce reflections become important. The latter is not for the casual designer. Both the LED flasher and the computer motherboard are "boards", but only in the same way that both a paper airplane and the space shuttle are "gliders"!

    The complexity factors that matter are the number of parts, how many different types of signals there are, and how close you are to the theoretical physical limits in the particular design. (e.g. for a 1MHz processor, the board traces can be thought of as "wires", but for a 1GHz DSP they must be thought of as "inductors"!.)

    If you measure complexity by the number of time spent on a design, the complexity can vary from a few hours to several person-years, a four order of magnitude spread.

    The same applies to chips. A chip design by a hypothetical "bright high school student" would be a simple one using a lot of low-risk and well-established techniques. Much of the design would be lifted from previous designs. The designer would know that such and such a layout forms a set of transistors that would behave in a certain way. Subcircuits such as gates can be lifted from libraries. The design would be more at a system level. This is different from, say, a more advanced analog design with RF circuitry or exotic devices. This is also clearly different from a new processor from Intel.

    So I should be clear that the type of chip that can be designed by a hypothetical DIYer will be very simple and low-risk- they will not be designing DSP chips any time soon! (Well, I should never say never but you get the idea.) However I do think a novice can still develop a chip that although is very simple, may still do something meaningful or maybe even revolutionary for a given community. (If you want an example of something simple and revolutionary look at the Arduino!)

  • @Geoffrey,

    Awesome!, Your article will resolve all questions about "how they are producing chips?" :)
    I'm the first follower. 

  • @Melih- Actually I have a lot of thoughts regarding chip design, open source hardware, and the DIY movement. Personally I think anyone who can design a decent PCB can, with some training, design a basic chip. I've actually had high-school summer students (smart ones) design chips in the past, so I know it can be done.

    If the moderators think this would be appropriate, I envision a three-part series of posts. The first would summarize the chip design process itself, as I see it. The second would discuss issues reconciling open hardware concepts with the chip design process. The third would discuss batch production methods to bring costs down.

  • Wow! Impressive!!!

     

    Imagine our own autopilot on a chip!

  • Geoffrey, Are we living in same planet :)))
    Respect...
    Can you share a short information about silicon chip design and order process? Maybe a new blog post will be best ;)
  • PS Randy- we know how much the silicon will cost, but not the whole board including wire bonding et al.

  • @Helldesk- short answer- Ideally yes, if it would interest people.

    "How Soon" and "How Much depend on what is actually sold- a chip wirebonded to a breakout board would be pretty easy to put out there and inexpensive, but would require another processor. The ArduEyeII prototype we have in the works, with an ARM, would give more processing oomph and isolate the casual user from heavy duty image processing, but will take a bit more. The good news is we have a breadboard version of the ArduEyeII working, using an older chip. We plan to have at-scale prototypes made in a few weeks.

    @Alex- that's great! I got started in school with Magic. (I actually designed chips from 2000 through 2004 exclusively using exclusively open source software and simulation tools, running on Linux!)

    @Randy- Very good question- I don't know yet. We still don't know how much it will cost to produce in quantity.

  • Developer

    Looking good.  I think using an ARM is a great choice.  Atmel's are great to work with because of the Arduino support but for the high-power you need for image processing, ARM is probably the way to go.

     

    Time permitting, I think we could add support for the sensor into ACM.

     

    Geoff, any idea on how much the sensor will end up costing?

  • Very cool, that's the tool i also used in school :).

  • Developer
    With ARM is preferred, Nice to have subsystem for processing and comms
This reply was deleted.