The Conscious Coder

Engineering for Sustainability

From consuming technology to consciously creating it

8-Week Technical Track with micro:bit Smart Greenhouse

Wingston Sharon Wilson | Creative Coding & Technology

What We'll Build Together

The Smart Greenhouse Project

๐ŸŒฑ

Real Sensors

Temperature, humidity, soil moisture

๐Ÿ’ง

Real Actuators

Automated watering pump, LED displays

๐Ÿ“Š

Real Data

Live environmental monitoring & logging

What We'll Explore

Beyond the Code

๐Ÿ”ฎ

Integral Theory for Tech

AQAL model applied to code systems

๐ŸŒ™

Shadow in Debugging

Unmasking assumptions & hidden biases

๐ŸŒ

Open-Source Consciousness

Code as planetary service

The Crisis in Modern Tech

"We've become expert consumers of technology, but lost the ability to consciously create it."

๐Ÿ“ฑ Black-Box Technology โ€” No idea how it works

๐Ÿ”Œ Disconnection from Impact โ€” Hidden resource consumption

๐Ÿค– Code Without Consciousness โ€” Algorithms without values

๐Ÿ’ป Tech as Consumption โ€” Always buying, never building

Week 1: Unveiling the Data Reality ๐Ÿ”ฌ

The Ongoing Data Stream

From the philosophical "Ongoing Big Bang" to the tangible "Ongoing Data Stream"

๐Ÿ”ง Kit Setup

Assembling the micro:bit Smart Agriculture Kit

๐Ÿ’ป Intro to MakeCode

Block-based or Python programming environment

๐Ÿ“ก Sensor Basics

Reading temperature, humidity, soil moisture

๐Ÿ“บ Output

Displaying real-time data on LED screen

Every new sensor reading: Reality "bursting into being fresh each moment"

Week 2: Holistic View of Tech ๐Ÿงฉ

AQAL Model for Code Systems

UL - Interior Individual

I (Subjective)

  • My experience coding
  • Feelings about the data
  • Thoughts during debugging
  • "How do I feel about this?"
UR - Exterior Individual

It (Objective)

  • The hardware (micro:bit)
  • Measurable data (19.5ยฐC)
  • Lines of code
  • "What can I observe?"
LL - Interior Collective

We (Intersubjective)

  • Cultural values in code
  • Why we value automation
  • What "optimal" means
  • "What do we share?"
LR - Exterior Collective

Its (Interobjective)

  • Power grid running it
  • Heating system context
  • Supply chains
  • "What systems exist?"

Week 3: Evolving the Code ๐ŸŒฟ

Spiral Dynamics in System Design

ORANGE

โšก The Achiever Logic

Goal: Maximum efficiency and productivity

Code Style: Rigid if-then rules

"If moisture < X, pump ON"

GREEN

๐ŸŒฑ The Sensitive Logic

Goal: Care for plant well-being & resource conservation

Code Style: Values-oriented constraints

"Use minimal water, be gentle"

YELLOW

โšก The Integrative Logic

Goal: Systemic health, functional adaptability

Code Style: Multi-variable integration

"Consider moisture, time, humidity"

Three Approaches to Watering

Transcend and Include

๐ŸŸ  Orange Logic

if moisture < 30:
    pump.on()
    sleep(5000)
    pump.off()
# Rigid, results-driven

๐ŸŸข Green Logic

if moisture < 30:
    pump.on()
    sleep(2000)  # Less water
    pump.off()
# Values-oriented, gentle

๐ŸŸก Yellow Logic

if moisture < 30 and \
   is_daytime() and \
   humidity < 60:
    pump.on()
    sleep(calculate_water())
    pump.off()
# Systemic, adaptive

Week 4: Unmasking Shadow ๐Ÿ‘ป

Critical Self-Reflection in Code

๐Ÿ” Code Review for Shadow

Question: What are the unintended consequences?

Example: "This could flood the plant if sensor fails"

๐ŸŽญ The Societal Mask

Question: Does code project perfect control?

Example: "I need to appear infallible"

๐Ÿ’ก Bringing Shadow to Light

Action: Program fail-safes & error handling

Example: "Max 5 seconds pump time, sensor validation"

"What unacknowledged parts of ourselves are we expressing through our technical choices?"

Week 5: Quantifying Consumption ๐Ÿ’ง

Making Invisible Costs Visible

The Problem

  • Systems perform functions
  • We never see resource use
  • Invisible = unconscious
  • No feedback loop

The Solution

  • Track every drop of water
  • Display running totals
  • Visible = conscious
  • Immediate feedback
# Resource Use Dashboard
total_water = 0
flow_rate = 2.5  # ml per second

def water_plant(seconds):
    global total_water
    pump.on()
    sleep(seconds * 1000)
    pump.off()
    total_water += seconds * flow_rate
    display.show(f"{total_water}ml")

Week 6: Coding as Caretaking โค๏ธ

From Automation to Connection

Technology that fosters connection, not replacement

โŒ Before: Automation

System waters plant automatically

Human is removed from process

No connection, no care

โ†’

โœ… After: Notification

System tells human plant is thirsty

Human waters with intention

Connection maintained

"The 'Plant Messenger' reclaims our instinct to care for another living thing"

Week 7: Technology as Mirror ๐Ÿชž

Shamanic Mirroring with Data

๐Ÿ“Š The Data Shows

Room was cold and dry yesterday

Temperature: 16ยฐC, Humidity: 32%

โ†“

๐Ÿชž The Mirror Asks

"How was my inner state yesterday?"

"Was I feeling emotionally 'cold' or 'dry'?"

The external environment as perfect reflection of inner world

The Metamorphosis of the Coder

From Tutorial Follower to Creative Coder

๐Ÿซ The Camel

Following Tutorial Exactly

Bearing burden of "correct way"

Fear of breaking things

"I must do it by the book"

โ†’

๐Ÿฆ The Lion

Rejecting Conventions

Saying NO to all tutorials

Rebellious but stuck

"I refuse to follow anyone!"

โ†’

๐Ÿ‘ถ The Child

Joyful Creation

Integrating knowledge + freedom

Playful experimentation

"I'll make it sing!"

Week 8: Open-Source Consciousness ๐Ÿš€

Code as Planetary Service

๐Ÿ“ Document Your Work

Clear comments, readme files

Others can understand & build upon it

๐ŸŒ Share on GitHub

Public repository for all

Contributing to collective knowledge

๐Ÿ’š The 10% Tipping Point

Your creation = planetary service

Critical mass of conscious coders

"When we share our code, we're not just sharing functionsโ€”we're sharing consciousness."

The micro:bit Smart Agriculture Kit

What's in the Box?

๐Ÿง 

micro:bit Board

Programmable microcontroller with LED display

๐ŸŒก๏ธ

Temperature Sensor

Monitor ambient temperature

๐Ÿ’ง

Humidity Sensor

Track moisture in the air

๐ŸŒฑ

Soil Moisture Sensor

Detect when plant needs water

๐Ÿ’ฆ

Water Pump

Automated watering actuator

๐Ÿ’ก

LEDs & Display

Visual feedback & notifications

Real Code Example

Environmental Dashboard (Week 1)

# Environmental Dashboard
from microbit import *

while True:
    # Read sensors
    temp = temperature()
    humidity = pin0.read_analog()  # Humidity sensor
    moisture = pin1.read_analog()   # Soil moisture

    # Display temperature
    display.scroll(f"T:{temp}C")
    sleep(1000)

    # Display humidity
    humidity_pct = int((humidity / 1023) * 100)
    display.scroll(f"H:{humidity_pct}%")
    sleep(1000)

    # Display soil moisture
    moisture_pct = int((moisture / 1023) * 100)
    display.scroll(f"M:{moisture_pct}%")
    sleep(1000)

    # Show happy face if all good
    if temp > 18 and moisture_pct > 40:
        display.show(Image.HAPPY)
    else:
        display.show(Image.SAD)

    sleep(2000)

Real Code Example

Fail-Safe Watering System (Week 4)

# Fail-Safe Watering with Shadow Work
from microbit import *

MAX_PUMP_TIME = 5000  # Max 5 seconds
MOISTURE_THRESHOLD = 30  # %
SENSOR_MIN = 0
SENSOR_MAX = 1023

def is_sensor_valid(reading):
    """Check if sensor reading is possible"""
    return SENSOR_MIN <= reading <= SENSOR_MAX

def water_plant_safely(duration_ms):
    """Water with fail-safe limits"""
    # Limit pump time (shadow: fear of flooding)
    safe_duration = min(duration_ms, MAX_PUMP_TIME)

    pin2.write_digital(1)  # Pump ON
    sleep(safe_duration)
    pin2.write_digital(0)  # Pump OFF

    # Visual confirmation
    display.show(Image.HAPPY)

# Main loop
while True:
    moisture = pin1.read_analog()

    # Shadow work: validate sensor
    if not is_sensor_valid(moisture):
        display.show(Image.SAD)
        display.scroll("SENSOR ERROR")
        sleep(5000)
        continue

    moisture_pct = int((moisture / 1023) * 100)

    if moisture_pct < MOISTURE_THRESHOLD:
        water_plant_safely(3000)

    sleep(60000)  # Check every minute

Real Code Example

Plant Messenger (Week 6)

# Plant Messenger - Caretaking over Automation
from microbit import *

THIRSTY_THRESHOLD = 35
plant_watered = False

def show_thirsty():
    """Plant asks for water"""
    display.show(Image.SAD)
    sleep(500)
    display.show("๐Ÿ’ง")  # Water drop icon
    sleep(500)

def show_happy():
    """Plant is content"""
    display.show(Image.HAPPY)

# Main loop
while True:
    moisture = pin1.read_analog()
    moisture_pct = int((moisture / 1023) * 100)

    if moisture_pct < THIRSTY_THRESHOLD:
        # Don't automate - ask human for help
        show_thirsty()
        plant_watered = False
    else:
        if not plant_watered:
            # Thank the human for caring
            show_happy()
            display.scroll("Thank you!")
            plant_watered = True
        else:
            show_happy()

    # Button A = human watered the plant
    if button_a.was_pressed():
        display.show(Image.HEART)
        sleep(2000)

    sleep(5000)

Embodied Practice for Coders

Beyond Sitting at Computer

๐Ÿค Code Review Circles

Partner reviews for shadow work

Compassionate feedback

Collective learning

๐Ÿ“ Reflective Journaling

Data as mirror for inner state

What is environment telling me?

Shamanic interpretation

๐Ÿ› Shadow Debugging Sessions

What assumptions did I make?

Where is my ego showing?

Bringing unconscious to light

๐ŸŽจ Creative Coding Challenges

The "Child's" playful experimentation

Make the plant sing!

Joyful sufficiency in code

From Black Box to Conscious Creation

Understanding Every Layer

โŒ Black-Box Technology

  • No idea how sensors work
  • Can't modify or repair
  • Completely dependent
  • Disconnected from process
  • No sense of impact

โœ… Conscious Creation

  • Understand every sensor
  • Can modify & customize
  • Empowered & capable
  • Connected to environment
  • Aware of resource use
"When you write every line intentionally, you build connection to your environment."

Is This Workshop For You?

Welcome If You're...

๐Ÿ’ป Developer Seeking Meaning

Write code every day but wonder about its impact

๐ŸŒ Environmental Technologist

Want to build tech that serves the planet

๐Ÿ‘จโ€๐Ÿซ Educator

Teaching STEM + sustainability together

๐Ÿ”ง Maker & Hobbyist

Love building things with electronics

๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง Parent Coding with Kids

Want to teach conscious tech creation

๐ŸŒฑ Beginner to Intermediate

No prior experience requiredโ€”just curiosity

What You'll Take Away

Skills, Systems & Consciousness

01

Functional Smart Greenhouse

Complete working system you built from scratch

02

Integral Approach to Coding

AQAL lens, Spiral Dynamics, shadow work in tech

03

Portfolio-Worthy Project

Showcase for GitHub, job applications, teaching

04

Sensor & Actuator Skills

Foundation for any IoT or hardware project

05

Open-Source Contribution

Your code shared for planetary service

06

Community of Conscious Coders

Ongoing support from fellow creators

How to Participate

Build Your Smart Greenhouse

Individual Workshops

2.5-hour focused sessions

  • Data Reality & Sensors
  • AQAL for Tech Systems
  • Shadow Work in Debugging
  • Caretaking Code Design

$100-$180/session

Private/Corporate

Custom design

  • Team sustainability training
  • Corporate green tech workshops
  • Educational institution programs

Contact us

All workshops on sliding scale for accessibility โœจ

Conscious Creation over Mindless Consumption

Open Source over Proprietary

Caretaking over Automation

Connection over Convenience

The Conscious Coder

Code that cares โ€ข Tech that connects
From coder to caretaker โ€ข Your creation = planetary service

Wingston Sharon Wilson | Creative Coding & Technology
workshops@creativecodingtech.com