BDRLABVANCOUVER · 49.28°N
CONNECTED — CAPABILITY MATRIX

Six disciplines.

6 disciplines, one room, and a set of machines whose specifications are printed below. Every claim on this page carries a number and an entry in the register that used it.

We model in Fusion 360 and design for the machines in the next room, which is the only reason a part can be drawn on Monday and measured on Wednesday. Interfaces that carry load or set a datum get a tolerance stack done by hand — worst case first, then RSS — and anything that has to stay stiff gets a static and modal check before it is cut.

Three-axis milling with a fourth-axis rotary, abrasive water jet, a toolroom lathe, SLA and FDM. Delrin and 6061 are what we cut most: Delrin because a prototype bearing block can be on the machine forty minutes after the CAD locks, 6061 because that is what the second one is made of.

KiCad for schematic and layout, two- and four-layer boards fabricated offshore and assembled here. We cut our own stencils, place by hand under a microscope and reflow on the bench, which makes a board spin a week rather than three and means a mistake costs a Sunday instead of a phase.

Bare-metal C on STM32 and RP2040, FreeRTOS when a project earns it, Zephyr when a client already runs one. The interrupt budget is written down before the code is, and anything that will not fit inside the control ISR moves to another processor rather than into the jitter.

Field-oriented control on the motors, cascaded current, velocity and position loops, and jerk-limited trajectories so a machine does not shake itself apart at the end of a move. System identification is a step response and a chirp fitted in NumPy; there is no Simulink here and there has not needed to be.

Global-shutter stereo calibrated here against a printed ChArUco target, and small single-class detectors trained on data we collect ourselves with our own rigs. We quantise to INT8 and run on device, because a perception loop that needs a desktop GPU is not a machine, it is a video of a machine.

The instruments are on the Method sheet.

MILL · WATER JET · LATHE · SLA · FDM · REFLOW · DYNO — held tolerances and rig uncertainties

METHOD →
§01 · PROCESS

What we can make, and to what tolerance

The disciplines are separated here because a table needs columns. In practice one person owns a mechanism from the tolerance stack through to the settling time, because the handoff between a mechanical drawing and a control loop is where most hardware schedules go to die.

Nothing below is a partnership, a network or a fabrication contact. If it is on this page, it happens here, and the person who quoted it is the person who cuts it.

MEC — Mechanical design

Most of what we draw is 6061, Delrin and printed PETG. Press fits are specified against hole sizes measured off our own mill rather than off a chart, because the chart is right about a machine we do not own.

8 of 8 entries used itEvery Mechanical design entry ↳
Mechanical design: process, working spec, tools and materials
PROCESSWORKING SPECTOOLS AND MATERIALS
Parametric assembly modelling≤ 600 partsFusion 360, imported STEP and Parasolid
Tolerance stack-up on machined interfaces± 0.05 mmBy hand, worst case and RSS
Static and modal FEA≥ 4 × loop bandwidthFusion simulation, hand-checked
Bearing selection and preload0.02 mm axial playThin-section and crossed-roller
Design for our own CAM≥ 3 mm internal radiusFusion CAM, our post processor

FAB — Fabrication and finishing

Deburr, tap and bead blast happen here. Anodising and plating go out. We do not paint a demonstrator that has to be opened twice a day — bare aluminium takes the abuse and shows the wear, which is information.

Fabrication and finishing: process, working spec, tools and materials
PROCESSWORKING SPECTOOLS AND MATERIALS
3-axis milling, 4th-axis rotary± 0.05 mm6061, Delrin, brass, mild steel
Abrasive water jet± 0.10 mmPlate stock, brackets, motor plates
Turning and boring± 0.02 mmToolroom lathe, collet and 4-jaw
SLA25 µm layersJigs, optical mounts, fit checks
FDM0.10 mm layersPETG, ABS, PC — PLA for mock-ups only
Tapping and heat-set insertsM2 – M8Hand and machine tap, printed bosses

ELE — Electronics and PCB

Power stages get laid out before the connectors do: gate drive loop, shunt placement and thermal path first, silkscreen last. Anything carrying more than a few amps is measured with a current probe on the bench before firmware is allowed near it.

Electronics and PCB: process, working spec, tools and materials
PROCESSWORKING SPECTOOLS AND MATERIALS
Schematic capture and 4-layer layout82 × 96 mmKiCad 8, our own footprint library
Stencil, place and reflow0.4 mm pitch QFNBenchtop reflow oven, stereo microscope
Hand rework0402Hot air, 0.2 mm tip, hot tweezers
Motor drive front end24 V, 15 A peakThree-shunt FOC, isolated gate drive
Bring-up and power measurement200 MHz, 30 AScope, current probe, electronic load

FRM — Firmware

We instrument first. Every loop we ship toggles a pin, so the period and its jitter are read off a logic analyzer rather than inferred from how the machine behaves.

7 of 8 entries used itEvery Firmware entry ↳
Firmware: process, working spec, tools and materials
PROCESSWORKING SPECTOOLS AND MATERIALS
Control ISR20 kHz, ± 2 µsSTM32G4, timer-triggered ADC, DMA
CAN and framed serial transport1 MbitClassic CAN, COBS-framed UART
USB HID and composite devices1 kHzRP2040, TinyUSB, QMK fork
Field update over the bus< 20 sDual-bank, CRC-checked, no bricking path
Timing verification500 MSa/sLogic analyzer on a toggled pin

CTL — Controls and motion

State estimation is a complementary filter until it stops being enough, then an EKF. We publish loop rates and measured settling times because those are the numbers that decide whether a mechanism works, and they are the first thing worth asking any shop for.

Controls and motion: process, working spec, tools and materials
PROCESSWORKING SPECTOOLS AND MATERIALS
Field-oriented current control20 kHzThree-shunt, sensored and sensorless
Velocity and position loops1 kHzCascaded PID with feed-forward
Trajectory generation3rd orderOn target, no host in the loop
System identification0.1 – 500 HzStep and chirp, fitted in NumPy
Balancing and settle tuning± 20 mmLQR on a measured model

CV — Perception and learned models

ROS 2 when a client already runs it, plain C++ or Python nodes when they do not. Most of what makes a perception loop fast is not the detector — it is the capture path, the hardware sync, and deciding to do the geometry in forty lines of math instead of learning it.

Perception and learned models: process, working spec, tools and materials
PROCESSWORKING SPECTOOLS AND MATERIALS
Stereo calibration180 mm, < 0.3 pxOpenCV, printed ChArUco target
Hardware-synchronised capture120 fps, 1440 × 1080Global shutter, external trigger
Detector training and quantisationINT8PyTorch, TensorRT, Jetson Orin
Dataset collection and labelling2 dOur rigs, our labels, our lighting
ROS 2 integration< 5 msHumble and Jazzy, DDS tuned
§02 · EQUIPMENT

The machines, and what they actually hold

The last column is the one worth reading. A manufacturer figure is the number on the datasheet and we have not re-verified it; a measured figure is one we checked on the granite plate and can show you the readings for. The tolerances we quote on work are the measured ones, which are looser.

Shop equipment: capacity, stated performance, and the source of each figure
MACHINECAPACITYSTATED PERFORMANCEWHERE THE FIGURE COMES FROM
Vertical mill, 3-axis with 4th-axis rotary460 × 250 × 400 mm± 0.013 mm repeatabilityManufacturer
Abrasive water jet1200 × 1200 mm25 mm mild steelManufacturer
Toolroom lathe300 mm swing, 700 mm centres± 0.02 mm on diameterMeasured here
SLA printer145 × 145 × 185 mm25 µm layers, 50 µm XYManufacturer
FDM printers, two256 × 256 × 256 mm0.4 mm nozzle, 0.10 mm layersManufacturer
Benchtop reflow oven340 × 340 mm board0.4 mm pitch QFN, leadlessMeasured here
Hot-air rework and stereo microscope0402 and larger7 – 45 ×Manufacturer
Oscilloscope with current probe4 channels200 MHz, 2 GSa/sManufacturer
Logic analyzer8 channels500 MSa/sManufacturer
Motor dynamometer, built here1.5 kW, 6000 rpm± 2 % torqueMeasured here
Granite plate and dial indicator600 × 400 mm± 0.002 mmMeasured here
§03 · ENGAGEMENT

Ways to work with us

There is no account manager and no delivery lead. The person who answers your first email is the person holding the calipers, and that is the whole reason the durations in the top row are short.

Engagement models compared term by term
TERMSCOPING STUDYBUILD SPRINTEMBEDDED
Duration1–2 weeks3–8 weeks typicalMonthly, minimum one day a week
Fee basisFixed, quoted up frontFixed fee per phase, invoiced monthlyDay rate
What you receive
  • A written brief: constraints, the approach we would take, the risks we think are real, and a duration
  • A ranked risk list
  • A bill-of-materials sketch with real suppliers
  • A go/no-go you own either way
  • A working demonstrator
  • Source CAD, schematics and Gerbers
  • Firmware repository and training data
  • A handover session and 30 days of availability at no cost
  • We sit inside your programme, your repository, your review cadence
  • Everything we make on your project is yours on delivery
What we needWhatever you already have — CAD, a broken prototype, a napkin.A weekly hour, and someone who can make decisions.Repository access and a seat in your standup.
Who you talk toThe engineer who writes it.The two or three people building it.Whoever is embedded.
§04 · TERMS

Who owns what

Ownership
Everything we make on your project is yours the day it is delivered — source CAD, schematics, Gerbers, firmware, training data, test scripts. We keep no licence, no royalty and no right to reuse it. If we wrote something generic before your project started, we say so before we use it.
Confidentiality
We sign your NDA. If you do not have one, ours is short and we will send it. Confidential work still occupies a row in the register, described by shape — “a Series-B agricultural equipment maker” — with the client name and the numbers removed.
Publication
We ask before we write anything about your project, and a no ends it. Nothing goes up while a programme is live. Where you say yes, you see the sheet before anyone else does.
§05 · GOOD FIT

What we are good for

A mechanism that has to hold tolerance while something moves fast.
A perception loop that has to close in single-digit milliseconds.
A prototype that worked once, on the bench, in October.
A demo that has to run unattended in front of people who matter.
Work that sits in the seam between mechanical, electrical and software — where nobody currently owns it.
§06 · NOT A FIT

And what we are not

Production tooling at volume. We build the first one; someone else should build the ten thousandth.
Certification-critical medical or aerospace. We are not set up for the paperwork and you should not want us to be.
Pure software with no hardware in the loop.
A twelve-month research programme with no demo milestone. We are bad at those and it shows.
Anything where the deadline is already impossible and the plan is to work weekends.

This list is not modesty. Each line is work we have either done badly or watched a shop our size do badly, and we would rather lose the enquiry than the quarter.

§07 · COMMISSION

Send us the thing that is not working

If your problem is on the good-fit list, send us the constraint and the date it has to work by. Vancouver or remote, either is fine.
Send us the problem →