Setup Guide

Everything you need to get your K7 lamp under full control — no technical knowledge required.

What is this?

The K7 LED Controller is a small add-on device that gives your Noo-Psyche K7 Mini or K7 Pro aquarium light a proper web interface — accessible from any phone, tablet, or computer.

With the ESP32 controller, once set up it runs 24 hours a day, completely independently — a phone or PC is only needed to make changes. Two no-hardware alternatives are also available: a PC Bridge for Windows and Linux, and an Android app. These connect your device directly to the lamp and work well for schedule editing, but always-on features like Smooth Ramp require the ESP32 controller.

📅
24-hour schedule
Different brightness for each hour of the day
🌙
Lunar
Soft moonlight with fixed or shifted night windows
🍽
Feed mode
Timed white boost for feeding, adjustable brightness
🛠
Maintenance mode
Timed inspection light for tank work with automatic timeout

Which option is right for you?

ESP32 controller PC Bridge Android app
Hardware needed ESP32-S3 board (~£3) None None
Edit & push schedules
Runs 24/7 without a PC or phone
Feed & Maintenance mode Widget
Smooth Ramp, Acclimation, Seasonal Shift…
Platform Any phone or browser Windows, Linux Android
The ESP32 controller costs very little, runs all the advanced features 24/7, and is accessible from any phone or browser on the lamp's WiFi. The PC Bridge and Android app are a good fit if you want to configure a schedule without adding hardware — they don't run continuously, so runtime effects like Smooth Ramp won't apply between sessions.

Downloads

Everything is free. Pick the right download for your device, or use the browser flasher if you have an ESP32 board.

Loading latest release…
Android users: After downloading the APK you will need to allow installation from unknown sources — the app is not yet on the Play Store. See the Android setup section below for step-by-step instructions.

What you need to buy

For the ESP32 controller path. Using the PC Bridge or Android app instead? No hardware needed — skip ahead.

1
ESP32-S3 board — pick one of these two
ESP32-S3 SuperMini — the cheapest option. Search for "ESP32-S3 SuperMini" on AliExpress or Amazon. Costs around £2–£5 / $3–$6.
Seeed Studio XIAO ESP32-S3 — slightly more expensive but widely stocked. Search for "XIAO ESP32-S3" on AliExpress, Amazon, Mouser, or Seeed Studio directly. Costs around £6–£10 / $8–$12.
Either board works. The SuperMini is the better-value choice for most people. Make sure the XIAO is the standard variant, not "Sense".
2
USB-C cable
Any USB-C cable — a phone charging cable is fine.
3
USB phone charger
Any spare USB charger. The board uses less power than a phone on standby.
That's it. No soldering. No wires to the lamp. The controller connects to your lamp over WiFi — nothing physically touches the lamp.
1

Flash the firmware

"Flashing" means loading the K7 Controller software onto the board. You only need to do this once.

Device not detected? Hold the BOOT button on the board (labelled B on the XIAO, BOOT on the SuperMini) while pressing RST, then release both. Click Install again. Also check you're using a data cable — some cables are charge-only and won't work.
2

Connect it to your lamp

After flashing, the board needs to know where your lamp is. Do this from your phone — it takes about two minutes.

Lamp not in the list? Make sure the lamp is powered on and within a few metres of the board. Tap Scan again. You can also type the lamp's WiFi name manually — it's printed on a sticker on the lamp, or visible in your phone's WiFi list when the lamp is on.
3

Open the controller

Bookmark it. Save http://k7controller.local as a home screen shortcut on your phone so you can open it with one tap. On iPhone: tap Share → Add to Home Screen. On Android: tap the menu → Add to Home Screen.

PC Bridge — Windows & Linux

A small program that runs on your PC and talks directly to the lamp. Your PC must be connected to the lamp's WiFi when you use it. No hardware to buy — just download and run.

What you can do: edit and push schedules, save profiles, read the lamp's current state, export backups.
Not available: Smooth Ramp, Feed mode, Maintenance mode, Acclimation, Seasonal Shift — those need the ESP32 controller running 24/7.

Windows
  • a.Use the Download button at the top of this page to get the Windows installer.
  • b.Run the installer. No admin password needed — it installs to your personal files folder and creates a desktop shortcut.
  • c.Connect your PC to the lamp's WiFi (the network starting with K7-).
  • d.Double-click the K7 Bridge desktop shortcut. The controller opens in your browser automatically.
Linux
  • a.Use the Download button at the top of this page to get the Linux AppImage.
  • b.Make it executable: right-click → Properties → Permissions → Allow executing as program, or run chmod +x K7-Bridge-*.AppImage in a terminal.
  • c.Connect to the lamp's WiFi, then double-click the AppImage. The controller opens in your browser automatically.
Linux: FUSE error? Some Linux setups don't have FUSE available. If the AppImage fails to start, run it with: ./K7-Bridge-*.AppImage --appimage-extract-and-run
VPN users: If the bridge can't reach the lamp, disconnect your VPN first. An active VPN can block direct connections to the lamp's network even when the WiFi appears connected.

Android App

The K7 Controller app runs a local bridge inside your phone and talks directly to the lamp over WiFi. It covers schedule editing, profile saving, and push — plus Feed and Maintenance mode via a home screen widget that works even when the app is closed. Always-on runtime features (Smooth Ramp, Acclimation, Lunar) still require the ESP32 controller.

The app is not yet on the Play Store. For now, install it manually (sideloading):

Schedule chart: The app includes a full schedule chart editor. Tap any hour bar and scroll to adjust its brightness, or use the trapezoidal scheduler to generate a clean sunrise/sunset shape in one step. A desktop view is also available via the icon in the top bar.
Home screen widget: Long-press your home screen, choose Widgets, and add K7 Feed & Maintenance. Tap Feed for a 10-minute white boost during feeding, or Maintenance for a 30-minute balanced inspection light. A countdown timer appears on the widget while a mode is active. Tap the active button again to cancel early. The widget works without the app open and without the ESP32 controller — it connects directly to the lamp over WiFi.

Using the controller

Setting the lighting schedule
Desktop: The main screen shows a graph with 24 hours across the bottom. Drag any point up or down to change the brightness for that hour. The chart must be in Base mode to drag — if the toggle shows Effective Today, click it to switch back before editing.

Mobile — Chart editor: The mobile interface includes a schedule chart identical to the desktop view. Tap any hour bar to select it, then scroll up or down (or use the on-screen +/− buttons) to adjust that hour's brightness. The additive colour preview strip updates as you edit. Tap Push when ready to send the schedule to the lamp.

Mobile — Trapezoidal scheduler: Quickly define a clean sunrise/sunset profile by setting when the ramp starts and ends and the peak brightness. Tap Generate Schedule to fill the chart with the resulting shape, review it in the chart editor, then tap Push.

Mobile — Granular scheduler: Set individual values for each hour in a list view for detailed customisation without using the chart.
Presets
Not sure where to start? Use the presets dropdown to load a ready-made schedule for Fish Only, LPS Reef, SPS Reef, Mixed Reef, Soft Mixed Reef, Acclimation Mixed, LPS Low Energy, Shallow SPS, or temporary Dino Suppression. The built-in reef presets are tuned for practical coral use: dark overnight, a steady daytime block, and a short dusk tail for viewing. Dino Suppression is a short-term light-reduction profile and disables Lunar/moonlight when pushed. Adjust presets to suit your tank and save your preferred version as a profile.
Smooth Ramp (ESP32 only)
Without Smooth Ramp the controller sends one interpolated brightness update per hour, keeping the lamp in step with the schedule. Turn on Smooth Ramp and updates increase to about every 2 minutes, only when calculated channel values change, giving smoother sunrise and sunset transitions. Neither mode intentionally rewrites the lamp's stored 24-hour schedule; the full schedule is kept on the ESP32 controller and the lamp receives only the current output level. However, the Noo-Psyche lamp firmware is closed, so we cannot verify whether the lamp stores those live commands internally or how it manages write wear. Smooth Ramp sends commands more frequently than the hourly default, which may increase any internal write activity. Use Smooth Ramp at your own discretion.
Lunar
A gentle blue moonlight glow overnight that follows the real moon. Full moon = soft blue shimmer; new moon = completely off. You can run it in a fixed nightly window or anchor the window to full-moon times and let it shift across the month with approximate moonrise and moonset. The Night clamp setting keeps Lunar inside your chosen night period, and Day starts above stops moonlight as soon as your normal schedule has begun ramping into daytime.
Feed mode (ESP32 / Android widget)
Temporarily boosts white lighting for feeding. Tap Feed mode to start a countdown timer — the lamp returns to its normal schedule when it expires. Use the ⚙ settings to set the duration (1–60 min, default 15) and white brightness (1–100%, default 80%). A quick press of the BOOT button on the board also toggles feed mode. On Android, Feed mode is also available directly from the home screen widget — no app or ESP32 controller required.
Maintenance mode (ESP32 / Android widget)
Temporarily switches the lamp to a brighter, more balanced inspection light so you can work in the tank more easily. Tap Maintenance to start a countdown timer, then let it expire or tap again to stop it early. Use the ⚙ settings to choose the duration (1–180 min, default 30) and overall profile intensity (1–100%, default 70%). Starting Maintenance mode automatically stops Feed mode, and vice versa. On Android, Maintenance mode is also available directly from the home screen widget — no app or ESP32 controller required.
Acclimation and Seasonal Shift (ESP32 only)
Acclimation starts the whole schedule dimmer, then recovers back to 100% over the number of days you choose. Seasonal Shift moves the whole photoperiod earlier and later across the year without changing the shape of the day. Both modifiers change the real output shown in the controller's Effective Today chart view.
Community preset browser
In the Presets panel, click Browse to open the community preset browser. It fetches schedules submitted by other users directly from the online library. Presets are filtered to your lamp model by default — switch to All to see presets for the other model. Click Install on any preset to load it into the editor, where you can review and adjust it before pushing to the lamp.
Backups and saved profiles
Use Backup to save your controller settings, saved profiles, schedule, and lighting options as one JSON file. Restore loads them back later. Saved profiles and settings now live in a protected data area on the controller, so normal firmware updates and web UI flashes do not wipe them. A full erase or factory reset still clears everything.
Sharing presets
Use Save Preset to name and save the current schedule as a profile, with an option to export it as a shareable file. Use Import Preset to load a preset someone has shared with you. Preset files include the lamp model, schedule, manual values, and notes, but not WiFi, lamp setup, saved profiles, or controller settings. Submit Preset opens a GitHub issue draft so community presets can be reviewed before they are added to the public profile library. The public page also includes the built-in controller profiles and can show app-compatible QR codes for users who only want to use the lamp app.
Effective Today and Checks
The chart can show either your editable base schedule or Effective Today, which includes seasonal shift, acclimation, siesta, lunar limits, and master brightness. The Checks panel warns about unusual schedules, but built-in practical reef presets should normally stay clear unless you have changed something significant.

Troubleshooting

I can't reach http://k7controller.local after setup
Make sure your phone is connected to the lamp's WiFi (K7-XXXXXX), not your home network. If the address still doesn't load, try the board's fixed IP address directly: http://192.168.4.200. If a K7-Setup- network reappears, the lamp connection wasn't saved — go through Step 2 again.
The controller opens but shows an error reading from the lamp
Make sure the lamp is switched on. The K7 lamp creates its own WiFi — if it's off, the controller can't reach it. Switch the lamp on and tap the refresh button.
I pushed a schedule but the lamp didn't change
Check the lamp is in Auto mode using the toggle at the top of the page. Also make sure the schedule has non-zero values for the current hour of the day.
I updated firmware but the built-in presets still look the same
Firmware updates do not overwrite an older schedule already saved on the controller. Reselect the built-in preset you want (for example Mixed Reef) and push it once to load the latest preset definition into the controller and the lamp.
I flashed an update and expected my saved profiles to disappear, but they are still there
That is now the intended behaviour. Saved profiles and controller settings are stored separately from the web UI files, so normal firmware updates and filesystem flashes preserve them. Use Backup before experimenting anyway, and use a factory reset only if you intentionally want to wipe everything.
My phone lost internet when I connected to the lamp's WiFi
Expected — the lamp's WiFi is a local network, not connected to the internet. Switch back to your home WiFi when you're done. The controller keeps running your schedule regardless.
I want to change the lamp connection
Hold the BOOT button on the board while powering it on, and keep it held for 3 seconds. The board will clear its config and restart into setup mode. Note down your saved profiles first as they will be erased.
The PC Bridge can't reach the lamp
Make sure the PC is connected to the lamp's WiFi (K7-XXXXXX), not your home network. If you have a VPN, disconnect it — even when the WiFi appears connected, an active VPN can block direct connections to the lamp's network.
The Android app can't reach the lamp
Make sure the phone is connected to the lamp's WiFi before opening the app. Android may automatically switch back to your home WiFi if it detects no internet connection — check the WiFi indicator while using the app.

Disclaimer

This project is provided "AS IS" without warranty of any kind. The author makes no representations about suitability, reliability, availability, or accuracy for any purpose.

K7 LED Controller changes live lighting output and stores schedules and settings locally — on the ESP32 board, on your PC, or on your phone depending on which variant you use. Incorrect settings, firmware bugs, WiFi issues, or unexpected lamp behaviour could affect aquarium lighting and livestock. With the ESP32 controller, hardware faults or power loss could also disrupt the running schedule. Test changes carefully and keep your own backups.

The Noo-Psyche lamp firmware is closed. The ESP32 controller sends live luminance commands to the lamp continuously — once per hour without Smooth Ramp, and about every 2 minutes with Smooth Ramp enabled, only when calculated channel values change. The PC Bridge and Android app send commands only when you explicitly push or preview a schedule. Push explicitly writes the 24-hour schedule to the lamp's storage. For the continuous live commands, we cannot verify whether the lamp also stores those internally or how it manages write wear.

Your use is at your sole risk. The author shall not be liable for any damage, livestock loss, data loss, hardware failure, or other direct, indirect, incidental, punitive, or consequential damages arising from use of this project.