Plant Stakes β€” F1 Laser Workflow

Permanent botanical-style aluminum plant stakes engraved with the xTool F1 fiber laser. Designed for 25+ year outdoor durability with a consistent herbarium aesthetic across the entire collection. Each stake links to the farm PostgreSQL database via a Data Matrix code that also encodes complete plant info offline.

Design Anchor β€” Stake 001 (Lavender)

The lavender stake (LAV-001, planted 2026) is the master reference for all future stakes. Every new design starts from this template. The aesthetic, layout, fonts, spacing, and marking parameters are locked.

Visual elements (top to bottom):

  1. Botanical illustration (line art, ~50mm tall)
  2. Common name (large, bold sans-serif)
  3. Scientific name (italic, abbreviated genus per botanical convention)
  4. ID number (medium, plain)
  5. Year planted
  6. Data Matrix code (7mm, encodes full record + URL)

The Data Matrix at the bottom does double duty: scanning returns the complete plant info as text (works offline, no infrastructure needed), AND includes a URL for database lookup when online.

Hardware & Materials
Component Detail
Laser xTool F1 fiber (10W, 1064nm)
Marking area 115Γ—115mm window, conveyor extends length
Stock Aluminum flat bar, 1" Γ— 1/16" (cut to ~6-12" lengths, one end pointed)
Mounting Pointed end driven into ground; 4-6" exposed above grade
Sourcing Local metal supplier (Columbus area) β€” 6ft lengths cut and pointed at home

For stakes the laser cannot mark in one shot, the F1 conveyor advances the stake through the marking window in sections.

Design Template Specifications

Layout (top to bottom)

Element Size Style Notes
Botanical illustration ~50mm tall Γ— 30mm wide Line art, no shading Centered horizontally
Horizontal rule (optional) thin line β€” Separator, can omit
Common name ~10mm tall Bold sans-serif All caps
Scientific name ~6mm tall Italic serif Abbreviated genus (e.g. “L. angustifolia”)
ID number ~6mm tall Plain Sequential or prefixed (see schema)
Year planted ~5mm tall Plain Just the year, e.g. “2026”
Data Matrix 7mm Γ— 7mm High-contrast Bottom of stake

Typography

  • Common name β€” bold sans-serif (the lavender stake used a clean modern sans)
  • Scientific name β€” italic, follows the botanical convention (abbreviated genus + species epithet, possibly cultivar in single quotes)
  • ID and year β€” same sans-serif as common name but plain weight, smaller
  • Consistency rule: never change fonts between stakes. Use the same two faces (one bold sans, one italic serif if they’re different) for the entire collection.

Spacing

  • Generous margins above illustration (~10mm from top edge)
  • Tight grouping of text elements (each line ~2-3mm spacing)
  • Wider gap between text block and Data Matrix (~5-8mm) so the code feels like a separate functional element
Illustration Sourcing

Primary method: Nano Banana (Google Gemini image generation)

Used for stake 001 (lavender). Produces clean, consistent botanical illustrations when prompted with locked language.

Prompt template β€” keep this exact language for every illustration:

Botanical illustration of [PLANT NAME], black and white line art,
simple clean linework, no shading, no color, white background,
single specimen centered, vertical composition,
traditional herbarium style, fine consistent line weight,
suitable for laser engraving on metal

Workflow:

  1. Replace [PLANT NAME] with species (try common name first; if results are off, try scientific name)
  2. Generate 3-4 candidates
  3. Pick the one closest to the established style (clean lines, no shading, vertical composition)
  4. Save as PNG, drop into stake template

Style consistency rule: Never change the prompt wording between stakes. Variation in prompt produces variation in style. Even small word swaps (“botanical drawing” vs “botanical illustration”) shift the output.

Backup sources for obscure species

When Nano Banana doesn’t know a plant well (rare natives, specific cultivars), fall back to public-domain historical sources:

When using historical sources, process to match the established style: convert to pure black-and-white line art, scale to template dimensions, place in the same position.

Data Matrix Encoding

Why Data Matrix (not QR code)

Feature QR Code Data Matrix
Min readable size ~10mm ~3-5mm
Data density Lower Higher
Designed for Consumer scanning Industrial part marking
Phone compatibility Native iOS/Android Most scanner apps

Data Matrix is the industrial standard for laser-marked metal parts. Half the size of a QR code for the same data.

What to encode

Full self-contained record + database URL. This gives offline access AND database integration:

LAVENDER|Lavandula angustifolia|001|2026|edmd.me/p/001

Format: pipe-delimited fields in this order:

  1. Common name (uppercase)
  2. Scientific name (full genus + species, plus cultivar in single quotes if applicable)
  3. ID number
  4. Year planted
  5. Database lookup URL

Why this format:

  • Self-contained β€” scan it, see everything, no internet needed
  • Pipe-delimited β€” easy to parse programmatically
  • URL at the end β€” most scanner apps will offer to open it on phone
  • Future-proof β€” if database/infrastructure changes, the stake still has the data

Sizing

7mm Γ— 7mm code reliably encodes ~70-80 characters with strong error correction. Marks in ~15-20 seconds with 2 passes.

Stake ID Schema

Convention

Use 3-letter prefix + 3-digit sequential number for self-documenting IDs:

Prefix Category Example
LAV Lavender LAV-001
RAS Red raspberry RAS-001
BLR Black raspberry BLR-001
AST Asparagus AST-001
BLB Blueberry BLB-001
BLK Blackberry BLK-001
GBR Gooseberry GBR-001
CUR Currant CUR-001

For other categories beyond plants (the same database extends to property infrastructure):

Prefix Category Example
HIV Beehive HIV-001
STR Pond structure STR-001
MSH Mushroom log MSH-001
TRE Permanent tree planting TRE-001
INF Infrastructure asset INF-001

Database URL pattern

edmd.me/p/{prefix}-{number} for plants, edmd.me/i/{prefix}-{number} for infrastructure (when the lookup service is built).

For the encoded Data Matrix, use the simpler form: edmd.me/p/001 β€” the prefix can be inferred from context or stripped on the server side.

F1 Marking Parameters (Locked)

These are the parameters used for stake 001 (lavender). Do not change for future stakes β€” consistency in marking depth and contrast is part of the collection aesthetic.

Botanical illustration (line art)

Parameter Value
Power 80%
Speed 500 mm/s
Frequency 30 kHz
Passes 1
Mode Line trace (no fill)

Text β€” large (common name)

Parameter Value
Power 90%
Speed 400 mm/s
Frequency 20 kHz
Passes 2
Line interval 0.025mm
Hatch Crosshatch (0Β° + 90Β°)

Text β€” medium and small (scientific name, ID, year)

Parameter Value
Power 80%
Speed 500 mm/s
Frequency 30 kHz
Passes 2
Line interval 0.025mm
Hatch Crosshatch (0Β° + 90Β°)

Data Matrix code

Parameter Value
Power 100%
Speed 300 mm/s
Frequency 20 kHz
Passes 2
Mode Filled, high contrast

Pre-session checklist

  • Z-height calibrated using F1 focus stick or auto-focus
  • Stake material is bare aluminum (not anodized β€” different parameters)
  • Stake clean, free of cutting oil residue
  • Ventilation/exhaust active
  • Honeycomb or sacrificial plate under stake (not on bare F1 stage)
Time Per Stake

At locked parameters, a complete stake takes ~2-3 minutes:

Element Approximate Time
Botanical illustration 30-60 seconds
Common name (large, filled) 20-30 seconds
Scientific name (italic, filled) 25-35 seconds
ID and year (filled) 15-25 seconds
Data Matrix (7mm, filled) 15-20 seconds
Conveyor advancement / positioning 20-30 seconds
Total per stake ~2-3 minutes

Batch estimates

Stakes Total Time Realistic with Setup
20 40-60 min 1 hour
50 1.5-2.5 hr 3 hours
100 3-5 hr 5-6 hours (long afternoon)
200 6-10 hr full day
End-to-End Workflow

From “I planted a new thing” to “stake in the ground”:

  1. Plant the thing. Note species, variety, date.
  2. Add to farm database β€” assign next sequential ID for the category (e.g. RAS-007 if 6 raspberries already exist).
  3. Generate illustration β€” run Nano Banana with the locked prompt template, replacing plant name. Pick best of 3-4 candidates.
  4. Open master template file in xTool Creative Space (or LightBurn).
  5. Update template β€” swap illustration, common name, scientific name, ID, year. Update Data Matrix encoded text.
  6. Mark stake with locked F1 parameters. Stake exits conveyor complete.
  7. Plant the stake at the planting location, pointed end in the ground.
  8. Capture GPS point with Emlid Reach RS3 β€” code p, voice memo describes plant and references stake ID. See Emlid workflow.
  9. Office side: Emlid GeoJSON export ingestion script links GPS coords to stake ID, joins to species table, full record in PostGIS.

What’s stored where

Information Stake Database
Common name βœ“ βœ“
Scientific name βœ“ βœ“
ID βœ“ βœ“
Year planted βœ“ βœ“
GPS coordinates β€” βœ“ (from Emlid)
Planting date (full) β€” βœ“
Source / supplier β€” βœ“
Variety / cultivar (if not on stake) β€” βœ“
Observations over time β€” βœ“
Photos β€” βœ“
Harvest records β€” βœ“

The stake holds the identity of the plant. The database holds the history.

Future Enhancements
  • Database lookup service β€” Caddy + Python/Flask service routing edmd.me/p/{id} to PostgreSQL queries with rendered HTML output
  • Multi-domain stakes β€” same workflow extended to beehive tags, pond structure markers, mushroom log tags, equipment asset tags
  • Photo on stake β€” F1 can do photo-style engraving with dithering. Possible to add a small photo of the plant in flower/fruit at top of stake instead of (or alongside) illustration.
  • Anodized aluminum upgrade β€” for premium stakes (orchard trees, special plants), use black anodized aluminum. Higher contrast, longer outdoor life. Currently too expensive for mass stakes but worth considering for select special plantings.
  • Replacement workflow β€” when a stake fails or is damaged, the database has all the info to regenerate it. Just open the master template, swap variables, mark a new one.
References