ESP8266 – Ikea Molgan light Hack – Software and actual usage.

After hacking the hardware, the next part is programming the firmware.

The basic flow control is simple.

  1. boot
  2. log on wifi
  3. get time from NTP server (pool.ntp.org)
  4. format text with timestamp
  5. log on to MQTT broker
  6. publish formated text to MQTT broker
  7. go into deep sleep.

Full source available on GitHub.

MH6After I have a decently working firmware, it is time to put everything together. I added a capacitor to the power rails to stabilize and eliminate false trigger. I think the sudden power draw by the ESP8266 somehow caused the BISS0001 to reset and kept the light on.

MH7

I have to trim off some plastic to fit the everything into a small package.

Molgan_hack

Looks complete and nice as a package with it’s cover is on.

MH8

Everything works almost perfectly but I think it will be more practical to run it off a wall plug, As I can imagine that the battery would last less than 2 weeks in this config, that will limit it’s usefullness.

MH9

I set up mqttwarn to push notification to my phone and computer (pushbullet) whenever motion is detected by the PIR.

 

8 thoughts on “ESP8266 – Ikea Molgan light Hack – Software and actual usage.”

    1. The cap is what I have on hand, it some what helped to prevent the ESP8266 to reset when the PIR is activated. You won’t need it if you have a proper regulator for 3.3v.

    1. New alkaline batt in use since the 29th March, all the ultra bright LEDs on the PIR and the red power LED on the ESP8266 has been removed.
      Updated the code to put the ESP8266 into deep sleep after 4 reconnects, preventing it running the batteries flat in cases where the AP is down or not connectable for some reason.

  1. Hi,

    I have an issue with the PIR … it’s in ON state because of the ESP’s radio
    If the ESP is at 50 cm away from the PIR, the LED is off … if the ESP it’s closer then the PIR turn on the LED

    any thoughts ?

Leave a Reply

Your email address will not be published. Required fields are marked *