404ENGINEERING

// status: building

Hardware not found.
So we build it.

404 Engineering is an independent workshop for embedded systems, robotics and industrial automation. Every project is designed from first principles, documented in the open and built on the bench.

projects2 active
repositories5 public
disciplinesfirmware · CV · controls · sim
SHEET 01

Projects

SHEET 02

Following Drone

404-Engineering/Following-Drone ↗

A quadcopter that follows the jeep on off-road trails and builds 3D maps of the trail with an onboard ZED stereo camera. A Jetson Orin Nano handles mapping and follow logic; Raspberry Pi Pico 2 modules run the flight controller, radio and sensors, all on one CAN bus. A comm board in the jeep broadcasts its GPS position as a beacon and relays operator commands.

SAFETY BY DESIGN

The flight controller keeps flying if the Jetson crashes. Arm, disarm and kill commands travel radio → flight controller directly, never through the companion computer.

Following Drone system architecture: jeep comm board linked by NRF24 radio to the drone, whose modules share a CAN bus IN THE JEEP Jeep computer operator UI · USB Vehicle comm board Pico Plus 2 W · GPS NRF24L01+ PA/LNA COBS + CRC-16 2.4 GHz ON THE DRONE Radio module Pico 2 · NRF24L01+ TCAN1042 CAN Jetson Orin Nano mapping · follow logic ZED stereo depth · odometry Flight controller Pico 2 · IMU / mag 4× ESC Sensor module Pico 2 · baro · GPS temp / humidity CAN BUS KILL
System overview — the jeep sends beacon and commands over NRF24, telemetry returns in ACK payloads; safety commands take the highest-priority CAN IDs (0x000–0x00F).

Milestones

  1. M1
    3D mappingZED + Jetson capture, SVO recording, mapping, post-processing. Software only.
    in progress
  2. M2
    Design & simulationFreeze the design; prove control, failsafes and following in Gazebo.
  3. M3
    Flight bring-upBuild the drone; stabilization, altitude/position hold, auto takeoff and landing.
  4. M4
    Manual flightOperator flies from the jeep with assisted modes and manual override.
  5. M5
    Vehicle followingThe drone follows the jeep's GPS beacon and maps the trail.

Sub-projects

M1 · JETSON

3D Space Mapping

Captures stereo video from the ZED, records SVO files, builds 3D maps from live or recorded data and exports .ply/.obj for post-processing. Tested indoors first, then with the camera mounted on the jeep.

  • Python 3.12 · uv
  • ZED SDK
  • HD720 @ 30 fps
3d_space_mapping ↗
M3–M5 · ON DRONE

NRF Module

The drone's radio. Receives the jeep's beacon and commands, sends telemetry back in ACK payloads, puts safety commands straight onto CAN and triggers hover after 1 s without a packet.

  • Pico 2
  • NRF24L01+ PA/LNA
  • can2040 + TCAN1042
  • KiCad PCB
nrf_module ↗
M3–M5 · IN JEEP

Drone Controller

The vehicle comm board. Broadcasts the jeep's GPS position, velocity and heading as a 30-byte beacon at 5–10 Hz and relays arm, disarm, kill, takeoff, land and return-home commands from the jeep computer.

  • Pico Plus 2 W
  • u-blox UBX-NAV-PVT
  • COBS + CRC-16
  • PlatformIO
drone_controller ↗

TOOLCHAIN KiCad · Autodesk Fusion · Gazebo · JetPack · ZED SDK · PlatformIO

SHEET 03

Line Simulator

404-Engineering/line_simulator ↗

A physics-based simulator for packaging and filling lines. Conveyors, photoeyes, motors, accumulation tables and bottles are prebuilt Godot components; a line is assembled in the editor from layout drawings and measured dimensions. Real or emulated Allen-Bradley Logix PLCs drive the virtual line over EtherNet/IP, and batch runs measure throughput, cycle times and bottlenecks per bottle format. Runs natively on macOS.

Line Simulator architecture: Godot simulation exchanges UDP JSON with a Python bridge, which reads and writes tags on Logix PLCs; experiments produce CSV metrics Godot 4.7 + Jolt conveyors · photoeyes · motors accumulation · bottles fixed step · 100 Hz UDP JSON localhost Python bridge pycomm3 · tag map signal ↔ tag bindings latency metrics EtherNet/IP ≤ 20 ms Logix PLCs ControlLogix · CompactLogix or FactoryTalk Logix Echo several per line experiments → CSV metrics
Run the same PLC program against the virtual line that will run on the real one.
≥ 500bottles stable at ≥ 100 Hz
≤ 20 msPLC round-trip, polling
± 5 %throughput vs. real line

Roadmap

  1. P0SpikeOne conveyor, jitter-free bottles, one photoeye; read/write a Logix tag.
  2. P1Core componentsConveyor, photoeye, motor, accumulation table, bottle spawner.
  3. P2PLC I/OPlc node with tag bindings in the Inspector; several PLCs per line.
  4. P3Metrics & batch runsThroughput, cycle time, blocked/starved time, buffer occupancy → CSV.
  5. P4Builder ergonomics@tool conveyors that redraw and snap; live I/O panel.
  6. P5Component libraryCurves, merges, diverts, machines as parameterised black boxes.
  7. P6First real lineA full line from drawings and PLC programs, validated against measured rates.
  8. P7EtherNet/IP adapterAppear to the PLC as remote I/O for scan-synchronous timing.
  9. P8Format changeoverGuide rails, format parts and changeover time as scenarios.

TOOLCHAIN Godot 4.7 · Jolt physics · GDScript · Python 3.11 · pycomm3 · uv

SHEET 04

About

404 Engineering is run by an automation engineer who builds the tools and machines that don't exist yet. The work spans the full stack: PCB design and embedded firmware, computer vision on edge hardware, PLC integration and physics simulation.

Projects follow the same rules: a written design document before code, milestones with measurable targets, and everything in public repositories.

github.com/404-Engineering ↗