WiFi Remote Controlled Laser Rainbow Maneki-neko

My contribution to the Internet of shit.

Similar projects worth following
I got the idea from other hackers in our space who made the waving arm of a Maneki-neko remote controlled by using an ESP8266.
I thought the idea was cool, but I wanted to over engineer a little.

For the 32. Chaos Communication Congress in Hamburg two friends of mine build an internet controlled beckoning cat with an ESP8266 and a servo motor. On that congress, the hackers from c-base have set up a laser fence with cheap laser diodes from AliExpress.

Inspired by both of these I came up with the Idea of a laser Maneki-neko. I also wanted it to be controllable via WiFi and a web interface. So this is the first project I use the ESP for. As I discovered the capabilities of the ESP, I added more features to the plan.

The Maneki-neko will feature the waving arm, controlled by a servo, laser eyes, two DC motors for driving and a WS2812 strip for RGB lighting, all controlled by the ESP running NodeMCU in AP mode.


Schematic for the controller board with the ESP8266-12

sch - 485.21 kB - 02/23/2016 at 17:54



PCB with the ESP8266-12

brd - 109.23 kB - 02/23/2016 at 17:54


  • 1 × ESP8266-12 WiFi module running NodeMCU in AP mode.
  • 1 × Servo simple 9g servo like from Amazon or HobbyKing
  • 1 × L293D H-bridge motor driver with protective diodes
  • 1 × Motors from old optical drive They used to open and close the drive.
  • 1 × cheap laser diodes ones with build in resistor, suitable for 5V

View all 14 components

  • Big Steps in Laser Cat Technologie

    marble05/05/2016 at 00:00 0 comments

    The new parts arrived and I now finished the current revision of the circuit board.

    After repairing some minor etching mistakes I tested all features and everything seams to work fine.

    The next thing I need to is to figure out how to actually stuff all this into the cat.

  • finished redesigning

    marble03/16/2016 at 00:24 0 comments

    I redesigned the board to fit my new battery safety requirements. Now both cells will be charged separately, protective diodes are used and the voltage can be measured be the ESP.

    Also I rearranged things. The board is now divided into the power supply at the top, motor control in the bottom left, accessories at the bottom right and the ESP in the lower center. The 3.3V and 5V regulators are now in parallel and not cascaded anymore.

    Although I did all that, the board size only increases by 70mm2

  • redesigning the battery circuit

    marble03/15/2016 at 14:52 0 comments

    After fixing the battery charging circuit, it worked as expected, but the LM317 got quite hot. Also right now my design uses both lithium cell in series without balance charging. This imposes some avoidable safety risks. Also, because of the lack of diodes, the battery would slowly discharge over the adjustment resistors of the LM317.

    Because of all that I decided to redesign the charge circuit. The plan now includes two LM317s, one for each cell, protective diodes and a voltage device to make the ESP monitor the battery.

  • Not my fault

    marble03/14/2016 at 21:20 0 comments

    Ok, obviously you have to double check everything, when you order parts at Conrad Electronics.

    Instead of 2.7k smd resistors they delivered 200k, so therefore the voltage coming out of the LM317 was way off.

    Bodged it now by soldering a 2.7k through hole resistor in place.

  • The parts arrived

    marble03/11/2016 at 22:20 0 comments

    Today the parts from Conrad arrived. The cascaded voltage regulator worked without load.

    I tested the LM317 battery charge circuit with a 1kOhm load. It didn't work. Maybe there was solder bridge. The circuit will be rebuild on a breadboard an tested again.

  • Writing a new upload and download script

    marble02/23/2016 at 21:05 0 comments

    NodeMCU provides nice file function which make it possible to store and read file to and from the internal file system.

    Someone on Github provided a python script for down and uploading files. The problem was, that it had two flaws. The first thing is that it wants to take the whole file path as file name on the ESP. The other thing is that you have write the flag in the correct order...

    So I started to write an own script. It is not finished yet, but the upload functionality already works.

  • Setting up the ESP

    marble02/23/2016 at 20:53 0 comments

    This is my first project involving the ESP. I wanted to try I learn something new, so I installed NodeMCU, because was very unfamiliar with Lua.

    Downloading and flashing the firmware was surprisingly easy. I even used the cloud service to build "my own" with only the modules I wanted. Maybe in the future I will compile it on my own device. The main reason to do that is -except for safety reasons- the possibility to make the ESP AP behave like a captive portal, so every DNS request would lead to the TCP server running on the ESP.


    marble02/23/2016 at 20:42 0 comments

    The first thing I wanted to do is mounting the lasers in the cats hat. The difficult part is getting them as parallel as possible. Mounting them both one at a time would have been a fairly difficult way, because I didn't want to drill the head open and I only can operate with tweezers in the cat.

    The solution was to measure the distance between the eyes, mount one contact of each diodes with a stiff piece of wire to a perfboard and an the other contact with stranded wire. Power both both LEDs (I wired them in parallel) and tweak until they are parallel.

View all 8 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates