BCAM Head (A3025)

© 2012-2015 Kevan Hashemi, Open Source Instruments Inc.




A BCAM (pronounced "beecam") is an optical surveying instrument (Brandeis CCD Angle Monitor). The BCAM Head (A3025) is a Long-Wire Data Acquisition (LWDAQ) Device that reads out two image sensors (ICX424 or equivalent) and drives six light sources. When the A3025 is connected to a pair of BCAM Side Heads (A3026), these light sources are four laser diodes in 5.6-mm metal packages (such as the L650P007) and two arrays of four LEDs in 3-mm plastic packages (such as the VLHW4100). The image sensor readout is identical to that of the Camera Head (A2075A), except that the A3025 provides two image sensors, and a switch for selecting the output from one or the other.

Figure: The BCAM Head (A3025A), or Black HBCAM Head. This circuit is for use in the Black HBCAM, or BCAM-HLD. Hole A is for the post that holds image sensor CCD2, used in the front-facing camera. Connector J3 is for the 12-way 1-mm pitch flex cable that controls CCD2. Hole C and connector J2 serve the same purpose for CCD1, used in the rear-facing camera. Connector P1 for logic programming. The logic chip is on the extreme right of the board. Connector J4 is for the 6-way 1-mm pitch flex cable that controls LD1 (ON1), LD2 (ON2), and F1 (ON5) on the rear face of the BCAM. Connector J5 serves the same purpose for LD3 (ON3), LD4 (ON4), and F2 (ON6) on the front face of the BCAM.

We designed the A3025A and A3025B for use in the black and blue HBCAM respectively (HBCAM is pronounced "h-beecam"). The HBCAM was first conceived for the HIE-ISOLDE Alignment System, hence the use of the letter "H" in its name. The A3025B is a mirror image of the A3025A. Both circuits have amplifier gain chosen for use with the ICX424's single-pixel readout, as we discuss here. For quadruple-pixel readout, we reduce the gain of the output amplifiers by a factor of three so that the higher saturation voltage of the quadruple pixel will fall within the dynamic range of the converter on the LWDAQ Driver (we set R31 and R32 to 390 Ω).

3025ABlack HBCAM Head (Optimized for Single-Pixel Readout)
3025BBlue HBCAM Head (Optimized for Single-Pixel Readout)
3025CBlack HBCAM Head (Optimized for Quadruple-Pixel Readout)
3025DBlue HBCAM Head (Optimized for Quadruple-Pixel Readout)
Table 1: Versions of the HBCAM Head (A3025).

The quadruple-pixel readout is four times faster than the single-pixel readout, because the A3025 bins blocks of four pixels together, so there are four times fewer of them to be read out by the LWDAQ Driver. The faster readout makes for faster data acquisition. Our experiments suggest that BCAM precision with single-pixel readout is 0.2 μm rms on the image sensor, and 0.3 μm for quadruple-pixel readout. For most BCAM applications, this degredation is insignificant. Furthermore, when the ICX424 image sensor has been irradiated by fast neutrons, its dark current increases. By binning four pixels together, we of course bin four times as much dark current into one pixel, which exactly balances the fact that the readout speed is four times faster, so that the net dark current per pixel remains the same. But it turns out that, in the ICX424, the saturation level of the quadruple pixel is three times higher than the saturation level of one pixel. As a result, we can tolerate three times as much neutron damage with quadruple-pixel readout as with single-pixel readout.


S3025_1: Command Receiver.
S3025_2: Level Shifters.
S3025_3: Sensor Connection.
Code: Firmware files.
A302501A.zip: Black HBCAM Version PCB Files.
A302501B.zip: Blue HBCAM Version PCB Files.
A3025A.ods: Black HBCAM BOM and Component Locations.
A3025B.ods: Blue HBCAM BOM and Component Locations.
A3025B_SMT.pdf: Blue HBCAM Component Map.

The A3025 introduces the first dual-ICX424AL camera. We discuss the behavior of the clock signals for the dual-sensor drive, in particular for quadruple-pixel readout, in this study.


The A3025 is a LWDAQ Device, meeting all requirements of the LWDAQ Specification. Its sixteen command bits are allocated as follows.

Table 1: Command Bit Allocation of the A2075. An "X" means the command bit serves no function.

Bits ON1-ON6 turn on sources 1-6. Sources 1, 2, and 5 are connected to J4, and sources 3, 4, and 6 are connected to J5, as shown in the schematic. Both J4 and J5 are 6-way 1-mm pitch flex connectors. The allocation of sources to the connector pins is compatible with the Polar BCAM Head and Azimuthal BCAM Head, in which two laser sources were driven through each six-way connector. In the HBCAM, we add one LED array to each of two six-way connectors, and call these sources 5 and 6.

The CCD1 bit selects the first of two image sensors available on the A3025.

The SUB bit applies a pulse to the substrate of the image sensors so as to clear their image areas of charge. The V1-V3 bits control the levels of the vertical clock phases of the image sensors. The LWDAQ Driver controls the vertical clock phases directly during image readout by transmitting LWDAQ commands. The H bit enables the image sensor horizontal clocks, so that subsequent LWDAQ stop bits cause pulses on the clocks. The RDP, combined with V1 and V2 asserted, applies a read pulse to the image sensors, which transfers the image area charge into the transfer array. The PXBN bit is for pixel binning, which selects the quadruple-pixel readout. The LWDAQ Driver is responsible for combining rows of pixels through its manipulation of V1-V3 and H, but the A3025 is responsible for combining pixel columns, which it does with a double-pulse on the image sensor horizontal clock inputs. For more information on capturing images from the ICX424, see the Camera Head (A2075).

The A3025 is intended for use in the H-Version BCAM, or HBCAM. The HBCAM is the first BCAM to use the ICX424 image sensor, and the first to provide an LED flash for illuminating retroreflecting targets in its field of view. The figure below shows the black HBCAM.

Figure: The BCAM-HLD.

In the photograph, we see the front face with seven holes. One hole contains the brass lens-holder for the front-facing camera. The two on the left and right of the lens are for lasers. The other four holes above and below are for four white LEDs that flash to illuminate retroreflecting targets. Looking at the front of the BCAM, source 3 is the laser on the left and source 4 is the laser on the right. Looking at the rear side, source 1 is on the laser on the left and source 2 is on the laser on the right. Source 6 is the four LEDs on the front face and source 5 is the four LEDs on the rear face.

The following figure shows what is inside the BCAM-HLD. The circuit board screwed to the base of the chassis is a BCAM Head (A3025A). On the front and rear walls are two BCAM Side Heads (A3026A). The image sensors are mounted on ICX424 Minimal Heads (A2076D).

Figure: The BCAM-HLD With Cover Off.

The two image sensors are glued into U-brackets, which are in turn supported by posts that are screwed to the base of the chassis. In order to replace the A3025 circuit, we must remove the two posts and the two A3026 circuits. Thus replacement of the A3025 requires re-calibration of both cameras and all four lasers. The A2076Ds connect to the A3025A with two 50-mm, 6-way flex cables. The two A2076Ds connect to the A3025A with two 50-mm, 12-way flex cables.

The A3025 can operate with only one image sensor connected, provided that image sensor is CCD2 (J3, front-facing camera). If we connect only CCD1 (J2, rear-facing camera), the image is dim and negated. The A3025 can operate with flex cables up to 300 mm provided both image sensors are plugged in. For more details see below.


[09-JAN-13] We have the A302501A (Black HBCAM main board), A302601A (Black HBCAM side board), and a prototype chassis, not anodized, with two sensor mounting pegs. We assemble them together to test the mechanical fit. See HBCAM, Top View for photograph. The flex cables must be bent several times, but they fit in the available space. See HBCAM, End View for photograph. The lower mounting screw of the A302601A end board requires that we go through the opposite lens hole with the screwdriver shaft. We put up with this in the Polar BCAMs, so we can tolerate it in this design too. Once the pegs are in place, however, we cannot undo the lower screw, even if we remove the lens. This we will tolerate also. See HBCAM, Top Angle View and See HBCAM, Side View for photographs. We recommend the following changes.

  1. Increase peg diameter to 250 mils. Will give more flat-on-flat contact at base.
  2. Increase peg mounting thread length by 3 mm if possible. Allows us to use one of our standard M2.5 lengths.
  3. At either end, on the top of the ledge that supports the lid, the drawing shows a radius. Change the drawing to show a 45° cut, because that's how we have to make it with a three-axis mill.
  4. The A302601A side head interferes with the top of the side of the chassis. We should raise the edge that rests upon the side of the chassis by 40 mil. This change we can make in the Gerber Files.
  5. The A302601A LED footprint holes are 25 mils. They should be 30 mils. The LED leads have a thick spot of side 21 mil, at which they require 30 mil diameter hole to be pressed all the way into the circuit board.
  6. The LED holes in the chassis are only 100 mil. The LEDs are 100 mil in diameter. Increase hole size to 120 mil to give some play.
  7. The laser holes in the chassis are only 120 mil. The lasers are 120 mil in diameter. Increase hole size to 150 mil to give some play. Previous BCAMs used 146 mil. With six components sliding into adjacent holes, we need extra clearance to accommodate misplacement of the components.
  8. The laser holes need a larger 45° chamfer on the inner side, which requires a special tool. The chamfer is necessary to make sure the anodizing remains intact when we insert the laser.
  9. The lens hole diameter is 270 mil. The lens holders are 280 mil. Increase hole size for tight fit to existing lens holder. Previous BCAMs used 297 mil.
  10. The 6-way flex cable in the A302601A should be moved 40 mil to the right, as seen looking at the board from the inside of the BCAM, which is the side holding the connector.

[14-JAN-13] We assemble one A302501A printed circuit board. We have difficulty with solder bridges between vias and pads, especially when the vias are obscured beneath P0805 components. But the board works with both image sensors and appears to switch its source control pins to 0V.

[01-MAR-13] We now have four working A3025As.

[04-MAR-13] We discover that the A302501A layout has J2 and J3 in the wrong place, when compared to our original schematic, which was based upon the arrangement to be found in the Polar BCAM Head (A2051L). J2 was at the front of the board, when it should have been at the back for use in the front-facing camera. This problem can be fixed in the firmware, so we produce P2074A05, in which the CCD1 signal becomes CCD2, and we modify page three of the schematic to match.

[25-MAR-13] We have two fully-functional BCAM-HLDs, loaded with 7-mW lasers set to emit 5.5±0.5 mW. Because the laser power exceeds 5 mW, we apply Class 2M laser warning labels to the sides of the BCAMs. While testing these BCAMs we notice that a light source jut above the field of view of the rear-facing camera will shine light through the lens to the top surface of the RJ-45 connector, which is shiny metal. The result is light shining onto the image sensor from a light source outside its field of view. We were able to eliminate this reflection by placing a piece of tape on one side of the connector, protruding upwards, but not by applying nail polish. We will consider how to eliminate the reflection in future versions of the HBCAM but for now we do not modify the BCAM to remove the reflection.

[27-MAR-13] The laser holes in the Blue HBCAM chassis are making contact with the laser cans. We insulated the cans with kapton tape. In the future, we recommend increasing the diameter of the laser holes still further.

The spacers we are using for the side baords are 0.05" thick. We are doubling them up to make 0.10" spacing between the board and the chassis.

[02-APR-13] List of issues with the HBCAM, including hardware. Overall, the new HBCAM works well. It is accurate and all the circuits are correct and functiona. Here are some minor problems.

  1. Blue HBCAM Main Board A302501B has a via under the RJ-45 connector that makes contact with the connector shield, resulting in the logic signal called "A" being shorted to 0V through a 10-nF capacitor. An interesting problem to find, and easy to fix with some kapton tape.
  2. Blue HBCAM Side Board A302601C has resistors too close to the 6-way flex connector. In particular, the laser calibration resistor R13 is so close that you can't remove it without melting a bit of the connector.
  3. In all HBCAM Side Boards, the LEDs are in two orientations, so that the assembler must place two with the anode on the left and two with the anode on the right.
  4. The Black HBCAM Side Board A302601B has no ground plane and so must be painted black with nail polish to stop LED light shining back through it to the image sensor.
  5. The existing BCAM Main Board circuit does not provide reliable double-speed pixel clocking to two image sensors at once. Thus we cannot rely upon the quadruple-size pixel readout, not that we were planning on doing so. But I'd like to fix this with a change to some resistor values and maybe some firmware adjustments.
  6. Some BCAM Main Boards do not provide readout of image sensor number 2 when image sensor number 1 is not connected. I understand why, but what I don't understand is why some of the boards don't have this problem. I am uncomfortable about the fact that I don't understand what's going on.
  7. The BCAM Side Board standoffs should be plastic and 0.05". I'm doubling up the 0.025" standoffs that Jim bought. The doubling-up makes the side-head assembly difficult.
  8. The laser holes are still shorting to the laser cans. The method of using one BCAM as a jig to assemble the boards does not work. Even with the laser holes opened up to 0.149" from 0.146", the lasers press against one side or other of the holes in their destination board. We should return to the method we used with the black polar BCAMs: put the lasers in their destination holes, lower the board onto the legs, screw the board in place with the lasers still unsoldered and therefore loose, then solder. Also, we must make sure the chamfer around the holes extends to a diameter of at least 0.170", and that the finish in the holes and on the chamfer is quality 2.0.

[06-AUG-13] We find that with 47-Ω resistors in place of R41, R42, R43 the H1 and H2 clocks are not formed properly in quadruple-pixel readout. This contrasts with the A2075, in which the clocks are formed properly. The A3025 loads the clock signals with two image sensors, and as a result the rise and fall time of the clock signals is longer. The 25-ns pulse required to double-clock the image sensor is attenuated. The image below shows the smearing of a BCAM image due to these poorly formed pulses in the A3025 quadruple-pixel readout.

Figure: Smearing By Imperfect Quadruple-Pixel Readout.

We will solve this clocking problem in the future by replacing R41, R42, and R43 with 10-Ω resistors.

[03-SEP-13] The result of a study of double-speed clocking in the A3025 is here.

[25-SEP-13] We have an order for 56 HBCAMs, half black and half blue. We resolve the issues listed on 02-APR-13 in the following way.

  1. The via that shorts to the RJ-45-RS shield we will cover before we load the connector. We will have all the A3025 boards made at an assembly house, but without the RJ-45-RS and without the through-hole components. This will save money and ensure that there are no problems with one-sided flex connectors being put in the wrong way.
  2. The resistors too close to the flex connector we will resolve by modifying the A302601C layout. We will place both calibration resistors on the bottom side, so they can be changed without removing the board.
  3. To resolve the odd orientations of the LEDs, we will lay out a new version of the A302601B and A302601C.
  4. We will put a ground plane in the new A302601B, or copper to block light from the LEDs. We may remove the ground plane on the 01C board and replace with copper.
  5. We fix the double-speed clocking problem by changing R40..R43 to 10Ω.
  6. We have not been observing this single-ccd readout problem recently.
  7. We have 0.05" plastic standoffs.
  8. Now that we have the calibration resistors on the back side of the board, we can assemble the side head and lasers in place, which means we should have fewer problems with contact between the laser can and the chassis.

[06-JAN-15] We try various combinations of flex cables and image sensors in the two image sensor sockets, to see what kind of readout we can obtain.

CCD1 (J2, Rear Camera) CCD2 (J3, Front Camera) CCD1
ICX424, 50-mm CableICX424, 50-mm CablePerfectPerfectPerfectPerfect
ICX424, 300-mm CableICX424, 300-mm CablePerfectPerfectPerfectPerfect
OmitICX424, 50-mm CableNoneNonePerfectPerfect
OmitICX424, 125-mm CableNoneNonePerfectPerfect
OmitICX424, 300-mm CableNoneNoneBright pixels turn grayPerfect
ICX424, 50-mm CableOmitVery dimVery dimNoneNone
ICX424, 300-mm CableOmitVery dimVery dimNoneNone
Table: A3025 Behavior for Various Flex Cables and Image Sensor Configurations. We give the behavior of the single and quadruple-pixel readout for both image sensors for each configuration.

These results show that the A3025 can operate with 300-mm flex cables, provided both image sensors are plugged in. If we want to load only one of the image sensors, it must be CCD2, but in that case the flex cable should be 125 mm or less.

As we can see, CCD2 must be loaded for CCD1 to be read out. When the A3025 wakes up to take part in a loop job, CCD2 is selected (see P2075A05.abl for firmware). The loop job measures the round-trip propagation time of the A3025's root and branch cables. If CCD2 is absent, input U11-8 to our image sensor selector switch floats to +15V, which sends a positive pulse through C12 to the output amplifier U13, resulting in a low pulse on R. The figure below shows the pulse on R− immediately after a wake command.

Figure: Wake Pulse on R− (Top Trace). Timebase is 10 μs/div. Top trace is 1 V/div (×10 probe) R−. Bottom trace is command active, which goes low when the wake bit is set.

The low pulse on R corrupts the driver's measurement of loop time. The driver transmits a low pulse of its own, and is waiting for this pulse to return, but the low pulse generated by the wake-up arrives immediately, resulting in a 0-ns loop time measurement regardless of cable length. In future circuits, we will add a pull-down resistor to the image sensor outputs so that an absent image sensor does not cause pulses on R.

[30-DEC-15] We have an order for 12 Blue H-BCAMs. We have in hand 14 of the A3025B. We program them with firmware P2075A05. We capture images and flash all six light sources. The delay A to DA is 104 ns, and A to DDA is 230 ns. Ideally, these should be 125 ns and 250 ns (see specification). We adjust the firmware and get DA at 132 ns and DDA at 158 ns. We now have P3025A01.