If you’ve gone over the outline and schematics, it’s time to go over the main steps involved in the actual construction of ACID.


The project is split into three components:

  • an Ardweeny
  • a small TCS3200 control module, which may be used on its own
  • a main board, which holds everything together along with supporting components


At a minimum, you’ll need a soldering iron, solder, solder flux, a drill and small bits. A multimeter is mighty helpful. If you’ll be etching your own PCBs, you’ll need boards, etching solutions and any other materials required by the selected technique.


In addition to the Ardweeny kit, an FTDI programmer for it, the two printed circuit boards (which may be etched using the provided files, contact me if interested in purchasing), and a bit of wire for the two jumpers, the components required are listed below.

TCS3200 Control Module

ID Type Value
C1 Capacitor 1uF
IC1 SMT Sensor TCS3200
LED1,LED2 LED 5mm bright white LED
R1 Resistor 2.2k
R2, R3 Resistor 100
T1 Transistor 2N3904
SV1 Header SIP 8-pin female

Main Board

ID Type Value
C1, C2, C3, C7, CS1, CS2, CS3 Capacitor 1 uF
C4, C6 Capacitor 10 uF
C5 Capacitor 100 nF
CS5 Capacitor 220 uF
DP1 Digital Potentiometer MCP4151
IC1 Socket DIL28-3 28 pin socket for Ardweeny
IC2 Hex Schmitt-trigger inverter 7414N
IC3, IC4 Single-supply dual op-amp TLV4112
IC5 Voltage regulator 7805 or similar, in TO-220
R1 Resistor 100k
RC1 Resistor 1k
RC2 Resistor 470
RC3 Resistor 220
RS1, RS2 Resistor 10k
RS3 Resistor 5.1k
RS4 Resistor 200
SW1, SW2 Switch N-O momentary contact
SPIOUT Header SIL 3-pin female
TCS3200 Header SIL 8-pin 90-degree male
POWER Header SIL 4-pin female
CALIBMOM Header SIL 2-pin female


Type Value
Filter High Transmittance IR Filter
Lens Convex condenser lens
Speaker An 8-ohm speaker that fits in your enclosure
Pins Male SIL pins, to plug into those female (switch, power…) headers



You’ll need the files in the ACID resource package, from download page.

With everything in hand, we can get down to building the device!


If, like me, you are rolling your own printed circuit boards you need only transfer the provided masks to your boards and etch them as usual. There are numerous resources online that describe the process you’ll find one article I like on the toner transfer method here ;-)

Note: Do NOT try to use these images to make your printed circuit boards (they are low res)–download the package and use the PNG files within (which are at 600dpi).

TCS3200 board, as it will look (go to "download" for usable files)

TCS3200 board, as it will look (go to “download” for usable files)

ACID mcuboard-bottom-v2.2

You can see that, since these are single-sided boards, I add a good deal of information that comes in handy while the PCB is being populated right on the side with the trace.

Here are some results of the toner transfer and etching of the TCS module and main board.

Etched TCS3200 module board (2, just in case)

Etched TCS3200 module board (2, just in case)

ACID mainboard-etched-clean

Etched PCB for ACID main mcu board

The most important things to check for at this stage are interrupted traces and contact bridges between adjacent copper lines. A multimeter in continuity (“beep”) mode is a real help here. I don’t usually have to deal with many broken paths, as I make certain I avoid over-etching. The cost of this is needing to use an exacto to sever a few extraneous contact points (still much easier than attempting to fill trace gaps on a PCB).

I coloured the back of the TCS module, ’cause it looks cool.

ACID tcsboard-ready

TCS3200 module PCB, ready for action



Begin by building the Ardweeny as specified by the included instructions. I didn’t solder on the green LED, to avoid having a light source within the enclosure, and trimmed the programming header pins to half their length without ill-effect (be careful here, to ensure your FTDI-cable/programmer can still contact the pins, though).

TCS3200 Control Module

The TCS3200 board has few parts and is straightforward, but for a single challenge: the TCS3200 chip itself.

Being a surface mount component, the TCS3200 will be placed on the underside of the board directly atop the copper trace. There are guides available online about soldering SMT components by hand, but the gist of it all is this: flux!

Using a sticky, resinous, solder flux applied liberally to the pads, gently position the part so it is perfectly centered. Make certain you get the orientation correct. Notice that one, much larger, lead with a different ā€œLā€ shape through the transparent chip? That’s pin 4 (GND), and it must be in the upper right corner, when facing the copper side. You’ll notice that it is tied to pin 3 (below it, from this point of view) by the PCB. That is a good thing.

Use tweezers to hold the TCS3200 in place and get ready to handle your soldering iron. Now you break all the rules and apply a bit of solder directly to your iron–less is more, here, avoid gobs–and touch the tip to the joint between one of the chips corner legs and a pad. The solder will flow and wet the joint by capillary action. If you’ve got a lot of solder, drag the tip along the trace and it will leave a trail on the copper.

Slightly messy first attempt with the TCS3200... it works!

Slightly messy first attempt with the TCS3200… it works!


Remove the iron and give the solder a moment to cool. If the chip is still correctly aligned, proceed in a similar fashion with the opposite corner and then to the six remaining pads.

Probe the connections between the header pads and the chip’s leads using a multimeter. Take a break when you hear a beep on each one and bask in the knowledge that you can now handle SMT components.

Populated TCS3200 module

Populated TCS3200 module

Add the rest of the components and don’t forget to add a jumper, by soldering a wire between the X1 and X2 pads.

IR Filter


IR Filter test

As mentioned above, the TCS3200 is sensitive to interference from infrared light. Though IR filters can be rather expensive, we only need a piece as large as the TCS3200, and it is possible to find many suppliers online that will provide something suitable. A search for “High transmittance Glass IR Filter Lens” usually yields many interesting results, or you may be able purchase some from here.

The easiest way to test your filter is with a digital camera and remote control. If the camera picks up the light emitted by the LED on the remote, it will be able to show you that the filter is blocking IR just by placing it between the LED and camera.

Having found a functional piece of filter glass, I simply placed it atop the TCS3200 and applied a few gobs of hot glue around the perimeter to secure it permanently.

Main Board

Other than having a good number of holes to drill, the mainboard presents little difficulty. Begin with the 28 pin socket for the Ardweeny, and the four ICs.

Mainboard with ICs

Mainboard with ICs

Next come the resistors, capacitors, voltage regulator and headers. Finally, a jumper must be soldered between pads J1 and J2.

Mainboard, populated.

Mainboard, populated.



Place the Ardweeny in the socket, slide the TCS3200 module onto the header at the front of the mainboard, and admire your work.

ACID circuit complete!

ACID circuit complete!



To maximize ACID’s efficacy, you’ll need to place a condenser lens before the TCS3200 chip so that it’s focal point is aimed at the photoreceptors. Almost any lens will do, it can be from a magnifying glass or one of the cheap “High Power LED convex lens” found online. The choice of lens is a trade-off between power and precision (a large fish eye lens will provide lots of light but it will be hard to target specific objects). A lens with one flat side will be easier to install.

Lens and home made shim

Lens and home made shim

You can determine the focal length of any lens just by focusing a distant light source on a wall or sheet of paper. Measure the distance between the lens and the surface when the focus is about perfect. That will be the amount of free space you’ll need between the TCS3200 and the lens, in your enclosure. I didn’t have quite enough space in my box, so I created a little shim to set the lens on before gluing it to the box.

TCS3200 as seen through lens viewport

TCS3200 as seen through lens viewport

If you can see the chip through the lens when you are looking at it dead-on, you’ve done a good job.


After ensuring I could fit everything into my little black box, I used bolts to secure the board to the base and drilled holes for the viewport lens, switches and speaker output in the cover.

ACID on enclosure base

ACID on enclosure base


Encoluse with holes for buttons and speaker sound.

Encoluse with holes for buttons and speaker sound.

After that, it’s just a matter of attaching the lens, stuffing everything inside and… voila!

A.C.I.D. ready for portable action

A.C.I.D. ready for portable action



If you don’t already have the arduino IDE and its TimerOne library installed, set them both up.

Remove the Ardweeny from the main board, plug in the FTDI programmer and launch the arduino IDE. Set it to ā€œArduino Duemilanove w/ ATmega328ā€, load the ACID.ino sketch, compile and upload it using the button with the arrow pointing to the right.

Arduino IDE

Arduino IDE

The Ardweeny should now be ready to perform its colour-converting task. Pop it back into place, hookup the battery and press the power switch.


Project Pages

ACID Overview