Shikor

Build guide

Everything you need to build it

Parts, pins, power and fixes. No soldering skills beyond a breadboard.

Parts

  • ESP32 Dev Module

    The brain.

  • Soil moisture sensor

    With an analog AOUT pin.

  • 1-channel 5 V relay module

    Opto-isolated.

  • Mini 5 V water pump + tube

    Submersible.

  • Red + green LED, 2 × 220 Ω

    Soil status lights.

  • 5 V 2 A charger

    For the ESP32.

  • Power bank

    For the pump, separate.

  • Capacitors

    470–1000 µF and 100 nF. Diode 1N4007 for a motor pump.

Pin map

ESP32Goes toColour
D34Sensor AOUT
3V3Sensor VCC
D26Relay IN
VIN (5 V)Relay DC+
GNDRelay DC−, sensor GND, LED short legs
D27Red LED, via 220 Ω, long leg
D25Green LED, via 220 Ω, long leg
D0 (BOOT)On-board button

Power rules

  • ESP32 on a 5 V 2 A charger
  • Pump on its own supply, ground shared
  • 470–1000 µF across the ESP32’s 5 V and GND
  • 100 nF across the pump leads
  • Powering the ESP32 from a laptop USB port while pumping
  • Relay DC+ on 3V3

A weak supply makes the ESP32 brown out when the pump starts: LEDs die, the relay clacks, the board reboots.

Flash it

  1. 1Install the libraries “WiFiManager” (tzapu) and “PubSubClient” (Nick O’Leary).
  2. 2Open firmware/shikor_firmware.ino.
  3. 3Board: ESP32 Dev Module. Upload speed: 115200. Upload.
  4. 4No Wi-Fi password goes in the code.

First power-up

  1. 1Join the Wi-Fi “Shikor-Setup” (password shikor123).
  2. 2The setup page opens, or go to 192.168.4.1.
  3. 3Configure WiFi: pick your 2.4 GHz network and type the password.
  4. 4Set the MQTT topic base to match the app’s Settings. Save.

To change Wi-Fi later: with the board on, hold BOOT for 3 s. Never hold BOOT while plugging it in.

When something’s off

Upload fails (“Unable to verify flash chip”)

Set speed to 115200, use a data-capable cable, hold BOOT while uploading.

Everything dies when the pump starts

Brown-out. Better charger, bigger capacitor, separate pump supply.

LEDs stay dark

Check the self-test at power-up. LED may be reversed (long leg is +). Check common GND.

“Water now” is greyed out

The device is offline. Check power, Wi-Fi and that both topic bases match.

No automatic watering after a manual one

Normal. It waits 6 hours. A reboot resets the clock.

Garbled text in Serial Monitor

Set the baud rate to 115200.