~derf / projects / Blinkencat
dark mode

This project is based on ready-built cat night lights available on Amazon / eBay / AliExpress (and probably more). See also marble's BlinkenCat project on hackaday.io.

Blinkencats are sold in a variety of soft- and hardware configurations: Some use AA/AAA batteries, others have LiIon built-in; some come with an IR remote; some have proper RGB fading, others use hard transitions between RGB colors.

This page covers the variants with built-in LiIon battery. I have not yet worked with an AA/AAA based blinkencat.


  • Unmarked "1200 mAh" 18650 LiIon battery with connectors soldered on, likely without protective circuitry
  • TP4056 charge controller. It's specified for a fixed charge termination at 4.2V ± 1%
  • 4x warm-white LED + 4x RGB LED
  • Unmarked microcontroller

Battery and microUSB/button/LED PCB are housed beneath the main PCB. There is ample room for additions, e.g. a custom charge controller and/or a custom microcontroller. However, most 18650 battery holders are slightly too large for the cavern, so increasing the battery capacity is only trivial if you have a 18650 battery with connectors soldered on.

Microcontroller pinout (courtesy of marble, pin 1 is top left when rotating the board so that the microcontroller is at the bottom):

  • 1: NC
  • 2: Charge Status input
  • 3: Piezo input
  • 4: VCC
  • 5: Warm White LED output
  • 6: Button input
  • 7: NC
  • 8: Green LED output
  • 9: Red LED output
  • 10: Blue LED output
  • 11: GND
  • 12: Charge Status LED output
  • 13: NC
  • 14: NC

input board pinout (pin 1 is left when rotating the case so that the board is above the battery):

  • 1: button contact A
  • 2: button contact B, microUSB GND
  • 3: LED VCC, microUSB VCC
  • 4: LED GND. Note that there is no resistor on the input board

Blinkencat 1 (ATTiny2313 + stock board)

Bought in Oct 2017, PCB mark "ZL01R3". The original firmware had two modes: steady warm-white and color change (without fading and not following the RGB spectrum).

Following marble's BlinkenCat howto, I replaced its microcontroller with an ATTiny2313A and implemented various steady-color and RGB color fade modes. Idle current consumption is in the 10 µA range.

It works well, is rock solid and provides around 10 hours of blinkenlights (depending on mode). The firmware is available in my blinkencat repository (GitHub mirror).

Blinkencat 2 (29C3 MiniMoodlight SMD)

Bought in Jan 2018, PCB mark "ZL01R3". The original firmware had two modes: steady warm-white and color change (without fading and not following the RGB spectrum).

I threw out the entire hardware and replaced it with a 29C3 MiniMoodlight SMD using an external USB connector.

Blinkencat 3 (ATMega328 + WS2812)

Bought in Jul 2019, PCB mark "ZL01R4". The device came with an IR remote and supported several steady-color and color-fade modes as well as a standby timer.

I removed the top PCB and replaced it with an Arduino Nano, TP4056 LiIon controller, and a WS2812 LED circle.

The Arduino Nano board consumes ~17mA even when powered down, probably due to its USB-TTL converter. There are hacks to fix this, but I did not perform them yet.

Battery runtime ranges from 1 to 6 hours depending on RGB mode.

Blinkencat 4 and 5 (stock)

Bought in Sep 2019, PCB marks "XSG139B3A 2018.8.22V2.1". The blinkencats have a redesigned PCB with significantly brighter warm-white LEDs and a diffusor. I have not modified them yet.