March 13, 2018

New Hardware: Micro SD Cards, ReSpeaker 2-Mics Pi HAT and Xiaomi 3G Router

This post is just like a ubiquitous YouTube "mailbag" video only without a video feed and without a sound track. In the space of a few days, I have received, from far, far away, five 8G micro SD cards, two ReSpeaker 2-Mics Pi HATs and a Xiaomi Mi WiFi 3G router [...more]

March 2, 2018

The cthreads Unit in Linux (Free Pascal)

Pursuant to the previous post, this is another short note about enabling threads in Free Pascal programs for the Unix/Linux environment. [...more]

February 24, 2018

Running a Process in a Thread (Free Pascal)

Another Free Pascal short note about running a process in a thread. In it I show how the aplay utility can be launched to play a wav file in a thread so that the application GUI remains responsive and it becomes possible to stop aplay at any time [...more]

February 23, 2018

Installing and Updating Free Pascal and Lazarus with fcpupdeluxe

This is just a short note about using FCPUpdeluxe to upgrade or install the Free Pascal Compiler and Lazarus IDE and LCL on a Linux system. I assume that it would be mostly the same on a Windows system. [...more]

February 17, 2018

The Yahoo! Weather API with Free Pascal

Mea culpa for a very local solution to getting weather reports in a previous post which would have been of interest to only a few. Here is a solution using Yahoo! YQL queries with a potentially wider audiance [...more]

February 7, 2018

Music on Console with Armbian on an Orange Pi Zero

This post is all about using the Music on Console (MOC) audio player on an Orange Pi Zero running Armbian. In other words it is a continuation of the previous post wherein MOC replaces the Music Player Daemon (MPD) which could not quite handle some streams running at higher bit rates. [...more]

February 2, 2018

Spoken Weather Forecasts and Internet Radio on the Orange Pi Zero with Armbian

These last few days I have been improving my home automation assistant based on experience gained from using the Google Home Mini. While not at all anticipated, the latter's ability to play radio stations has proved useful. It has also been helpful to get weather information with Google Home. Accordingly I wanted to add similar capabilities to my DIY project running on the Orange Pi Zero [...more]

January 18, 2018

Voice Recognition on the Orange Pi Zero (DietPi Armbian)

I installed two Python libraries for voice recognition on an Orange Pi Zero running DietPi. The libraries are the hotword recognition engine snowboy from KITT.AI and the excellent SpeechRecognition library by Anthony Zhang (Uberi). It provides a uniform Python interface to many speech recognition engines. I have tested with two online services: Google Speech Recognition and Microsoft Bing Voice Recognition as well as with the off line engine Pocket Sphynx from Carnegie Mellon University. I wrote this back at the end of November, I don't recall the reason I delayed putting it up. [...more]

January 18, 2018

Google Home Mini with Domoticz using IFTTT

I have finished translating the corrected post on the use of the Google Home Mini as a home automation voice assistant. The original text was published a week ago and considerably modified since then to remove a bad suggestion on my part that compromised the security of the home automation system. [...more]

January 15, 2018

Installing the Brother DCP-7040 Scanner in Ubuntu 17.10

This is a happy day! I finally managed to get the scanner of the Brother DCP-7040 working in Ubuntu 17.10. [...more]

January 10, 2018

Google Home Mini with Domoticz using IFTTT

Taking advantage of a half price sale before the holidays, I bought the Google Home Mini. Unfortunately, Google Home no longer supports Sonoff switches programmed with Theo Arends' Tasmota firmware. On the other hand, it is possible to create applets with IFTTT to send HTML requests to the Domoticz server and thus control home automation devices with voice commands [...more]

January 2, 2018

Removing Nuisance Messages in Raspberry Pi Syslog

This is a short follow up on a previous blog about using a Raspberry Pi as a remote log server. Using information posted by knowledgeable persons, I removed the source of what turned out to be spurious error messages that were filling up the log... [...more]

December 14, 2017

Python 3 virtual environments

As I have been trying to learn Python by dabbling with voice recognition and home automation project, it has become obvious that I had to familiarize myself with virtual Python environments. The principle is not difficult, but I ran into practical problems. This post, more than two weeks in the writing, describes how I now manage and use virtual environments on three different Debian based Linux distributions. [...more]

December 4, 2017

Baby Bluetooth Steps on Raspberry Pi 3 - Raspbian (Stretch)

A chance meeting with cheap Bluetooth portable speakers with hands free capabilities led to a grand scheme to use them to talk to vocal assistants with the help of a Raspberry Pi 3. Before going ahead with the project, I had to learn the basics of using Bluetooth in Raspbian (Stretch). Here is a description of my first steps in this arcane world. [...more]

November 27, 2017

Serial Connection with the Orange Pi Zero

Today I had a good reason to test the debug UART port which is next to the RJ45 connector on the Orange Pi Zero. I really like this method of connecting to the headless OPiZ, so I wrote a short note about it [...more]

The cause of all this was an upgrade of Armbian that for some unknown reason went haywire. The system became unusable. I had to update the post about dietPi on the Orange Pi Zero.

I also updated my first post about the OPiZ to mention that ssh is not the only way of logging on the board initially.

November 22, 2017


  1. The following posts have been updated: Some ESP8285 and ESP8286 based devices, including newer versions of ITEAD products such as the Sonoff switches, contain flash memory that can be accessed only in DOUT mode. This implies a change in the parameters used with the flashing script or with the Arduino IDE flashing tool. Thanks to Sébastien Giroux for reminding me to update these older instructions.
  2. I stumbled on the precompiled binaries of sonoff.ino by Theo Arends. I thus corrected my November 17 update of Flashing a Sonoff with a Raspberry Pi to indicate that ITEAD Sonoff product can be flashed with Theo Arends' latest offering, Sonoff-Tasmota, with a Raspberry Pi without installing the Arduino IDE
  3. Firefox Quantum 57.0 has become available on Ubuntu and I mechanically updated. Not a good idea... I lost all my bookmarks and my last backup was quite old. Shame on me. Hope readers of this do better. Also, an older post A Domoticz application in Linux is now out of date. Maybe I will be able to look into updating it in the coming weeks.
  4. The updating of the CSS style sheet continues. The boxes showing terminal sessions now use an almost black background which more closely resembles what is seen on screen. Hopefully, that is an improvement although it does make the pages look a bit more busy.
November 16, 2017

Hotword Detection with snowboy on an Orange Pi Zero running DietPi

The novelty of talking with Mme Google has worn out, it is time to do something practical with voice recognition. Furthermore, who wants an open microphone streaming all sounds in the house to the outside world? I would prefer so called "hot word" recognition to be done locally. I had problems installing snowboy from KITT.AI. Fortunately, some clever people had already found solutions [...more]

November 8, 2017

Raspian from for the Orange Pi Zero

The maker of the Orange Pi Zero makes available a number of images of operating systems. I installed Raspian server found on I was not impressed it, but I could be wrong of course. In any case, I returned to DietPi. [...more]

November 6, 2017

Google Assistant on an Orange Pi Zero running DietPi

Following excellent instructions found on the web, I managed to install Google Assistant on the Orange Pi Zero running the latest version of DietPi. [...more]

November 5, 2017

Domoticz on an Orange Pi Zero, a First Look

The original October 18 post written in French is now available in English. [...more]

October 31, 2017

Updating to Sonoff-Tasmota

Updating to Sonoff-Tasmota by Theo Arends has come around a lot faster than projected. At the same time, it was possible to update to version 2.4.0-rc2 of the Esp8266 Arduino Core which is one more step in preventing a key reinstallation attack (KRACK) [...more]

October 22, 2017

Syslog Server on Raspian

Theo Arends' replacement firmware for the Sonoff WiFi switch logs error and information messages to the serial port and to its webserver by default. It can also log debug messages, and send all these messages to a syslog host where they will be stored to be reviewed later. However logging errors is not the default behaviour and so I decided to enable it. As my home automation server is a Raspberry Pi running Debian, it makes sense to use its default syslog daemon rsyslog. [...more]

October 18, 2017

Domoticz on an Orange Pi Zero, a First Look

Curious, I bought another single board computer, the Orange Pi Zero. As a first test, I installed the home automation software Domoticz on it over Armbian. I also installed mosquitto, the MQTT server. Here are my first impressions of how it all works [...more]

October 17, 2017


Since the end of May, the company hosting my website has been providing SSL certificates (OpenSSL from The site can be browsed securily with the HTTPS protocol. That should inspire confidence; the little green padlock is now visible in the address bar. There was a catch, the style files and images were no longer found when viewing files in sub-directories. A solution had to be found. [...more (in French)]

I took the opportunity to reorganize the site. Updating the site had become a daunting task. New directories have been added, HTML files have been moved, and file names have been changed. I hope that the permanent redirection I have added will make the transition as smooth as possible.

October 1, 2017

An Update and Small Change

The post on Flashing a Sonoff from a Raspberry Pi was modified to insist on the need to turn the Sonoff on and off after flashing. The script used to upload the firmware cannot perform a hard reset of the ESP8266 when used as described.

There is now a little envelope icon after my name at the bottom of each page. It should be clearer that these are links to send e-mail messages with questions or suggestions. These links start your default mail client and fill in the subject line with the name of the HTML file containing the link making it easier to identify what your comment or question is about.

September 28, 2017

Another ESP8266 NodeMCU Development Board - UPDATE

In the original September 19 version of the post, I made an important error. Further tests, showed that the board does not boot when powered up from the VIN pin. Hopefully, the seller or manufacturer of the board can help resolve this problem and I suspect that I will be rewriting the post once I get more information. For some users (including myself), this is a significant factor which may tip the scales when comparing the board to the WeMos D1 mini which is not subject to this problem. [...more]

September 19, 2017

Another ESP8266 NodeMCU Development Board

I have purchased a new ESP8266 NodeMCU development board. I compare the latest Geekcreit/DOIT board to the Wemos D1 mini which I have been using up to now. Both based on the "orignal" NodeMCU development kit, they are quite similar but they do offer an interesting tradeoff. [...more]

September 11, 2017

A Better ESP8266 Loop Watchdog and Better Recovery

This post continues with improvements to the third loop watchdog introduced in the previous post. But most importantly, it provide a useful technique to recover in a hands-off way to watchdog timeouts and exceptions. [...more]

August 28, 2017

Arduino Sketch Managed ESP8266 Watchdog

Adding a third watchdog is a good idea for some ESP8266/Arduino based projects. That's because it is very easy to write code that feeds the built-in watchdogs but nevertheless goes off the deep end. The task of this watchdog is to ensure that the Arduino loop is executed regularly. [...more]

August 26, 2017
Updated: August 27, 2017

ESP8266 Watchdogs in Arduino

While the hardware and software watchdog timers of the ESP8266 are essential, they are not sufficient to ensure the kind of reliability needed in an IoT device. In a future post, I will discuss how to implement yet a third watchdog to further improve the dependability of the firmware programmed into this chip. In the mean time, I thought it would be useful to discuss watchdogs in general and to delve into some of the details of the ESP8266 watchdogs. [...more]

July 3, 2017

Temperature Sensors - Take 2

This post contains a corrected Python script for reading the temperature and relative humidity from a DHT11 sensor and sending them on to a Domoticz server. Bogus values will not be passed on when it is not possible to read the sensor. The second topic of the post is human comfort as it relates to relative humidity and temperature. This is groundwork for controlling an air exchanger and a dehumidifier in the future. [...more]

June 25, 2017

Temperature Sensors on a Raspberry Pi hosting Domoticz

This post explains how to connect a DHT series temperature and humidity sensor on the Raspberry Pi GPIO and how to monitor its values in Domoticz, a home automation server hosted on the same Raspberry Pi. There are plenty of descriptions on the Web on how to do this. But most assume that the default One-Wire GPIO pin will be used. Unfortunately, I could not use that pin. To increase the post's value-added, I also describe how to monitor the temperature of the Raspberry Pi [...more]

June 22, 2017

Two updates

First, the sidebar about the use of an independent power supply for the Sonoff in the post entitled Flashing a Sonoff with a Raspberry Pi was confusing. Hopefully, the new version is an improvement. Thanks to Robin de Kruyf for pointing out that deficiency. Second, I updated my Lua script for handling MQTT messages from Domoticz in the January 30th post NodeMCU, MQTT and Domoticz - part 2. Turns out that the CJSON module has been replaced with the SJSON module.

June 3, 2017

Workflow when Working with a Headless Raspberry Pi

The missing second post in the new series about home automation with Domoticz on a Raspberry Pi is finally added. I explain how I use FileZilla to more easily modify files on the Raspberry Pi. The instructions on making backups have been moved to this post [...more]

June 1, 2017

Motion and Dusk Sensor with CM11A in Domoticz

This post explains how I added the X10 ActiveEye Motion Sensor (outdoor model MS16A) to a Domoticz home automation server running on a Raspberry Pi. The latter is linked to the sensor through a CM11A serial computer interface and a RR501 transceiver. It is a reworked version of Adding an ActiveEye Motion Sensor that showed how the same sensor was used with a wireless CM19A computer interface [...more]

May 31, 2017

X10 RF controller with a CM19A Interface in Domoticz

This post shows how to use an X10 PalmPad Remote Control to manually control a lamp connected to a Sonoff WiFi switch from ITEAD. This is a continuation of the previous post about the necessity of providing a way of manually turning on and off lamps connected to Sonoff WiFi switches [...more]

May 30, 2017

MQTT with Domoticz

This post continues the new series about home automation with Domiticz and ESP8266 based hardware showing how I installed an MQTT broker on the Raspberry Pi and how it is used with the home automation software [...more]

May 27, 2017

X10 Dimmer Switches with a CM11A Interface in Domoticz

This post continues with the building of a home automation system using legacy X10 hardware with Domoticz on a Model B Rev 2 Raspberry Pi. At the end of the post, it will be possible to add fully integrated X10 LM465 Lamp (dimmer) module. Unfortunately, the Lua script may not work with newer (post 2007) lamp modules [...more]

May 23, 2017

X10 On/Off Switches with a CM11A Interface in Domoticz

This post continues with the building of a home automation system using legacy X10 hardware with Domoticz on a Model B Rev 2 Raspberry Pi. At the end of the post, it will be possible to add fully integrated X10 on/off modules. [...more]

May 20, 2017

Domoticz on a Raspberry Pi - "Déjà Vu All Over Again"

This is a detailed description of installing the Raspbian operating system and the Domoticz home automation server on a Model B Rev 2 Raspberry Pi and on a Pi 3 Model B. This is the first in a series of posts about DIY home automation using legacy X10 hardware and using the newer, cheaper, and in my opinion better ESP8266 based hardware [...more]

May 19, 2017

Over the Air Sonoff Flashing

One of the very useful features of the Sonoff-MQTT-OTA-Arduino firmware for Sonoff switches by Theo Arends is its ability to update itself over the air (OTA). Here is how to use this very usefull capability especially once a switch is being used [...more]

May 19, 2017

Flashing a Sonoff with the Arduino IDE (2)

This follows the May 15th post, showing how to flash the Sonofo-MQTT-OTA-Arduino - TASMOTA firmware from Theo Arends on a Sonoff switch Wifi. TASMOTA is complete and makes adding the switch in the home automation program Domoticz very simple. [...more (in French)]

May 17, 2017

Flashing a Sonoff with the Arduino IDE (1)

There is nothing very new here. I show how to upload a sketch in a Sonoff WiFi switch from the Arduino IDE. The steps described are a) Installation of the Arduino IDE in Ubuntu; b) Preparation of IDE; c) Serial port access; D) USB-serial connection with the Sonoff switch and e) Uploading a Blink sketch [...more (in French)]

May 15, 2017

Real Time Clock, DS3231, for Domoticz on the Raspberry Pi

Since the Raspberry Pi does not have a physical clock, schedules events triggered by the time of day will not work properly in Domoticz if access to the Internet is lost during a power failure. The obvious solution is to install a hardware real-time clock (RTC) [...more]

April 26, 2017

Local Control of Sonoff Switches

Occasionally it is convenient to control devices with a smart phone or tablet,or even a desktop computer. But, very quickly, one tires of having to use such a device to simply light a lamp. I will describe how I added manual switches to control two bedside lamps connected to Sonoffs... [...more]

March 14, 2017

Translating Console Applications in Free Pascal

Lately, I noticed that DefaultTranslator and LCLTranslator cannot be used to select a language in a console applications. They pull in the complete LCL package and the SetDefaultLang wants to translate all of the forms in the project even as there are none. So I decided to rip out the form updating code in LCLTranslator and to save that modified version in a unit called UnitTranslator [...more].

I found this out when looking at the tcalc demonstration program for my simple parser. I have updated that project accordingly [...more]

February 12, 2017

Adding an ActiveEye Motion Sensor

This will be one of the last posts about X10 hardware I should think. It shows how to add the combined motion and light sensor to Domoticz. [...more]

February 12, 2017

BlitzWolf SIC1 Wifi Surveillance Camera... Again

This is another short post with additional information about the camera, its software and firmware. [...more]

February 10, 2017

Conditional timers in Domoticz

The Decemter 17th blog on conditional timers in Domoticz was updated. Phil (user PhillChillBill on the Domoticz forum; sorry, I don't know his last name) has written a Perl script to automate the process by creating the bash script I described before. [...more]

February 9, 2017

USB-Serial Converter, Counterfeit or Not?

The USB-TTL converter ordered on the 27th of November finally arrived yesterday. Initially, it would not work with to flash an ESP8266. Was the converter harbouring a counterfeit chip? In the end, I did find a way to make it work as I wanted [...more]

February 1, 2017

Sonoff, NodeMCU and Domoticz

An ITEAD Sonoff WiFi switch with NodeMCU firmware is added to the list of devices controlled with the home automation software Domoticz [...more]

January 31, 2017

Emulating a Sonoff Switch with a Wemos D1 mini

I still have not received the USB-TTL (3.3V) cable to flash and program Sonoff WiFi Switches. Using the Rapsberry Pi as I did to flash the switches is too cumbersome for software development. Si I decided to emulate a Sonoff with a WeMos D1 mini. [...more]

January 31, 2017

Flashing a Sonoff Switch with a Raspberry Pi

I decided to rewrite the January 23rd posting and to tranlate it into English. It now shows how to use a Raspberry Pi (instead of USB-TTL cable (3.3V) cable) to flash a Sonoff WiFi Switch from ITEAD with one of three firmware: Sonoff-MQTT-OTA-Arduino (TASMOTA), Sonoff-MQTT-OTA and NodeMCU. Full integration of the switch with Domoticz is achieved with the first one without any programming of any sort [...more]

January 30, 2017

NodeMCU, MQTT and Domoticz - part 2

This post continues the exploration of NodeMCU, MQTT and Domoticz begun on the 15th and 17th of January. The subject is how to subscribe to MQTT messages in NodeMCU so as to perform a task based on messages published by other devices to the MQTT broker. In particular a virtual switch in the home automation software will set the WeMos D1 Mini LED on or off [...more]

January 23, 2017

Flashing a Sonoff Switch with a Raspberry Pi

The USB-TTL cable (3.3V) ordered from China in December is still in transit. My impatience is such that I decided to use a Raspberry Pi to flash a Sonoff switch. I managed to flash two Sonoffs and I can happily report that no Raspberry Pi nor Sonoff was hurt in the process. And the good news is that it takes about ten minutes to program the second: five minutes to solder a connector and five minutes to flash the Theo Arendst firmware: Sonoff-MQTT-OTA. Here are the details [...more (in French)]

January 17, 2017

NodeMCU, MQTT and Domoticz - part 1

This post continues with the previous one. In it I show how to establish a WiFi connection and how to update a device (a temperature sensor) in the home automation software Domoticz. This is done in two ways: using an MQTT broker and directly using an HTTP request [...more]

January 15, 2017

Wemos D1 mini and NodeMCU

When I purchased my first ITEAD Sonoff WiFi switches, I also got a Wemos D1 mini board. I thought using a ESP8266 development kit would be a good way to prepare for hacking the switches. In this post, I relate how I learned to program the ESP8266 using a tool chain made up of NodeMCU firmware and Python command line utilies: esptool, nodemcu-uploader and miniterm. [...more]

January 13, 2017

Using the BlitzWolf SIC1 Camera in Domoticz

Domoticz uses video cameras as if they were photo cameras: one image at a time. Many security video cameras can snap a photograph even as they send out a video stream. Unfortunately, in the case of the Blitzwolf BW-SIC1 camera, this requires use of the ONVIF api which, apparently, Domoticz cannot do. There seems to be no choice but to write a bash script to pull a frame from the camera's video stream [...more (in French)]

January 12, 2017

Setting up the BlitzWolf SIC1 Wifi Surveillance Camera

Setting up the BlitzWolf BW-SIC1 Wifi surveillance camera with the BlitzCam application on a Windows computer [...more]

January 3, 2017

First use of the BlizWolf SIC1 security camera

The BlitzWolf BW-SIC1 wireless surveillance camera has interesting features with respect to its relatively low price. Unfortunately, the instructions accompanying this unit are almost incomprehensible. In addition, they contain no information about its use with the Linux operating system. Luckily, it transmits its video streams with the RTSP protocol, so it can be seen and recorded with standard software in Linux. [...more (in French)]

December 19, 2016

Add MQTT to Domoticz

This short page is a draft of a post on how Domoticz interacts with the MQTT broker. No real device is added to my setup, this is merely prepatory work in the vein, "I should write about this to learn about this" [...more]

December 19, 2016

Add an MQTT Broker to the Raspeberry Pi

MQTT is a communication protocol first proposed in 1999 but now becoming ubiquitous with the so called Internet of Things. In this post, I look at the protocol and add an MQTT Broker to the Raspberry Pi [...more]

December 17, 2016

Conditional Timers in Domoticz

What I needed was to have lights turn on and off at "usual" times to simulate an inhabited house when no one is at home. I felt that was an important aspect of the prevention side of home security. It turns out there is more than one way to achieve this. There follows a detailed description of the approach I am currently using [...more]

December 13, 2016

X10 with Domoticz on a Raspberry Pi (Domespic)

A description of how I use X10 hardware with the home automation software Domoticz running on a Raspberry Pi. I installed both the Heyu serial bridge and the Mochad TCP bridge to communicate with X10 computer interfaces (CM11A, CM15A and CM19A). After the introduction, the first part describes the hardware and software used. The second part shows how to install and configure Raspbian (Jessie Lite). The third part is about the installation of the gateways. The fourth part covers the installation of Domoticz and the integration of the bridges. Additional topics, including remote access through Tor, are found in the last part. [...more]

August 30, 2016

Conversion of measurement units

Free Pascal's run time library contains Delphi compatible units ConvUtils and StdConvs. Unfortunately, both units contain a few errors. Lately, I have attempted to fix the code and hope to eventually submit these corrections for inclusion in a future version of the compiler [...more]

July 13, 2016

One Pass Mathematical Parser

While porting code to FreePascal/Lazarus, I have made some changes changes to the mathematical expression parser I initially wrote in Delphi. The one pass parser for Free Pascal is complete, so is the documentation [...more]