Skip to content

About

MakerBuddy Version 1.0 Repo Includes Web Dashboard, Arduino Code and PCB Design

Resources

Stars

6 stars

Watchers

0 watching

Forks

Latest commit

 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MakerBuddy

A comprehensive ESP32-based IoT development kit for makers, hobbyists, and learners

MakerBuddy is an all-in-one IoT learning platform that combines multiple sensors and actuators with a hosted WebApp dashboard. The firmware and WebApp use real-time WebSocket communication for monitoring and control. The sequence-based automation engine supports four loop modes: None, Forever, Timer (interval-only), and Condition.

Current releases: firmware 2.10 (23 October 2026) and WebApp 3.6 (24 October 2026).

This public repository contains the open-source Arduino firmware, WebApp, and PCB design files. Other MakerBuddy clients are maintained separately and are intentionally not included here.

📋 Repository Contents

  • WebApp - Hosted/static responsive dashboard for modern browsers
  • Arduino Code - ESP32 firmware with sensor integration and web server
  • PCB Design - PCB design files (Fritzing .fzz)

✨ Features

🔬 Sensors

  • DHT11 - Temperature and humidity sensor
  • DS18B20 - Waterproof temperature probe
  • LDR - Light level detection
  • MQ-2 - Gas/smoke sensor
  • Soil Moisture Sensor - For plant monitoring
  • HC-SR04 - Ultrasonic distance sensor
  • HC-SR501 - Motion detection sensor
  • Push Button - Digital input

🎮 Actuators

  • LED - PWM brightness control
  • RGB LED - Full-color control
  • Relay - Switching high-power devices
  • Servo Motor - Position control from 0–180°
  • Buzzer - Audio alerts
  • LCD Display (16x2) - Real-time information with sensor wildcards

🤖 Smart Features

  • Real-time sensor data via WebSocket (push-based, no polling)
  • Sequence automation with four loop modes and up to 10 multi-step rules
  • Priority-based device locking (Condition > Timer > Forever > None)
  • Optional two-sensor conditions with independent comparisons and AND/OR logic
  • Potentiometer mapping to LED PWM, RGB color wheel, or Servo
  • Soil moisture calibration with NVS persistence
  • OTA firmware updates with LCD progress
  • WiFi connectivity with mDNS support (devicename.local)
  • REST API and WebSocket endpoints for all actuators
  • Mobile-responsive dashboard with dark/light theme
  • Device information display (name, IP, firmware, MAC, uptime, and free memory)
  • LCD validation based on rendered 16-column output

🚀 Getting Started

Prerequisites

  • ESP32 Development Board
  • Arduino IDE (v1.8.x or later)
  • Required Arduino libraries listed in Arduino Code
  • Web server such as Apache/XAMPP for hosting the dashboard

Quick Setup

  1. Clone the repository

    git clone https://github.com/MakerBuddy/MakerBuddy-V1.0.git
    cd MakerBuddy-V1.0
  2. Upload the Arduino code

    • Open Arduino Code/MakerBuddy/MakerBuddy.ino in Arduino IDE.
    • Upload it to the ESP32 board.
    • On first boot, connect through the built-in MakerBuddy_XXXX provisioning access point.
  3. Set up the WebApp

    • Copy the WebApp folder to your web server.
    • Open index.html in Firefox, Safari, or Edge.
    • Enter the MakerBuddy device name or IP address to connect.

📖 Documentation

🛠️ Hardware Requirements

  • ESP32 Development Board and MakerBuddy PCB V1.0
  • 2x 15-pin female headers, 2x 15-pin male headers (optional), and 2x 5-pin male headers (optional)
  • 680uF 10V capacitor and 2.54mm JST connectors
  • 10K resistor for LDR and 4.7K resistor for DS18B20
  • Potentiometer, soldering station, desoldering pump, and sensor cables
  • DHT11, DS18B20, LDR, MQ-2, soil moisture, HC-SR04, HC-SR501, and push button
  • 5mm LDR, 5mm LED, and 5mm RGB LED (common-anode wiring)
  • 5V relay module, SG90 servo motor, passive buzzer, and 16x2 I2C LCD

📱 Connect With Us

YouTube GitHub Facebook LinkedIn Hackster.io Patreon

🤝 Contributing

We welcome contributions. Feel free to report bugs, suggest features, submit pull requests, and share projects built with MakerBuddy.

📝 Release Notes

Wiring guide images — 24 October 2026

WebApp 3.6

  • Every component wiring guide (the ⓘ button on each sensor and control card) shows new photography of the IoT Kit V1.0: the green board with the part highlighted, or the module with its lead to the right port.
  • Each guide has a light and a dark image, and the popup shows the one for the current theme.
  • Firmware is unchanged at 2.10.

Rule status and control fixes — 23 October 2026

Firmware 2.10 / WebApp 3.5

  • Firmware 2.10 pushes the rule list to connected dashboards whenever a rule starts, finishes or stops on its own (at most once per second, and the final state always arrives), so "▶️ Running" badges and automation locks no longer go stale.
  • Start on a Condition rule resumes monitoring and begins its first cycle at step 0 once the condition is true; if the condition is false, nothing runs.
  • Timer intervals up to the dashboard's 999 h maximum are stored correctly.
  • WebApp 3.5 sends LED brightness 0 as 0 (it previously meant full brightness), keeps the LED slider locked while a rule owns the LED, fixes two operator labels and styles the Stopped rule badges.

GitHub firmware feed — 30 September 2026

WebApp 3.4

  • Check for firmware updates and release notices through the public raw GitHub feed. Download links the device cannot install over the air are shown as requiring manual installation. See WebApp/deployment.
  • Firmware remains 2.9.

Rule editor and firmware checks — 30 September 2026

WebApp 3.3

  • Add Boolean condition selectors, rule duplication, step drag/reorder controls, clearer Add Step spacing, and clearer firmware-feed checks. Firmware remains 2.9.

Servo mapping rule locks — 30 September 2026

Firmware 2.9 / WebApp 3.2

  • Disable the Servo Mapping sensor/inversion controls and the potentiometer Servo option while an enabled, running rule contains a servo step, including timer waits and non-servo steps. Enabled condition rules also reserve mapping while monitoring.
  • Firmware 2.9 pauses existing sensor/pot servo mapping throughout that reservation, holds the last angle, and rejects mapping enables through REST/WebSocket. Stop, disable, delete or one-shot completion releases it; an existing mapping resumes smoothly.
  • None and unrelated potentiometer targets remain available subject to their own rule locks. Saved mapping settings and rule-to-rule step priority are preserved.

Servo PWM isolation — 30 September 2026

Firmware 2.8

  • Reserve a separate ESP32 LEDC timer bank for servo PWM to prevent sharing with RGB/single-LED outputs on earlier Arduino-ESP32 3.x cores.
  • Preserve the commanded endpoint during holds and timer intervals; log PWM initialization failures. Protocol and saved rule formats are unchanged.

Servo movement names — 30 September 2026

WebApp 3.1

  • Rename servo movement choices to Range and Range + reverse; stored modes and timing are preserved.

Servo rule movements — 30 September 2026

Firmware 2.7 / WebApp 3.0

  • Style the servo movement selector and duration fields consistently with the rule editor; stack fields on phone layouts and support both themes.
  • Add one-way Start → destination and Start → destination → start movements, duration per direction, and hold after the entire movement. Select Forever to repeat within 0–180°.
  • Each cycle positions at start first; one-way repeats reposition to start. Zero-duration return settles at start. New movement options require firmware 2.7.
  • Keep motion non-blocking and respect rule priority. Version-2 servo companion records read older version-1 options without resizing the legacy rule structs.

30 September 2026 — Servo Direction Fix

Firmware 2.6

  • Fix downward servo movement wrapping through unsigned timer arithmetic and getting clamped to 180°.
  • Sensor mappings, including inverted LDR mapping, keep responding to rising and falling readings. The fix also covers potentiometer mapping and smooth absolute/relative rule steps.
  • Existing WebApp commands, mapping defaults, GPIO assignments, protocol, and saved configurations remain compatible.

30 September 2026 — Compact Servo Mapping

Firmware 2.5 / WebApp 2.9

  • Add a separate Servo Mapping card with a compact sensor dropdown and Invert direction. Select None to disable mapping; changes apply immediately.
  • Map soil moisture, gas, light, humidity, DHT11, or DS18B20 automatically to 0–180°. Potentiometer, motion, push button, and distance are excluded from the dropdown.
  • Use automatic sensor ranges and built-in filtering; preserve rule ownership, stale/invalid holds, and disabled mapping after reboot.
  • Keep demo servo motion aligned with the currently displayed sensor reading and allow independent mapping-card visibility.
  • Preserve legacy explicit mapping ranges and binary NVS layouts.

30 September 2026

Firmware 2.4 / WebApp 2.8

  • Add sensor-to-servo mapping for soil moisture, gas, light, DHT11 temperature, DS18B20 temperature, and humidity, with input/output limits, inversion, smoothing, and deadband.
  • Add absolute/relative servo rule steps, non-blocking smooth movement duration, and hold after arrival.
  • Enforce servo ownership across rules, sensor mapping, potentiometer mapping, and manual commands; pause invalid/stale sensor mapping.
  • Preserve existing binary rule records with versioned companion options. Mapping settings persist but mapping starts disabled after reboot.
  • Run DS18B20 conversions asynchronously to keep smooth motion responsive.

22 September 2026

WebApp 2.7

  • Adds a hardware-free demo session when demo is entered as the device host.
  • Shows animated sample telemetry, locally responsive controls, device/settings data, and example rules.
  • Clearly labels demo data and prevents example-rule changes from being stored.

1 September 2026

WebApp 2.6

  • Detects Firefox and directs users to the official MakerBuddy Firefox Add-on, matching the existing Chrome extension prompt.

28 August 2026

WebApp 2.5

  • Aligns sensor and control icon tiles with the mobile client's theme-aware violet-soft surfaces in light and dark modes.
  • Uses the aligned violet-soft icon background as the default dashboard-settings accent color.

20 August 2026

WebApp 2.4

  • Keeps the optional second sensor editor hidden until its checkbox is enabled.
  • Uses explanatory AND/OR radio choices for two-condition and second-range logic.
  • Aligns both sensor condition rows and their optional ranges across desktop and mobile layouts.

19 August 2026

Firmware 2.3 / WebApp 2.3

  • Added optional two-sensor condition rules with independent comparisons, AND/OR logic, and range support for each sensor.
  • Preserved existing saved rules through separate versioned seqc_N condition records in ESP32 NVS.

Firmware 2.2

  • LCD wildcard validation now measures each wildcard using its current formatted sensor value, matching the physical 16-column display.
  • Sequence LCD validation now agrees with the WebApp and allows templates such as Temperature={temp} when the rendered value fits.

WebApp 2.1 / 2.2

  • LCD counters use current telemetry values and refresh as sensor values change.
  • Longer source templates are allowed when their rendered output fits the LCD.
  • Checks the official firmware feed and suppresses dismissed release notices for 24 hours per firmware version.

17 August 2026

Firmware 2.1

  • A finishing condition step retains ownership of its actuator until its configured delay expires.
  • Opposing condition rules retry without consuming their delay, enforcing actuator dwell times.

Firmware 2.0 / WebApp 1.9

  • Uses the configured device name consistently across LCD, mDNS, REST, and WebSocket identity responses.
  • Shows connected WiFi/IP and device-name screens at boot and in the LCD rotation.
  • Validates custom LCD templates against 16 rendered columns.
  • Adds the ESP32-reported IP to Settings and live 16-column LCD counters.

Earlier releases

Firmware 1.9 / WebApp 1.7

  • Timer mode became interval-only and parked sequences release their devices.
  • Added push-button telemetry, sidebar persistence, and safer LED/Servo controls.

v1.8

  • Added optimized NVS sequence storage, ADC averaging, WiFi power saving, relay protocol fields, and legacy potentiometer migration.

v1.2

  • Added WebSocket telemetry, the multi-step rule engine, potentiometer mapping, soil calibration, OTA updates, mDNS discovery, LCD wildcards, and dark/light theme persistence.

v1.0

  • Initial release with sensors, actuators, REST API, basic IF-THEN rules, provisioning, and responsive dashboard.

📄 License

Software (Firmware and WebApp)

  • License: GNU General Public License v3.0 (GPL-3.0)
  • Applies to: Arduino Code and WebApp
  • See LICENSE-GPL for the full license text.

Hardware (PCB Design)

  • PCB design files are distributed under their applicable hardware-design license. See the files in PCB Design.

Copyright (C) 2024 Muhammad Afzal
Website: makerbuddy.cc
Email: info@makerbuddy.cc

💖 Support the Project

If MakerBuddy helps you, consider supporting the project on Patreon.


Made with ❤️ by MakerBuddy Team

Empowering makers, one project at a time.

About

MakerBuddy Version 1.0 Repo Includes Web Dashboard, Arduino Code and PCB Design

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages