Downloadpage for a smart home.

Making a smart home is fun. You could run a slowly changing lightshow.

Or make a binary clock and add a number of sensors.


A Raspberry Pi Zero W with Gforth under Linux is a nice start.
The Raspberry Pi Zero W is a small single-board computer with a WiFi and Bluetooth connectivity.
The installation takes some time. See the Installation Guide in
domotica_v47.zip.

For simple tasks is an ESP-12F or ESP32 used with an extended version of cforth of Mitch Bradley.


For Gforth on a Raspberry Pi :

Download domotica_v4701.zip ( Last update: November 10th, 2022)
This pack contains Web-server-light.f with examples to make a smart home. Here is how my main index looks when the sensorweb is included:

Minor changed in various updates of Gforth might lead to problems.
It should run Gforth version 0.7.9_20200910 and was last testet on version:
0.7.9_20220713 under the Bullseye on a Raspberry zero
Download it
here, unzip the zip file and follow the included Installation Guide
I use the pack to control and monitor various devices such as:
Some lights, a thermostat, a window, TV, amplifier and a set-top box. No cluttering of all kinds remotes anymore.
There is also no need to wave or talk to your installation.
Controlling your installation be done in such a way that you are served by these devices with minimal intervention.
To see what is happening or to intervene a web browser on a Mobile phone, tablet, PC etc. can be used. (not the Edge)
Multiple Raspberry Pi's can be maintained in a small local network. See: 
https://youtu.be/xlzHTPlj8bo for a demonstration.
A number of utilities including the webserver can also be used in Win32Forth version 6.15.05 or better. Read the Installation Guide for the details.
Files starting with an underscore can be used to compile a complete webserver-light application.
Special features under Gforth for machine-to-machine communications:
- Runs a webserver and UDP-server in preemptive threads.
- SendTcp ( msg$ cnt #server -- )
- SendUdp { msg$ cnt #server -- }
- SendConfirmUdp$ ( msg$ cnt #server -- flag )

The most important change are:
Uses recv instead of read-socket in the webserver under Linux.
- A browser should send a packet within 300 MS.
Otherwise, the accepted socket is ignored. (No packet received)
This prevents that a webbrowser the server hangs.
- Added: f# and $find


Extra sources for Gforth:

NOTE: The following downloads are extensions for Gforth. They also need the files in domotica_v47.zip

Download sensorweb_v17.zip (Last update: November 10th, 2022)
Used to monitor, log, collect or sent the measurements of several sensors.
Here a BME280 SNS-MQ135  LDR or a WiFi signal can be shown in a graph.
Rpi1 also controls the night mode of my central heating system. That saved me some money and contributed to reduce the CO2 level a bit.
New in this update: 
- Updated svg_plotter.f to make it a bit more portable.
Here is a screenshot:

Download Apa201.zip
A testcase for the ledstrip APA201 and a 74AHCT126 connected to a Rpi. 
The SPI interface must be enabled on the Rpi.


About cforth 
Cforth of Mitch Bradley allows me to create a small Forth computer that is able to use wifi and preemptive multitasking on an ESP-12F or an ESP32.
Unfortunately, the available RAM-memory is quite small.
The dictionary in ROM feature of cforth is a very nice solution for this problem.
It can be cloned by using: $ git clone https://github.com/MitchBradley/cforth --branch WIP

Sources for cforth:

Download ntc_sh.zip (Last update: September 16th, 2022)
Contains the Steinhart-Hart equation to calculate the temperature of the NTC.
To monitor the NTC you need to add some ADC words if you do not use cforth (LWIP branch).

Download upload_server_v13.zip (Last update: August 5th, 2022)
upload_server.zip makes it possible to transfer ASCII files to the file system on the ESP-12F or ESP32 through a WiFi connection from a Rpi, Windows PC or Linux-PC. 
The development cycle is significantly reduced thanks to the GUI and the speed of the upload server.
See for the installation and details the file Installation_upload_server.rtf
The extra tools ( extra.fth ) and upload server are able to run in ROM.

Uploading through a WIFI connection only works if you have a reliable and stable WIFI connection.
For me the following settings in my router did the trick:
Trasmission monde: 11bg mixed (Reduce as many protocols as possible)
Channel width: 20Mhz
Channel: 1
Protection: WPA2-PSK
Encryption: AES
Beacon interval: 100
RTS threshold: 576
DTIM interval: 1
Then I could reduce the transmission power to middle.
Connect as many as possible devices to 5G and set it's RTS threshold 576
Try the old IE if you still experience problems.

New in this update
- Adapted for domotica_v47.

Download wificar.zip ( Last update: March 10th, 2021)
A small car that is controlled by a webserver.

The aim is to see what PWM and a webserver on that car can do. No sensors yet. Here is how the car looks.
upload_server_v13.zip is also needed.

wificar.zip includes the program, schematics and the cad-file made in FreeCAD version 0.16
New in this update
- The use of cforth

Last updated: 11.10.2022

Main index