Innovation Lab β†’ At the Bench

At the Bench

Where ideas become prototypes.

Every innovation starts somewhere.

This is where we experiment with AI, electronics, automation, software, Home Assistant, ESP32 development, business tools, and whatever interesting problem lands on the bench next.

Some experiments succeed.

Some fail spectacularly.

Both are worth sharing.

Welcome to the Bench

Some people keep journals.

Some keep notebooks.

I keep a workbench.

This is where ideas become prototypes, software gets rewritten, circuits get rebuilt, AI gets challenged, and the occasional "What if...?" turns into something unexpectedly useful.

Pull up a stool.

Have a look around.

There's always something on the bench.

Today's What If?

What if Simon lived inside Home Assistant?

Bench Status

Current Focus
Kitchenette Lighting
Current Mood
Curious
Coffee Level
β˜•β˜•β˜•
Background Noise
The Three Stooges
Current Challenge
Making ESP32 behave.

Project Journal

Real-time updates from the bench. Click to expand entries.

β–Ό

βœ” Home Assistant integration complete

Successfully integrated the ESP32 controller with Home Assistant using ESPHome. All RGB controls now available through the dashboard.

After several attempts with different MQTT configurations, switched to ESPHome for native Home Assistant integration. The auto-discovery feature worked perfectly. Added custom effects for sunrise simulation and party mode.

light:
  - platform: rgb
    name: "Kitchenette RGB"
    red: output_red
    green: output_green
    blue: output_blue
    effects:
      - random:
      - pulse:

Next step: Add motion sensor integration for automatic lighting.

β–Ό

βœ” Added MOSFET driver circuit

Replaced direct GPIO control with IRLZ44N MOSFETs to handle the 12V LED strips properly.

Initial tests with direct GPIO control showed insufficient current for the LED strips. Added three IRLZ44N MOSFETs (one per RGB channel) with 10kΞ© pull-down resistors. Now getting full brightness across all colors.

Lesson learned: Always check LED strip current requirements before assuming GPIO can drive them directly.

β–Ό

βœ” Tested optocouplers for AC sensing

Experimented with optocouplers to detect when overhead lights are on, but abandoned approach.

Wanted to automatically dim RGB strips when overhead fluorescent lights are on. Tried using an optocoupler to sense AC line voltage, but the complexity and safety concerns weren't worth it.

Switched to using a simple photoresistor instead. Much safer and actually more reliable since it responds to actual light levels, not just switch state.

β–Ό

βœ” Web interface redesigned

Built a responsive web interface for direct control when not using Home Assistant.

Created a simple HTML/CSS/JavaScript interface served directly from the ESP32. Features color picker, brightness slider, and preset scenes. Works great on mobile.

β–Ό

βœ” Swapped ESP8266 for ESP32

Upgraded from ESP8266 to ESP32 for better performance and more GPIO pins.

The ESP8266 was running out of GPIO pins and memory. ESP32 provides plenty of both, plus Bluetooth support for future expansion. Migration was straightforwardβ€”most code worked without changes.

What's on the Bench

Current experiments and active projects.

Tools on the Bench

Technologies currently being explored and deployed.

πŸ“Ÿ
ESPHome
πŸ”Œ
ESP32
🏠
Home Assistant
πŸ€–
OpenAI
πŸŽ™οΈ
ElevenLabs
πŸ’¨
Windsurf
πŸ“¦
GitHub
πŸš€
Render
🐍
Python
πŸ—„οΈ
SQLite
πŸ“Š
Streamlit
πŸ’»
VS Code

Recent Discoveries

What surprised us this week.

πŸ’‘

ESP32 Voltage Sweet Spot

Running ESP32 boards at 5.7V instead of the typical 5V unexpectedly solved an intermittent boot issue. The boards were browning out during WiFi initialization. Slight voltage increase provided enough headroom for stable operation.

This discovery came from measuring actual voltage drop under load rather than assuming the power supply was adequate.

πŸ”Œ

Optocoupler Simplification

Optocouplers dramatically simplified interfacing 12V inputs to 3.3V ESP32 GPIO pins. What started as a complex voltage divider circuit became a simple, isolated, and more reliable solution.

Sometimes the "advanced" component is actually the simpler solution.

πŸ› οΈ

Spare Parts Prototyping

The best prototype is often the one built from spare parts already on the bench. Waiting for the "perfect" components delays learning. Building with what's available accelerates iteration.

Three "imperfect" prototypes teach more than one "perfect" design.

πŸ€–

AI Context Windows

Discovered that breaking large documentation into smaller, focused chunks dramatically improves AI retrieval accuracy. The AI doesn't need to see everythingβ€”it needs to see the right thing.

Quality of context matters more than quantity.

From the Notebook

Quick engineering observations.

Remember:
Measure twice. Prototype first.

"Pull-down resistors prevent floating GPIO pins. 10kΞ© works for most applications. Don't skip themβ€”intermittent bugs are the worst kind."

"ESPHome auto-discovery in Home Assistant is magic. Spent hours fighting MQTT configs before discovering this. Should have read the docs first."

"When debugging electronics: Check power first, ground second, then signals. 80% of problems are power-related."

"AI agents work best with clear constraints. Unlimited freedom produces mediocre results. Specific goals produce breakthroughs."

"Version control everything. Even quick experiments. Future you will thank present you."

"The prototype that works is better than the design that doesn't exist. Ship it, learn from it, iterate."

Future Rick:
Document this! Don't lose that idea.

Coming Up on the Bench

  • ☐ Pellet Boiler Controller V5
  • ☐ Simon for Home Assistant
  • ☐ Garden Environmental Sensors
  • ☐ Knowledge Foundry Deep Research
  • ☐ AI Community Intelligence
  • ☐ Business Intelligence Dashboard
  • ☐ Innovation Velocity Metrics
πŸ”¬

Innovation doesn't happen in conference rooms.

It happens at workbenches, over coffee, with spare parts, unfinished sketches, and one persistent question...

"What if?"

Every prototype teaches something. Every experiment moves the idea forward.

Learning faster than yesterday is the real goal.