Related lists

Details

Whenever people see the 0.9" TFT ST7735S screen, they tell me I should make jewelry with this. So here it goes. A small color screen that you wear on your neck, that displays some cool animations.

Inside there is a SAMD21 (because that's what I have in my drawer), a LIR1220 battery (whooping 8mAh), and the minimum of components needed to make it work. USB socket lets you charge it and upload the images, and a switch lets you, well, switch it on an off. All fits on the 0.9" PCB under the display.

Project Logs

Considering the latest redesign idea, I'm not aiming at a very small pendant with just the microcontroller, connected to the #Electronic Barrette Hub for power. The hub will also be used for programming the display over the USB, this way I can use a very small and nice-looking connector on it, which won't interfere with the eventual resin casting.

That means that the PCB design will be greatly simplified, but I have to wait for it until the design of connectors for the barrette is finalized.

I have been showing off the prototype of this pendant in different places, and during the poster session on EuroPython a person who I can't now remember (sorry) suggested a really great solution to the problems of small battery and large thickness of the device. It looks something like this:

(The wire length is not to scale.)

Basically, they proposed to put the battery, together with the charging electronics and power switch on a separate device, that would be located on the neck or back, and that could be pretty much any reasonable size. The power would be transmitted to the device through a pair of soft wires that replace the string on which the pendant hangs. The pendant itself then only needs the actual screen, the microcontroller and the USB port for data transfer — all relatively small elements, with the USB socket being the largest. This lets me make it really thin, and since there are no mechanical parts, it can be embedded in resin easily (USB port can be problematic, but I have some ideas).

There are still some problems to be solved. How to prevent the heavy battery from sliding down the back of the wearer and pulling the pendant up? Maybe some kind of a clip for the collar? How prevent electronics from irritating the sensitive skin on the back of the neck? We will see how all that works.

That means that I won't be assembling the PCB that just arrived from OSHPark. And good, because due to my laziness it misses the cutout for the sunken USB socket:

But that also means that now I need to design two new PCBs. No rest for the wicked.

One more version of the pendant, this time with the mechanical power switch replaced with an AT42QT1012 chip. This thing is tiny — about 2mm on a side — and I had to make a custom footprint for it. Of course Fritzing decided to not cooperate and rolled out all of its SVG parsing bugs. I got it to a state where it should probably work, but it's not pretty.

I actually ordered this version, we will see in a few weeks how it works.

I have the promised design of the pendant using a QFN package of the SAMD21. I'm also experimenting with reducing the thickness of the whole device, by making holes for the battery, USB socket and power switch, and mounting them inside those holes. I'm curious how this will work.

In the mean time, I dropped the touch pads, so no touch sensing in this version. But it's probably not going to be final, I still have to experiment with getting rid of the mechanical switch and using something else in its place, so that I could drown the whole thing in resin. I wonder if I could keep the USB socket, but fill it with something like wax before casting.

write a GIF decoder in C and include it in the firmware, so that animated GIFs can be displayed,

redesign the PCB with a QFN package of the chip, and try to make it all thinner,

figure a way to get rid of the physical switch, so the whole thing can be cast in resin or something similar.

For the second point, I'm considering making a hole for the battery in the PCB, and moving the microusb port and the charger electronics to a charging station.

For the third point, I guess I would need to add a mosfet on the backlight, figure out the sleep modes of the MCU, and make it wake up on touch or add an accelerometer for waking up (and also for some interactive animations).

I finally sat down, compiled the firmware, adapted the ST7735 driver to the new dimensions, and quickly hacked some code for displaying a 16-color BMP (because I already had similar code for the #µGame). The result:

The colors are a bit funny because it's dark in here and the display doesn't have good viewing angles either. But I think it's pretty nice.

The batteries arrived, and a quick test revealed why it didn't work with the CR battery: of course I swapped the terminals of the battery holder. Fortunately the voltage regulator I'm using has reverse voltage protection, so nothing burned. A quick desolder, removal of the plastic numbs that key the holder in the right position, and re-solder in opposite position fixed it.

Though I still need to compile the firmware for it.

I fixed the PCB, but I still want to rework it to use a QFN version of the chip — that should free some space on it too.

The exposed electronics are cool, but not everyone's idea for jewelry, so I decided to try and do something to make it look better. Of course the first thing I thought of was casting it in a solid block of resin, but that would be difficult to do without breaking the switch and the USB port. I will probably still drown it in hot glue at some point, but in the mean time I simply painted it all black.

The acrylic paint didn't catch very well on the metal parts, so to avoid "dirty" look I just scraped it completely off them.

The boards from Aisler just arrived, so I could assemble the first prototype. Almost all fits, except for the resistor next to the battery charger, for which I had to cut a small hole in the plastic of the battery holder. Fortunately there is room to move it.

Next is programming the little thingy. I got the bootloader burned on it:

Now I need to compile some firmware and see how those touch pads work. I still don't have the LIR1202 batteries for it, so I can't test if it actually runs on the battery — it's possible the battery will be too weak for the display. The CR1202 definitely is too weak.

The PCB is ordered and should arrive in a few weeks, so in the mean time I made a pretty schematic for the thing:

I got around needed a diode for the battery by using a switch — it switches between the battery power or the USB power (or off when USB is disconnected). Battery charging is connected to USB directly, so it will always charge (unless the battery is full). I'm also putting a way bigger resistor on the charging chip than the datasheet has, because this is a tiny battery and I want to charge it at 8mA max. Not sure what the chip will do in this situation, we will see. Since the display connectors are done as pads, they don't show on the schematic, so I added net labels to show what is connected to them.

Become a Hackaday.io Member

The SAMD21 has touch already included! AND it is designed to run actively in the background only waking up every few ms. This way you can react to touch, without added components. Even more, you have the possibility to add multiple buttons for menus and navigation!

How about a soft-start IC like MAX16054. You add a tiny bit hanging below the pendant and a metal pad on top (maybe even the latch), both of these give you a wire that can poke through the acrylic (you pour over them), when the user touches the dangling bit to the top latch for 2 seconds the device powers up.

You could also use a reed-switch with the IC and put a magnet on a ring. The user runs the ring close to the pendant and the magnet turns on the reed switch initiating the power-on/off cycle.

How much power does the display draw? I ordered some too, they seem really cute.

I can recommend the ADXL363, I am using it extensively. It has a mode that allows it to be a self contained motion switch, polling at 6Hz and checking thresholds for 270nA (at 2v, it is more at 3.3). You can kick it up to 400hz in run mode, which still is only in the order of uA. Super cool and very easy to use. For connectivity, pogo pins seem like a good option for resin casting, as you can polish down the surface of the resin to re-expose the metal. Last but not least is IR, goes through the resin well, and people have done bootloaders like that, though you could just have data put through and processed by static firmware.

Nice, personally I was thinking about LIS3DH, which has similarly low power requirements, but can use either I2C or SPI, and can in addition detect taps and double taps.

A light sensor for data transmission is an interesting option, because then I could just have a web application that sends the images to it — you just hold it against the screen or phone. And the light sensor would also be useful to adjust the backlight brightness, to save energy. I'm a bit worried that the images might require a bit too much data to send it this way reliably, though. And I still need physical contacts for charging, since it's way too small for a charging coil, so I may as well also expose the data pins.

This looks really cool! I can definitely see this having some wide appeal amongst the hacker community. Has some real gift value. Imagine you are stuck looking for a cool present for a tech savvy partner who is a fanatic about some obscure 80s TV show, well now you can present them will a digital picture/animation of that TV show on something that can be put on a key ring/neclace etc. If you can crack a way to make it light up when moved to preserve battery over a long period, then you have a real cracker of gift here.