Note: This post was originally published on Conor’s Blog.
If you attended NodeConf EU 2017 in Kilkenny, Ireland, you’ll know all about the digital badge powered by Espruino that we created with Gordon Williams. You can read more about it on the blog and check out the docs site.
I’ve been having lots of fun recently with LEDs, NeoPixel rings, BLE and general messing.
Of course if you use NeoPixels you’re going to burn through that CR2032 battery pretty darned quickly. Like really really quickly :-) My first attempt to solve this, which worked well, was to use various sizes of LiPo batteries connected to the power pins via an LD1117 voltage regulator. I had some full size regulators sitting around but they took up too much room. So I ordered some SMD ones and they were just as good. Note you should not connect a LiPo directly to the power pins. When fully charged they get to 4.2 volts which will probably kill the microcontroller.
Gordon mentioned the LiFePO4 batteries to us as an alternative. I’d read a bit about them previously but hadn’t realised their multiple benefits:
- They can’t catch fire!
- They max at 3.2V so can be connected directly to 3.3V electronics
- They come in the same sizes as many LiPos, like 18650.
The downsides are:
- You need special chargers (not too expensive)
- They have lower capacity than the same-sized LiPo.
You can see the ridiculously oversized one on the badge here. I’ll be buying more.
Other mods I did included an on-off switch, a mobile-phone vibrator, a mini-loudspeaker and various LEDs on the front (no NeoPixels in the picture, I’ve ordered a large ring of them).
The vibrating motor was a little weak initially as it was running directly off an IO pin which is probably a terrible idea. I re-wired things to use a simple BC547 transistor to turn on/off the motor connected to +/- and the entire badge now vibrates strongly when it’s on.
The loudspeaker was a replacement for the disc ones we provided at NodeConf EU. TBH those discs were pretty bad – my fault. Gordon did a great job figuring out how to double the voltage swing to increase the volume but they were still very quiet. These green ones are much much louder and very usable. Here’s one in action. Impressive eh? ;-)
I had ordered some microphone modules for the event but they arrived afterwards. It turns out they were useless. They only trigger on/off for loud sounds. So avoid these if you are searching on eBay. I’ve ordered some alternatives to see if they are better.
Another small fail was my order of some generic PIR detectors which I couldn’t get working well. It turns out they needed 5V not 3.3V. I’m waiting on some 3.3V modules to see if they behave or not.
Once the NeoPixel rings arrive, I’ll be doing something like this which shows a smaller ring controlled by Espruino:
So have any of you been hacking your badges or writing interesting software for it?