Martin Preuss fa335392af avr: improved beeper code
dont start beeper already when setting timer because it might be quite some
time until the timer is called again which could make the beeper beep an
anoyingly long time.
2026-04-13 00:20:38 +02:00
2026-03-24 23:11:00 +01:00
2026-04-13 00:20:38 +02:00
2026-03-26 21:06:30 +01:00
2026-03-28 21:55:43 +01:00
2025-10-26 16:59:58 +01:00
2025-03-10 00:15:52 +01:00
2026-03-16 18:05:13 +01:00
2025-06-12 23:30:08 +02:00
2025-05-17 10:46:03 +02:00
2025-12-26 23:57:37 +01:00
2023-10-06 14:02:28 +02:00
2026-03-30 21:53:26 +02:00
2023-08-07 14:09:51 +02:00

Aquamaniac Home Control System (AqHomeControl)

Quickstart

Prerequisites

To compile the project the following software needs to be installed:

  • gwenhywfar (general purpose library, also containing some development tools)
  • avrasm (Opensource avr assembler)
  • gcc (GNU C compiler)

Building

  • download and unpack this project
  • cd into the main folder
  • create a build folder (e.g. "mkdir build")
  • cd into that "build" folder
  • configure package for building ("gwbuild -s ../")
  • build autogenerated files ("gwbuild -p" and "gwbuild -Btm2builder")
  • build project ("gwbuild -j NUM_OF_CPUS")
  • install project ("sudo gwbuild -i")

Overview

See https://gitea.aqbanking.de/martin/aqhomecontrol/wiki for more information (in German).

The Aquamaniac Home automation/control system consists of multiple parts:

  • nodes

    • small PCBs with AVR microcontrollers, for now:
      • AtTiny84
      • AtTiny85
      • AtTiny841
      • AtMega644
      • examples:
    • decentralized, nodes just broadcast measured data over a two-wire communication network (clock/data), addresses are auto-assigned, no prior setup necessary, no central bottleneck or single point of failure
    • node types
      • environmental measuring (temperature, humidity, CO2 and others)
      • motion detection, door/window sensors
      • LED strip controllers
    • modular operating system written in AVR assembler
    • event-driven GUI for ATmega MCUs (work in progress)
    • driver modules for busses:
      • one-wire bus
      • two-wire-bus
      • SPI bus
      • UART
    • driver modules for devices/sensors (incomplete list):
      • DS18b20 sensors for temperature measurement
      • SI7021 sensors for temperature and humidity measurement
      • SGP_30 sensors for air quality measurement
      • ccs811 sensors for air quality measurement
      • SK6812 LED driver
      • ds3231 realtime clock module
      • I2C displays (work-in-progress)
      • SPI displays (work-in-progress)
  • PC applications

    • aqhome-data
      • TCP data service receiving sensor data
    • aqhome-nodes
      • service receiving sensor data via inter-node bus from nodes and forwarding that data to aqhome-data
    • aqhome-mqttlog
      • service exchanging data between aqhome-data service and a mqtt server
    • aqhome-react
      • service reacting to data received by aqhome-data (home automation service)
    • aqhome-tool
      • tool to manipulate aqhome-data (e.g. edit devices and values, add data points, create graphs from aqhome-data)
      • tool to flash firmware for nodes, list nodes
    • aqhome-cgi
      • HTTP service for user interaction with aqhome-data
Description
Yet another home automation framework. Contains code for AVR ATtiny, ATmega and PC.
Readme 11 MiB
Languages
Pascal 70%
Assembly 14.1%
C 9.9%
C++ 5.6%
OpenSCAD 0.2%
Other 0.2%