matseng wrote:Nice! And when I saw the first image i thought "Hm... That battery holder looks familiar." :-)
Yes, you had a great idea which I could not resist of re-using ;-)
matseng wrote:What's the wire loop at the backside for?
That is a switch.
The current form is not very nice, it needs a winding at the long end for flexibility. The second version will include a "real" switch on the back of 2.4x3.4mm because it is simply too much work to make the switch and align it correctly while soldering. This first batch of PCBs will be unique; a collector's item in 100 years ;-).
matseng wrote:Unless you've already done this (which you probably already have) Connect the loop to the reset pin pulled up by a 3M3 resistor. Then set the fuses so Reset becomes a GPIO and have a interrupt-on-change on it. You can then use it to wake the ring up by squeezing your fingers between the loop and gnd.
The reset is not used and has an internal pull-up (about 40k). The switch is connected to an available GPIO pin. I had considered doing a high impedance pull-up and let the finger make the connection, but that required that one extra resistor that would break symmetry on the front (yes, I know, vanity has a price). I now use the internal pull-up of the PIC12LF1552 to keep the pin high.
The first version of software is now running and multiple patterns can be displayed. I managed to squeeze 16 level PWM in a 12 LED charliplex while running at Fosc/4=250kHz. Pressing the switch changes between 20 or so patterns, while holding it for 2 seconds turns it off (and it will then sleep).
The LEDs are two-in-a-house red/green ones. I thought that they would be about same brightness, but it turns out that the green one is significantly more dim. The charliplex loop-delay is slightly altered, showing green longer than red, to compensate for the difference. I will see if I can get dual LEDs which are a bit brighter so the visibility in sunny daylight improves, but it is not strictly necessary.