iRobot Roomba Virtual Wall

An old Roomba retired due to worn batteries had an accompanying virtual wall unit for the user to limit its range of motion. Today I take it apart to see what’s inside. I understand it is functionally similar to an infrared remote control, so I expected to find not much beyond a circuit board with an infrared emitter. There are two user controls: an on/off power switch and a sliding switch to select from one of three distance ranges. The push on/off power switch felt like it had two detents, like how a camera shutter button has an initial detent for focus before pushing all the way to take a picture. This particular virtual wall unit also has something rattling around inside and I’m curious to find out the cause.

Looking at the diagram at the base of the unit, I noticed the zone is drawn as a narrow cone plus a small circular area. This implies two emitters: one directional and one not. Examining the unit we can see where they would be: the directional beam would come out of the small gray “nose” and the omnidirectional beam is cast from the circular protrusion up top.

These beams are invisible to the human eye, but my cell phone camera could pick up a glow from the directional emitter. This glow is stronger when we increase the range of the device via slider up top. My camera didn’t pick up anything from the omnidirectional cylinder. The faint green glow visible in this picture is from the human-visible green LED that indicates the unit is turned on.

Most of the volume and heft came from the pair of D-cell alkaline batteries that are all but extinct in modern electronics.

Fasteners are hidden under each of the four rubber feet.

Here’s the mystery of rattling noise: plastic spacers around two of the screws have broken loose. (Intact at left, broken at right.) At a guess, they broke from the impact of this unit getting dropped on the floor sometime in its life.

At least two circuit boards are visible inside, held by screws.

The most unusual component visible here is a chip hidden under a black blob mounted on a small white circuit board, which is then connected to the large board at a right angle. It is accompanied by several through-hole components.

Flipping it over, we can see the narrow circuit board is just a carrier for the sliding switch that controls the LED power and thus range of the virtual wall. The large board has a series of unremarkable surface mount components. The green power LED and directional infrared LED are mounted directly to this board, and the omnidirectional LED assembly is attached with a pair of wires. We can also see here the ten-conductor connection point for that odd-looking vertical white board with the chip under a blob.

Here’s an explanation for why the power switch felt like it had two detents: it pushes on two separate switches each with their rubber dome. So we felt one, then the other, rubber domes make contact. Looking at the trace, these switches (Labeled SW1 and SW2) are wired in parallel. It seems like a lot of work just for the sake of redundancy, but I can’t think of another reason why it might be designed this way.

The omnidirectional LED seems to be held down by hot glue.

I was skeptical when I was told that isopropyl alcohol helps release hot glue, but I have to admit it seemed to have worked well here. But when the glue was removed, I saw the LED is also held in place by a circular piece of plastic that has been welded/glued in place. Why did they feel the hot glue was necessary? If I wanted to replace the LED, I would have to break this piece of plastic, so I’ll hold off for now. I’m going to save this little omnidirectional LED assembly. I might find a use in the future, and that use might be infrared!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s