From consuming technology to consciously creating it
8-Week Technical Track with micro:bit Smart Greenhouse
Wingston Sharon Wilson | Creative Coding & Technology
Temperature, humidity, soil moisture
Automated watering pump, LED displays
Live environmental monitoring & logging
AQAL model applied to code systems
Unmasking assumptions & hidden biases
Code as planetary service
"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
From the philosophical "Ongoing Big Bang" to the tangible "Ongoing Data Stream"
Assembling the micro:bit Smart Agriculture Kit
Block-based or Python programming environment
Reading temperature, humidity, soil moisture
Displaying real-time data on LED screen
Every new sensor reading: Reality "bursting into being fresh each moment"
Goal: Maximum efficiency and productivity
Code Style: Rigid if-then rules
"If moisture < X, pump ON"
Goal: Care for plant well-being & resource conservation
Code Style: Values-oriented constraints
"Use minimal water, be gentle"
Goal: Systemic health, functional adaptability
Code Style: Multi-variable integration
"Consider moisture, time, humidity"
if moisture < 30:
pump.on()
sleep(5000)
pump.off()
# Rigid, results-driven
if moisture < 30:
pump.on()
sleep(2000) # Less water
pump.off()
# Values-oriented, gentle
if moisture < 30 and \
is_daytime() and \
humidity < 60:
pump.on()
sleep(calculate_water())
pump.off()
# Systemic, adaptive
Question: What are the unintended consequences?
Example: "This could flood the plant if sensor fails"
Question: Does code project perfect control?
Example: "I need to appear infallible"
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?"
# 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")
Technology that fosters connection, not replacement
System waters plant automatically
Human is removed from process
No connection, no care
System tells human plant is thirsty
Human waters with intention
Connection maintained
"The 'Plant Messenger' reclaims our instinct to care for another living thing"
Room was cold and dry yesterday
Temperature: 16ยฐC, Humidity: 32%
"How was my inner state yesterday?"
"Was I feeling emotionally 'cold' or 'dry'?"
The external environment as perfect reflection of inner world
Following Tutorial Exactly
Bearing burden of "correct way"
Fear of breaking things
"I must do it by the book"
Rejecting Conventions
Saying NO to all tutorials
Rebellious but stuck
"I refuse to follow anyone!"
Joyful Creation
Integrating knowledge + freedom
Playful experimentation
"I'll make it sing!"
Clear comments, readme files
Others can understand & build upon it
Public repository for all
Contributing to collective knowledge
Your creation = planetary service
Critical mass of conscious coders
"When we share our code, we're not just sharing functionsโwe're sharing consciousness."
Programmable microcontroller with LED display
Monitor ambient temperature
Track moisture in the air
Detect when plant needs water
Automated watering actuator
Visual feedback & notifications
# 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)
# 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
# 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)
Partner reviews for shadow work
Compassionate feedback
Collective learning
Data as mirror for inner state
What is environment telling me?
Shamanic interpretation
What assumptions did I make?
Where is my ego showing?
Bringing unconscious to light
The "Child's" playful experimentation
Make the plant sing!
Joyful sufficiency in code
"When you write every line intentionally, you build connection to your environment."
Write code every day but wonder about its impact
Want to build tech that serves the planet
Teaching STEM + sustainability together
Love building things with electronics
Want to teach conscious tech creation
No prior experience requiredโjust curiosity
Complete working system you built from scratch
AQAL lens, Spiral Dynamics, shadow work in tech
Showcase for GitHub, job applications, teaching
Foundation for any IoT or hardware project
Your code shared for planetary service
Ongoing support from fellow creators
8 sessions ร 2.5 hours = 20 hours
Sliding scale: $640-$1,280
*Or bring your own kit (~$60-80 value)
2.5-hour focused sessions
$100-$180/session
Custom design
Contact us
All workshops on sliding scale for accessibility โจ
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