Category Archives: Electronics

Home automation with Xiaomi, Raspberry, NodeMCU and Sonoff+Tasmota

This is gonna be a long post and will be edited from time to time.

So I have this Xiaomi Home Automation system which served me well in the past, and still does. But in time I built more stuff myself which I would like to integrate into one system.

I started off with Home Assistant even though other systems still have potential (OpenHAB, etc). This is an open source home automation system to work with Raspberry Pi 3.

A nice feature of Home Assistant is the use of, a voice recognition addon similar to Assistants like Alexa and Google Assistant but which works completely offline and can control your devices.

Another big advantage of Home Assistant is that most of the Xiaomi components I have can be controlled using it. And on top of this I can use Sonoff modules (which are very cheap and can connect via Wifi and control any electronics in the house)  with Tasmota firmware which gives them MQTT capabilities and lets me integrate them in Home Assistant.

Still a lot to go and to configure until the final system is ready, but that’s the fun …

Fire lamp (final)

This is the continuation of

Also posted it on Instructables:

After buying a normal lamp, just to take the “shell” of it, I had now all the parts I needed to build the final Fire Lamp.

I stripped the bought lamp of all inside electronics, and replaced it with my own. The glass of the lamp, gives it now pretty nice effect. Besides some tweaks and maybe more programs coded, I can say it is finished.

Fire lamp

I found a lot of intersting ideas on the internet on how to make a fire simulation lamp using WS2812c programmable leds and Arduino. So I had to try this too. Spice up the romance that is 😉

I found a strip with leds very close put together, so the effect would also look nice.  Everything is powered by a 5v power bank, so you can just take it with you wherever you want to set a romantic mood 😉

To do: make a lamp with white glass around the electronics to diffuse the light from the leds so not every single one is visible.

I used the NeoPixel library to program the leds, also I used parts of code I found on the internet and adapted it. Also a Arduino Nano was enough to control all 140 leds alligned in groups of 20.

The electronic layout looks something like this, but I used 7 rows of 20 leds each:

Also if someone is interested in the code, here it is attached. Of course it can be improved a lot. I also plan to make multiple modes of this lamp to be able to select by button fire, lava lamp, snow flakes, etc…

Outdoor christmas decoration

So I got theese outdoor Christmas leds from China, solar powered ones. Like I expected, the lack of sun in Germany, especially on that side of the house where I intended to put them, was a big issue.

Another slight issue was that the children were so happy about the first snow, that they didn’t see it and ripped of the wire.

So my solution was to put everything on 4 AA batteries, and also on a Attiny85 microcontroller, and program the leds to automatically light up at 18:00 o’clock and turn off at 22:00.

Yeelight Strip Hacking

Everyone who knows me a little bit, knows how crazy I am about Xiaomi products. No other company I know offers such a wide spectrum of products, so good quality of components used to build theese products, and such great prices.

I recently bought a Yeelight LED strip to integrate in my Xiaomi Smart Home system. It is a high quality product, with many features. The only downside is the length of 2m. It is not bright enough for the whole living room. So I decided to do a little experiment: cut out the led strip and the power source, and solder a 5m strip and a more powerful power source.

Since I love theese products so much, this was very painful 🙂 but I did it anyway. The results were positive. I successfully replaced the LEDs with a 5m long 5050 RGB LED strip and a 5A power source. Everything still works with the app and the scenes. The only downside on this solution was that the colors were not exactly the same as I expected. Obviously the 5m strip was not the same quality as the ones from Yeelight. I will need to find some better ones.

Or just wait for the new Yeelight LED strip which will be 10m long I hear.

Automating Christmas Trees (Attiny/Arduino)

Christmas is coming and everyone gets out all decorations and lightnings from the basement. It’s a wonderfull time of the year to remember every light bulb from the lightning, which was broken last year, and when there was no time to fix it, etc.


Also to remember which decorations were not so appreciated. This is the case with our two little trees which we got for the childrens room. They had to be turned on every evening and off after going to sleep. An unnecessary process which I wanted to fix.

I remembered some time ago I controlled a simple light with a little Attiny85. This had to be done again.

I used a Arduino Uno as a programmer for the Attiny. I had to remember the whole process again, so I’ll better write it here for the future.

Arduino softare has in properties a field for the link to get additional board managers. There I added:

In the boardmanager I installed it. I uploaded AndroidISP into the Android Uno, connected the Attiny like in the picture, and then uploaded using the programmer the following code:

void setup() {  pinMode(0, OUTPUT); }
void loop() {
  digitalWrite(0, HIGH);
  digitalWrite(0, LOW);

A simple program to turn the tree on for 6 hours and off for 18. This means if started in the evening at 18:00, it will always turn on at 18:00 and off at 00:00.

The electronics in the tree couldn’t have been easier to understand and adapt.

Didn’t test it yet, but I hope it works good enough even using the Attiny internal clock.

Robot cleaner flock (Step 1)

OK, now this is really only the first of many steps of a project which will for sure take more than my other ones.

Nowadays a robot cleaner is no big news, many have them already, and a lot of companies try to build them and do a better job than the competition. They are getting also cheaper and cheaper, and are affordable enough to try.

But the biggest problems still persist. The movement algorithms are still pretty basic, the robot cleaner has no clue about the layout of the room, where he already was, and what it still needs to clean. Also more complex places like table and chairs (every time in another position) are still handled more or less random, and not precise enough due to the size of the robot cleaner.

So for my project I had this idea: what about a flock or swarm of robot cleaners of smaller size than usual, which are aware of the room layout, learn the changes in the room layout, and most of all aware of each other, and of the paths the other ones already walked (which reduces the cleaning redundancy of portions of the floor)

The to-do list ist quite big so lets just start:

  1. Start off with a simple robot, which connects via WiFi to the router or PC.
  2. Decide on the sensors needed to map the room, the path and the obstacles
  3. Build at least two more robots.
  4. Build a “Mothership” application on the PC, which connects all of them and centralizes the information from each of them

Starting with the first part, I decided to go with a simple DIY package, the NodeMCU Lua ESP8266MOD car which consists of the NodeMCU dev board, the ESP8266 wi-fi module to connect to other devices as access point or directly to the router. Also a motor driver, wheels and motors are available, so the start was simple.

For now the car is in AP mode, it lets a smartphone connect to it and send commands from an app.

Next I will connect the car to the router and try to control it from the PC via the router.

Still a lot to do. I will post my progress, as soon as it’s worth mentioning 😉  …

Toothless (Final)



It always takes a little time until I finish my works, but I finally made it.

From my last post, the next step was painting the background, clouds, mountains, rock, etc.

Then I had to create back spikes from silicone, since the led strip from the back had still to be visible through the spikes.  I added also the electronic parts: light resistor on the right wing, proximity sensor on the nose, side uv led strips and 2 blue leds in the mouth.

Finally the painting looks like this:


Toothless (Base form)


I guess there are not many kids theese days who don’t know him: Toothless from  “How to train your dragon”. I thought I give it a try, since after the firefighter truck for my son, my daughter now also wants some “light effects” in her room.

So the original ideea was to create a Toothless model from the 2nd movie, which can also light up in blue. The final model will be a painting around a toothless model, with blue leds in the mouth to simulate the plasma, a short blue led strip on top of Toothless to light up the spines, 2 uv blacklight led strips on the side to simulate the light on the scales (which will be painted with blacklight paint) a photoresistor which detects day/night (at night it will turn on a night light by default) and an infrared distance measuring sensor on its nose, as a trigger for the “plasma” and to cycle through all programs.

So I started to model the dragon in Blender, and prepared it afterwards for printing in Pepakura. After some hours of work it was cut out and sticked together.

The next step was a layer of paper mache for it to get stronger, and some black spraypaint as the base color.

Then I used some almond seeds and again paper mache to make the teeth. And for the eyes I used a part from a plastic bottle and the printed eyes.

Now for the electronic part, I started to put everything together on a board. Mainly an Arduino Pro Mini will do all the tricks described at the beginning. It is easy to use and can be easily reprogrammed if changes are needed. I just really need to work on my electronics layout and soldering skills 😉

After putting it all together, it looks like this:

Like the title says, this is only the first stage I tried to finish before the vacation. It still needs a lot of work.


  • paint details on Toothles (nicer teeth, scales, uv paint, edges of eyes, edges of mouth, spines etc.)
  • paint the background (mountains, rocks, tree, sky) and the rock it stands on
  • put all lights on and wire all the electronics together

Automatic plant growth lamp

Having some leds lying around lazy, I had to put them to work 😉

This is just a quick side project. We have a lovely hibiscus home which has quite a high sentimental value to us. But sadly it hardly got any flowers. I thought it is time for a little help.

I read some articles which point out that wavelenghts of 630 nm (red) and 460 nm (blue), are very good for the growth of a plant.  70% red, 30% blue would be ideal for getting flowers and a strong plant. This matches almost to the point the wavelenghts of the led strip I got.

Next I wanted to preserve the day-night cycle which a plant needs, which schould remain the real day-night cycle. For that puprose I developed a little light sensing electronic part, which turns the leds on if it is day outside, and back off at night.

Hope we get some flowers soon 🙂