This is a follow up question to 'How does a Capacitive ID / Signatures / Sensing system work? e.g. Google Bloks'

In the 'Google Bloks' project. A tangible programming experience is created by allowing children to place physical instruction blocks (Pucks) next to each other.

The computer is able to read the sequence of instructions and turn it into a program to e.g. control a robot.

It uses a capacitive sensing / capacitive ID system to detect whether an instruction card is a "GO FORWARD" or a "TURN LEFT" card (for example).

From the technical whitepaper :

Pucks are easy to create, for example by cutting paper, or 3D printing the form and then drawing the capacitive signature with conductive ink. This enables an infinite number of commands to be easily made on the fly by anyone.

The Base Boards have their function specified by the puck placed on them. The Base Board has a capacitive sensor and magnetometer. The capacitive sensor reads the command expressed by the puck, and the magnetometer detects the state of the mechanical control by reading the magnet position.

The Base boards are able to read the capacitive signature of a puck to identify it:

Google Bloks Base Boards

I am interested in how Google Bloks uses capacitive sensing to read the conductive paint pattern, and decode it as a Puck identifier.

Looking at the images more closely, we can see the materials used for the pucks - one layer (A) with a conductive pad and the other (B) an insulator.

My guess is that if one were to paint the insulating layer (B) with some conductive ink, then together with layer A, the puck will form a capacitor. The value of its capacitance will vary depending on the pattern drawn. Thus the idea of a capacitive signature that can identify a puck.

Puck materials

My questions are:

  • Would this work in practice? Could the capacitance value be reliably read, to uniquely identify a puck?

  • How to detect the capacitance, contactless ? The pucks have no electrical contact with the 'reader' base board.

  • \$\begingroup\$ My guess would be a multi-region cap sensor that functions similarly to how a phones touch screen works. Once you have enough "capacitive sense pixels" you could easily figure out the drawing. There are about a zillion examples of making capacitive sensors on various substrates and shapes. Look at scroll wheels and sliders to get an idea how multi-segment sensors work. Atmel has a bunch of Qtouch application notes on this topic as well. \$\endgroup\$ – Brendan Simpson Aug 9 '16 at 19:17

enter image description here

There's no need to have any kind of conductive connection between Base and puck. It actually forms a condenser together with base contacts. There is one condenser formed for each of 8 surfaces on pad and the circle in the middle is common contact for all of the capacitors.

Different puck types have different number of surfaces, from 1 to 8. Minimum is one because base has to recognize that puck is present and if puck does not have any surfaces it will be the same as if it is not placed on base.

If puck cannot be rotated on base (there's a notch in the picture) then 8 surfaces correspond to 8 bits, which gives 255 different combinations (excluding 0). If rotation by 90 degrees is possible then you have 4 bits for different pucks.

The surfaces can be detected by measuring capacitance of corresponding capacitor. This could be done with very good accuracy. You just need to properly set capacitance threshold.

  • \$\begingroup\$ I think you are on the right track. But you are missing some details. Firstly there is no 8 bit limit on the puck-id-space Google have stated that the space be 'infinite'. They talk of 'capacitive signature' so this value is unlikely to be a discrete one. Secondly, the 'capacitive signature' is specified by drawing a pattern with conductive ink on a piece of card or perhaps on the insulator layer (B). If you have any ideas about how this could work ... ? Great diagram! \$\endgroup\$ – greTech Aug 13 '16 at 9:21
  • \$\begingroup\$ Why do you think there's no 8-bit limit? "Space" cannot be infinite. Electronic circuit which measures capacitance has a limited range, that is, maximum capacitance it can measure. Also, there is the minimum difference in capacitance between two different pucks. This is because capacitance varies with puck position, air gap size and parts production tolerance. So there is a minimum capacitance step required to be safe from measurement errors. I don't think that "conductive ink" could help anything. In the picture 8 surfaces plus one in the middle can be seen. That IS discrete. \$\endgroup\$ – BJovke Sep 1 '16 at 13:18
  • \$\begingroup\$ "Space" or number of different pucks can be increased by increasing number of copper pads on the puck. There's no such thing like "capacitive signature". Whatever is the shape of capacitor and materials used, it all comes down to capacitance you measure on the two wires of the capacitor. So, different capacitance = different puck. Variations can be made in size of copper pads, their number and dielectric, to increase number of different combinations. But still there needs to be a minimum step and maximum number of different combinations. \$\endgroup\$ – BJovke Sep 1 '16 at 13:21
  • \$\begingroup\$ So this question was in the context of the Google Bloks Project. It is their claim "This enables an infinite number of commands to be easily made on the fly by anyone" So this clearly implies that they are not limited to having 255 different instructions. \$\endgroup\$ – greTech Sep 18 '16 at 0:54
  • \$\begingroup\$ When I read that I hear that you can create as many command cards as you have materials to make. I.e. there might only be 255 distinct commands but you can create them as many times as you want. \$\endgroup\$ – M Conrad Aug 12 '17 at 23:21

There is a notch on a side of tags, which probably indicates that tags supposed to be placed in 1 (or 2) orientation. Both sensor board and tags consists of central pad and 8 leafs. On the photo all pads are connected to central pad via small traces. But if different traces are cut for different tags, we could have 2^8 = 256 various tags (or 16 in case of 2 possible orientations).

My guess is that, if track is connected then central pad and leaf forms RC oscillator (or antenna if you wish). Enumerating each pad in sensor board shall be not hard.

  • \$\begingroup\$ Regarding the magnetometer, there 2 of them which makes sense. To detect "rotary switch" position, board measures ratio of magnetometer readings, not absolute readings. Together with single notch, it seems tags are supposed to be placed in only 1 orientation. \$\endgroup\$ – Flanker Aug 11 '16 at 5:44
  • \$\begingroup\$ I was also thinking along these lines. That there were 8 pads, for an 8 bit puck-id-space. But seeing that the pads here are all connected, combined with the statement that the number of pucks can be 'infinite' has led me to think of alternative solutions. \$\endgroup\$ – greTech Aug 13 '16 at 9:15
  • \$\begingroup\$ I guess they have 'AND', 'OR', 'NOT' tags along regular I/O tags/stuff, so coding potential could be defined as unlimited :) \$\endgroup\$ – Flanker Aug 13 '16 at 10:25
  • \$\begingroup\$ Yeah .... nice try ... but I don't think it really fits with the statement "This enables an infinite number of commands to be easily made on the fly by anyone" \$\endgroup\$ – greTech Aug 14 '16 at 3:12

The conducting plates in A are separated from eachother by a gap that would act as dielectric thus making the adjacent plates act as capacitor. Hope I am clear with the justification.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.