DONOFF – WiFi enabled light dimmer

[ 336 views ]

Part-1 – Introduction

Years ago I started building RF devices to measure temperatures and switching lights on or off. I even wrote a small book (in Dutch) about my findings and experiments. But I always wanted to overcome the main disadvantage of RF devices: no feedback about the status of the lights. I thought that could be done better and with the introduction of the small ESP8266 WiFi enabled processors it could! But SONOFF beat me with there WiFi enabled switches. One great disadvantage of the SONOFF devices is the poor software. To make the switches usable you have to upload third party (mainly Open-Source) firmware and install a Home-Automation solution to control the switches. Another disadvantage of the SONOFF switches is .. well they are switches (Switch On Off). So there is room for improvement!
 
Albeit: I introduce to you: DONOFF (Dimmer On Off)!

Project goals

The goals of this project is to make an ecosystem that is self sustained. So: you don’t need a Home-Automation system to control the DONOFF devices! Also, there is no substitute for a physical switch (ask your spouse)! You can attach an external toggle– or push-switch to the DONOFF hardware with which you can either switch the light On or Off (toggle-switch) or, with a push-switch, you can switch the light On or Off and dim-up and dim-down by long-pressing the (push) switch.
Every DONOFF has a web-server on board that you can use directly from any (Javascript enabled) browser. Accessing the web-server on a browser gives you the control page for this device:
 

I will, in four parts, explain how you can build and use this DONOFF ecosystem.

Keep on reading

Posted in Arduino, DONOFF, ESP8266, Hardware, SONOFF, WiFi | Tagged , , , , , , , , , | 4 Comments

DONOFF – WiFi enabled light dimmer (Part 2)

[ 188 views ]

Part-2 – The Electronics

This is part 2 of the four parts posts about the DONOFF ecosystem.

• Part 1 – Introduction
• Part 2 – The Electronics (this part)
• Part 3 – The Firmware
• Part 4 – Building a DONOFF device

In the first part I introduced the DONOFF ecosystem and the design goals.
In this part I will try to explain the electronics.

The hundreds of posts on the internet about mains dimmer designs all use a triac to cut-off part of the sine waves of the AC mains. Some do this by leading-edge cut-off, where the first part of the sine wave is cut-off:

Another method is by trailing-edge cut-off where the last part of the sine wave is cut-off:

As elegant and nice as these solutions may be, they only work with resistive loads (incandescent lights). You can, at least in the Netherlands, no longer buy incandescent lights and in the near future the only lights available will be LED lights.

You cannot dim LED lights by either trailing- or leading-edge cut-off! But (dimmable) LED lights can be dimmed with Pulse Wide Modulation (PWM). PWM switches the power to the LED light on and off at a (relatively) high frequency.

The DONOFF hardware uses this PWM to dim the (dimmable) LED lights but PWM can also be used to dim incandescent lights (So as a bonus, DONOFF can also dim incandescent lights).

Keep on reading

Posted in Arduino, DONOFF, ESP8266, Hardware, SONOFF, WiFi | Tagged , , , , , , , | Leave a comment

DONOFF – WiFi enabled light dimmer (Part 3)

[ 215 views ]

Part-3 – The Firmware

I will, in four parts, explain how you can build and use this DONOFF ecosystem.

In the previous parts I introduced the DONOFF ecosystem and the electronic design.
In this part I will present the firmware.

Prerequisite

You need the following to be able to compile and upload the DONOFF firmware to the ESP-01 board:

  • The Arduino IDE
  • The ESP8266 extension (2.4.2)
  • The ESP8266 Sketch Upload Tool installed
  • The PUYA patch

Most of the ESP-01 boards now for sale have a flash-chip that has some problems regarding reading the flash content. There is a temporary patch to overcome these problems (see here). It is absolutely mandatory that you install this patch in your toolchain!

Keep on reading

Posted in Arduino, DONOFF, ESP8266, Hardware, SONOFF, WiFi | Tagged , , , , , , , , | Leave a comment

DONOFF – WiFi enabled light dimmer (Part 4)

[ 188 views ]

Part-4 – Building a DONOFF device

I will, in four parts, explain how you can build and use this DONOFF ecosystem.

In the previous parts I introduced the DONOFF ecosystem.
In this part I will show you how to build a DONOFF device.

Warning: Any circuit that deals with MAINS VOLTAGES is inherently dangerous, and you should NEVER handle mains voltages unless you know exactly what you are doing. The DONOFF circuit is purely theoretical and offers no isolation or any safety features, and therefore, without modification, it does not constitute a safe circuit, or having practical applications outside serving as a proof-of-concept.

DONOFF dimmer PCB
If you still reading this I have one more warning: Whatever you do, do not build this circuit on a broad board!
You can build it on an experiment-board (use a board with pads on both sides) with proper soldering. But the best way by far is to use a dedicated PCB.

Keep on reading

Posted in Arduino, DONOFF, ESP8266, Hardware, SONOFF, WiFi | Tagged , , , , , , , , , | 2 Comments

Aan de slag met de ESP8266

[ 1,271 views ]

In deze post beschrijf ik hoe je de Arduino IDE voor de populaire ESP8266 processor-bordjes geschikt kunt maken. Hoewel al deze informatie gewoon van internet af te halen is blijkt het voor veel mensen, die de Arduino IDE of de ESP8266 bordjes net ontdekt hebben, overweldigend.

De ESP8266

De ESP8266 is een goedkope microprocessor met Wi-Fi mogelijkheid en een volledige TCP/IP stack. De ESP8266 is ontwikkeld en wordt geproduceerd door de Chinese fabrikant Espressif Systems uit Shanghai.
Door de geïntegreerde WiFi mogelijkheid is deze microprocessor in korte tijd razend populair geworden. In eerste instantie omdat de chip werd gezien als een goedkope mogelijkheid om een Arduino bordje van WiFi te voorzien, maar al snel kwamen de echte nerds (and I say nerds with the utmost respect) erachter dat de ingebouwde microprocessor en de hoeveelheid beschikbare (flash) geheugen de capaciteit en mogelijkheden van de Arduino bordjes verre overtrof.

Ga verder met lezen

Posted in Arduino, ESP8266, Geen categorie | Tagged , , | 5 Comments

Slimme Meter uitlezer

Slimme Meter uitlezer

[ 7,541 views ]

Zo langzamerhand zijn alle huizen in Nederland uitgerust met een “Slimme Meter”. Hoog tijd dus om een project te starten om deze Slimme Meter thuis uit te kunnen lezen en de gegevens op een door jouw gewenst formaat te presenteren.
In deze blog-post beschrijf ik hoe je, eenvoudig en voor weinig geld, zelf deze DSMR-logger (DSMR is een acroniem voor “Dutch Smart Meter Requirements“) kunt maken. Bij het ontwikkelen van de DSMR-logger willen we het volgende bereiken:

  • De hardware moet eenvoudig en goedkoop gemaakt kunnen worden;
  • De firmware van de DSMR-logger moet “Over The Air” ge-update kunnen worden;
  • Een beperkte historie moet intern opgeslagen en bewaard worden;
  • De DSMR-logger moet via een externe terminal benaderd kunnen worden (telnet);
  • De (historische) gegevens moeten via FTP van de DSMR-logger afgehaald kunnen worden voor eventuele externe bewerking [update: zie aan het einde van deze post];
  • De DSMR-logger moet via een browser de gegevens uit de Slimme Meter presenteren;
  • De gegevens moeten via een REST API opgevraagd kunnen worden;
  • De gelezen gegevens moeten eenvoudig verder verwerkt kunnen worden.

In een vervolg blog-post laat ik zien hoe we de gegevens naar een MQTT-broker kunnen sturen en hoe Home-Assistant moet worden geconfigureerd om deze gegevens in Home-Assistant te presenteren.


Ga verder met lezen

Posted in Arduino, Computer, ESP8266, Hardware, WiFi | Tagged , , , , , , , , , , | 81 Comments

Eenvoudige Programmer voor de ESP-01 (ESP8266)

[ 442 views ]

Simpele ESP-01 Programmer

Om de ESP-01 te kunnen programmeren heb je een programmer nodig. Een andere, goedkope oplossing is, als je al een Arduino hebt, een speciaal programma in een Arduino-UNO te laden en dan met losse draadjes een aantal aansluitingen te maken tussen de Arduino en het ESP-01 bordje (zie bijvoorbeeld “hier”).
Je moet dan wel, iedere keer dat je een ESP-01 wilt programmeren, de juiste software op de Arduino-UNO laden en de correcte aansluitingen maken. Veel gedoe en een kans op fouten.

Makkelijker is het om een “ESP-01 to USB Adapter” te kopen en hier een kleine modificatie op aan te brengen.

Ga verder met lezen

Posted in Arduino, Computer, ESP8266, Hardware | Tagged , , | 1 Comment