Close

Testing v0.1 boards

A project log for Cap-sense name card

Combine PCB art and cap-sense activated LEDs to create a worthy maker name card

urishaniuri.shani 09/07/2018 at 12:130 Comments

I first got the boards two weeks ago, and took my time testing. I originally thought I'd use ATtiny85 to get the code on the board for testing, then figure ways to slim down the code. When I got to soldering the boards (by hand, I don't have any reflow setup), I found out the '85's I ordered are 200 mil wide, while the footprint of the uC I chose was 150 mil wide. I squeezed the legs together, and finally got it working. I also used 220 Ohm resistors, so I could easily connect the ICSP header to my 5V programmer (Arduino Uno w/ Adruino as ISP sketch). I did not get the pogo pins I was planning on using on time, so I soldered a 2x3 header, and managed to burn the board using the Arduino IDE.

I found out the ADCTouch library was configured for ATtinyx5's, so I added the ATtiny13 definition to the .h and .cpp, since the ADC pinout is the same (merged into library 04.09.18).

I thought of getting some random flickering when the sensor was activated, but found out the random() function was filling up my available program space. I then thought of two solutions - first one was hard coding different length arrays for the PWM values and delay values, and the second was using millis() for pseudo-randomizing the delay values.

The first solution works better in my opinion, as the different sized arrays (8 and 5) only meet every 20 cycles, which is not very noticeable. The second solution does provide some randomness, using millis()/1024 as the source, but results in too long delays.

The "breathing" sketch works very nicely, but it seems to me the flickering effect is more fitting for using as either a card or a name tag, since it remains lit for some time after the light show sequence.

I found out the battery was draining much faster than I thought it should, and the card becomes less sensitive to touch sensing. I will probably add some deep sleep / wake on an overflow timer in the next iteration.

Two other additions were added to v0.2 of the board - a solder pad for a pin, so I will be able to solder a safety- style lapel pin directly to the board and not use hot glue, and an exposed ground patch opposite from where touch sensing should occur. I found out while testing that touch sensing was much more efficient and accurate when touching both the sensor pad and the ground plane.

Discussions