# blog.hirnschall.net > Deep technical articles on FEM simulation, PCB design, signal integrity, (embedded) C++, software engineering, mechanical engineering, FSAE, and applied mathematics by Sebastian Hirnschall. ## Key Sections - [All Posts — Blog Archive](https://blog.hirnschall.net/archive.md): Browse every article on the blog: FEM simulation, C++, ESP8266, 3D printing, PCB design, and engineering projects — sorted by category. - [About — Sebastian Hirnschall, Engineer in Vienna](https://blog.hirnschall.net/about.md): Technical maths student in Vienna documenting real projects: FEM simulation, ESP8266, PCB design, 3D printing, and C++. All code and files open source. - [Auxetic Materials Explained: From FEM Simulation to 3D Print](https://blog.hirnschall.net/auxetic-material.md): Auxetic materials expand when stretched. We design a re-entrant structure, simulate it with FEM, and 3D print it in TPU. - [ESP32 WiFi Provisioning — Captive Portal & NVS Credentials](https://blog.hirnschall.net/esp32-iot-wifi-provisioning.md): To avoid hardcoding credentials, the ESP starts in AP mode and hosts a site where we can enter the WiFi credentials. Once done, it connects to the WiFi. - [Automatic Chopsticks — Arduino Project for Under $10](https://blog.hirnschall.net/automatic-chop-sticks.md): Build motorized chopsticks with Arduino and a single servo. A beginner electronics project with parts list, wiring diagram, and assembly steps. Under $10. - [Gerber to STEP with Copper — Free Tool for EM Simulation](https://blog.hirnschall.net/gerber-to-step.md): PCB STEP exports omit copper traces - unusable for EM simulation. Convert Gerber files to a simulation-ready STEP with full copper geometry (free tool). - [Type-Safe CAN Layer in C++ — No Bit Packing Bugs](https://blog.hirnschall.net/can-transport-layer.md): Eliminate manual bit packing errors in CAN with compile-time validation and code generation. Full C++ implementation with filter and routing safety built in. - [Custom 4-Port SATA Backplane — Design, Simulate, Build](https://blog.hirnschall.net/4x-sata-backplane.md): Design, simulate, and build your own 4-drive SATA backplane PCB. Differential pairs, S-parameters, 3D FEM analysis, and full GitHub files for JLCPCB - [Silent Home Server Case — Custom Aluminium Build](https://blog.hirnschall.net/silent-home-server.md): A silent home server case from aluminium sheets and extrusions — 8 hot-swap drives, automotive sound damping, rubber-isolated mounts, forced airflow. - [CNC Mill Concept — Precision Mill Design Documentation](https://blog.hirnschall.net/cnc-mill-concept.md): Design documentation for a fixed CNC milling machine targeting ≤ 10 µm accuracy in an apartment: structure, damping, sensing, electronics, and CAN software. - [Force & Moment Equilibrium Calculator — 2D Statics Solver](https://blog.hirnschall.net/force-moment-equilibrium.md): Symbolic calculator for 2D static equilibrium problems (FSAE-friendly). Enter points with coordinates and known forces, get all unknown reactions solved in the browser. - [ESP32 vs ESP8266: Which One Should You Actually Use?](https://blog.hirnschall.net/esp8266-vs-esp32.md): Side-by-side ESP32 vs ESP8266 — specs, GPIO, ADC, deep sleep, price. Which chip wins in 2026, and the cases where the ESP8266 still beats it. - [CNC Mill Concept — Software Architecture & CAN](https://blog.hirnschall.net/cnc-mill-concept/software-architecture-can.md): Firmware for distributed sensor nodes on STM32G4: YAML-driven CAN map code generation, type-safe CanManager transport, deterministic serialization, and DBC export. - [Perlin Noise Explained — How It Works & When to Use](https://blog.hirnschall.net/perlin-noise.md): How Perlin noise generates smooth randomness — gradient noise vs value noise, computational cost, and practical use in terrain generation and animation. - [3D Printed Video Light Stand for Under $4](https://blog.hirnschall.net/diy-video-light-stand.md): Print a stable, height-adjustable video light stand for standard LED panels — total cost under $4. Print files and assembly instructions included. - [How This Blog is Built — Static Site, Edge Analytics, LLM-Friendly](https://blog.hirnschall.net/same-domain-analytics.md): Hosting on GitHub Pages with Cloudflare Worker + D1 for same-domain analytics, llms.txt and per-page markdown for LLMs. No cookies, no third parties. - [Useless Box, But Worse: Multi-Switch Arduino Build](https://blog.hirnschall.net/diy-useless-box.md): A useless box with several switches and one stubborn arm — full Arduino code, custom PCB, and STL files. The build that takes the joke a step further. - [CNC Mill Concept — Compliance, State Estimation & Supervision](https://blog.hirnschall.net/cnc-mill-concept/compliance-state-estimation-supervision.md): Quasi-static compliance estimation from tilt, strain, and motor current; ECU state classification; and Schmitt-trigger feed-override supervision over RS-485. - [ESP8266 EEPROM — Read, Write & Persist Data](https://blog.hirnschall.net/esp8266-eeprom.md): Store data across reboots on ESP8266 using EEPROM emulation. Arduino EEPROM library usage including the commit call that catches most people out. - [ESP32: Update Over-The-Air using WiFi and the Arduino IDE](https://blog.hirnschall.net/esp32-ota-update.md): Flash new firmware over WiFi from the Arduino IDE using ArduinoOTA.h library. This setup allows us to easily update deployed or hard to reach ESPs. - [CNC Mill Concept — Goals, Philosophy & System Architecture](https://blog.hirnschall.net/cnc-mill-concept/goals-philosophy-system-architecture.md): Design goals for a CNC mill targeting ≤ 10 µm accuracy in an apartment, the philosophy behind the structural and control choices, and the five-subsystem architecture. - [Eigenfrequencies with FEM — Tuning Fork Example in NGSolve](https://blog.hirnschall.net/calculating-eigenfrequencies-using-fem.md): Calculate eigenfrequencies and modes using FEM and Rayleigh quotient minimization, with LOBPCG implementation in NGSolve applied to a tuning fork. - [Free Engineering Calculators — Electronics & Physics](https://blog.hirnschall.net/tools.md): Free online calculators for electronics and physics — solve for any unknown given the other variables. Symbolic FSAE solver, and more. - [Capacitors in Parallel Calculator — Total Capacitance](https://blog.hirnschall.net/tools/capacitors-in-parallel.md): Calculate the total capacitance of capacitors in parallel. Add as many capacitors as needed. Includes formula explanation and practical use cases. - [3D Printed Rubber Band Gun — 6 Shot Pistol with Rotating Drum](https://blog.hirnschall.net/rubber-band-gun.md): DIY 3D printed rubber band pistol with a 6-shot rotating drum mechanism. Covers the design, print settings, and assembly. Free STL download included. - [Battery Runtime Calculator — mAh, Current, and Runtime](https://blog.hirnschall.net/tools/battery-runtime.md): Calculate battery runtime from capacity and current draw. Supports power-based loads, converter efficiency, and depth of discharge. Solves for runtime, capacity, or current. - [CNC Mill Concept — Control Electronics, Motion & Electrical](https://blog.hirnschall.net/cnc-mill-concept/electronics-motion-and-electrical.md): ECU and distributed sensor PCBs on STM32G4 with CAN-FD, Duet 3 6HC open-loop stepper motion with HTD belts, and a DIN/EN 60204-1 electrical installation. - [Ideal Gas Cycle Calculator — Symbolic P-V & T-V Solver](https://blog.hirnschall.net/gas-cycle-calculator.md): Symbolic calculator for ideal gas cycle problems (FSAE-friendly). Enter state-change types and knowns, get solved P-V and T-V diagrams in the browser. - [ESP8266 PCB Layout — Antenna Keep-Out & Grounding](https://blog.hirnschall.net/esp8266-pcb-design.md): ESP8266 PCB rules from Espressif's guidelines — 15mm antenna keep-out, decoupling, and copper pour rules to keep WiFi working on your board. - [Capacitor Discharge Calculator — RC and Constant Current](https://blog.hirnschall.net/tools/capacitor-discharge.md): Calculate capacitor discharge time, voltage, current, and charge over time. Supports RC exponential discharge and constant current discharge. Solve for time or voltage. - [CNC Mill Concept — Deferred & Future Work](https://blog.hirnschall.net/cnc-mill-concept/deferred-and-future-work.md): Out of scope for the current CNC mill build: closed-loop servos, glass scales, custom drives, 4th and 5th axis, thermal compensation, and manufacturing docs. - [How to Calculate the Optimal 3D Printed Lens Hood (Canon EF/OpenSCAD)](https://blog.hirnschall.net/canon-lens-hood.md): How long can a 3D printed lens hood be before it vignettes? AOV maths, tulip and tubular hood geometry, and a parametric OpenSCAD tool for Canon EF/EF-S. - [Symbolic FSAE Aero, Vehicle Dynamics and Physics Solver](https://blog.hirnschall.net/everything-aero.md): Open-source symbolic physics calculator for aero and vehicle dynamics (FSAE). Enter knowns and assumptions, let the solver do the rest! - [Maxwell Bridge Calculator — Inductance and Series Resistance](https://blog.hirnschall.net/tools/maxwell-bridge.md): Calculate unknown inductance and series resistance from a balanced Maxwell-Wien bridge. Enter R2, R3, R4, C4 at null; L_x, R_x, and Q are computed. - [CNC Mill Concept — Mechanical Structure & Passive Damping](https://blog.hirnschall.net/cnc-mill-concept/mechanical-structure-and-passive-damping.md): Welded steel box-section frame, gantry geometry, force loop from tool to frame, and four passive damping strategies on the spindle tower and X-carriage beams. - [CNC Mill Concept — Enclosure & Acoustics](https://blog.hirnschall.net/cnc-mill-concept/enclosure-and-acoustics.md): Apartment-compatible acoustic enclosure for the CNC mill: MDF outer panels, automotive foam, and a damped sheet metal liner forming a mass-spring-mass sandwich. - [Voltage Divider Calculator — Solve for V_out, V_in, R1, or R2](https://blog.hirnschall.net/tools/voltage-divider.md): Calculate voltage divider output. Solve for V_out, V_in, R1, or R2 given any three. Divider ratio, current, power, and optional load effect included. - [ESP32 Complete Guide — WiFi for Arduino Projects](https://blog.hirnschall.net/esp32.md): Everything you need to add WiFi to Arduino: module comparison, wiring, code examples, power saving, web server, preferences, and ethernet — one reference hub. - [Flash ESP8266 Without USB Adapter — Use an Arduino](https://blog.hirnschall.net/esp8266-arduino-ide.md): Program any ESP8266 using a spare Arduino as USB-to-serial bridge. Wiring, Arduino IDE setup, and the GPIO0-to-GND trick for firmware upload mode. - [CNC Mill Concept — Vibration, Sensing & Metrology](https://blog.hirnschall.net/cnc-mill-concept/vibration-sensing-and-metrology.md): Vibration and sensing for the CNC mill: piezo microphones, MEMS accelerometers, strain gauge bridges over CAN-FD, and a flexure-mounted sub-100 nm laser tool probe. - [Capacitor Impedance Calculator — Reactance, |Z|, and Phase Angle](https://blog.hirnschall.net/tools/capacitor-impedance.md): Calculate capacitive reactance, impedance magnitude, and phase angle. Solve for X_C, capacitance, or frequency given the other two. Optional series resistance. - [ESP8266 Web Server — 20 Lines Arduino Code Example](https://blog.hirnschall.net/esp8266-webserver.md): ESP8266 web server using ESP8266WebServer.h — connect to WiFi, respond to requests, and read GET parameters. Working Arduino code in 20 lines. - [Perfectly Looping Procedural Animations Using Higher-Dimensional Noise](https://blog.hirnschall.net/perfect-looping-gif.md): Random noise doesn't loop cleanly. By sampling higher-dimensional Perlin noise on a closed path, we generate perfectly looping procedural animations. - [CNC Mill Concept — Piezo Shunt Damping](https://blog.hirnschall.net/cnc-mill-concept/piezo-shunt-damping.md): Electromechanical damping for the CNC mill spindle tower using PZT elements bonded at modal antinodes, R-L shunt networks, and adaptive resistance tuning. - [Inductors in Parallel Calculator — Equivalent Inductance](https://blog.hirnschall.net/tools/inductors-in-parallel.md): Calculate the equivalent inductance of inductors in parallel. Enter any number of values; result is always less than the smallest individual inductor. - [ESP32 Ethernet with W5500 — ETH.h Arduino Code Example](https://blog.hirnschall.net/esp32-w5500-ethernet.md): Add wired Ethernet to an ESP32 with a W5500 module — using ETH.h (not Ethernet.h, which silently breaks on ESP32), DHCP, and mDNS. - [Downloads — Notes and University Papers](https://blog.hirnschall.net/downloads.md): Download Notes and University Papers. - [ESP8266 Power Consumption — Deep Sleep & Battery Life](https://blog.hirnschall.net/esp8266-on-battery.md): ESP8266 draws ~80 mA active and as little as 20 µA in deep sleep. Full breakdown by mode, GPIO16 wake wiring, and formulas to estimate real battery runtime. - [Inductors in Series Calculator — Equivalent Inductance](https://blog.hirnschall.net/tools/inductors-in-series.md): Calculate the equivalent inductance of inductors in series. Values add directly; total L is always greater than any individual inductor. - [ESP8266 Complete Guide — WiFi for Arduino Projects](https://blog.hirnschall.net/esp8266.md): Complete ESP8266 reference: module variants, wiring, code examples, deep sleep battery life, web server, EEPROM, and PCB layout — all in one place. - [ESP32 WebServer.h Example — Arduino Web Server in 30 Lines](https://blog.hirnschall.net/esp32-webserver.md): ESP32 web server with WebServer.h — serve HTML, expose sensor data as JSON, read GET parameters, and access via mDNS. Full example included. - [Capacitor Energy Calculator — Solve for E, C, or V](https://blog.hirnschall.net/tools/capacitor-stored-energy.md): Calculate the energy stored in a capacitor. Solve for energy, capacitance, or voltage given the other two. Stored charge shown as additional output. - [C++ Expression Calculator — Variables & Parsing](https://blog.hirnschall.net/programming-an-advanced-cpp-calculator.md): Build a C++ calculator that parses variables, parentheses, unary operators, and mathematical constants — full recursive descent parser with source code. - [ESP32 Preferences — Save Data Across Reboots (NVS)](https://blog.hirnschall.net/esp32-preferences.md): Persist data on the ESP32 across reboots with the Preferences library. Key-value storage in NVS, read-only namespace, with full code example. - [RC Time Constant Calculator — Solve for τ, R, or C](https://blog.hirnschall.net/tools/rc-time-constant.md): Calculate the RC time constant. Solve for τ, resistance, or capacitance given the other two. Optionally calculate charging or discharging voltage at any time t. - [DIY WiFi Smart Blinds for $10 — Alexa & HomeKit](https://blog.hirnschall.net/diy-smart-window-blinds.md): Automate window blinds with an ESP8266 for under $10. Includes full schematic, Arduino code, and Homebridge setup for Alexa and Apple HomeKit integration. - [RL Time Constant Calculator — Solve for τ, L, or R](https://blog.hirnschall.net/tools/rl-time-constant.md): Calculate the RL time constant τ = L/R. Solve for time constant, inductance, or resistance. Optionally compute energizing or de-energizing current at a given time. - [Maze Generator in JavaScript — Random Walker OOP](https://blog.hirnschall.net/maze-generation-js.md): Build a maze generator in JavaScript using the random walker algorithm. Annotated source code you can drop into a p5.js sketch or any canvas project. - [ESP8266 Pinout — ESP-01, ESP-07, ESP-12E/F Reference](https://blog.hirnschall.net/esp8266-reference.md): ESP8266 pinout for ESP-01, ESP-01S, ESP-07, and ESP-12E/F. Boot mode pins (GPIO0, GPIO2, GPIO15), reset circuit, and minimal wiring for each. - [Wheatstone Bridge Calculator — Balance and Output Voltage](https://blog.hirnschall.net/tools/wheatstone-bridge.md): Calculate the Wheatstone bridge balance condition or output voltage. Solve for any unknown resistor or compute V_out for an unbalanced bridge. - [ESP8266 Level Shifting — Connect 5V Devices Safely](https://blog.hirnschall.net/esp8266-5v-devices.md): ESP8266 GPIO is 3.3V — connect 5V sensors and Arduinos safely using voltage dividers. Includes circuit diagrams and resistor value calculations. - [Capacitors in Series Calculator — Total Capacitance](https://blog.hirnschall.net/tools/capacitors-in-series.md): Calculate the total capacitance of capacitors in series. Add as many capacitors as needed. Includes formula explanation and special cases. - [Inductor Impedance Calculator — Reactance, |Z|, and Phase Angle](https://blog.hirnschall.net/tools/inductor-impedance.md): Calculate inductive reactance, impedance magnitude, and phase angle. Solve for X_L, inductance, or frequency given the other two. Optional series resistance. - [Parallel Plate Capacitor Calculator — Solve Any Variable](https://blog.hirnschall.net/tools/parallel-plate-capacitor.md): Solve for capacitance, plate area, separation, or permittivity given the other three. Online calculator with formula explanation for each variable. - [Gears for 3D Printing — Circular & Non-Circular Design](https://blog.hirnschall.net/gears-for-3d-printing.md): Design circular and non-circular gears for FDM using a circular tooth profile — simpler than involute, uniform teeth on any gear outline. Includes PDF. - [Inductor Energy Calculator — Solve for E, L, or I](https://blog.hirnschall.net/tools/inductor-stored-energy.md): Calculate the energy stored in an inductor. Solve for energy, inductance, or current given the other two. Flux linkage shown as additional output. - [Schering Bridge Calculator — Capacitance, ESR, and Dissipation Factor](https://blog.hirnschall.net/tools/schering-bridge.md): Calculate unknown capacitance and ESR from a balanced Schering bridge. Enter C2, R3, R4, C4 at null; C_x, R_x, dissipation factor, and loss angle are computed. - [LC Resonance Frequency Calculator — Solve for f, L, or C](https://blog.hirnschall.net/tools/lc-resonance-frequency.md): Calculate the resonant frequency of an LC circuit. Solve for frequency, inductance, or capacitance given the other two. Angular frequency shown as additional output. - [DIY Motorized Camera Slider — WiFi Control, Under $100](https://blog.hirnschall.net/diy-motorized-slider.md): Build a WiFi-controlled motorized DSLR camera slider for under $100. Combines 3D-printed parts with metal rails — full BOM, wiring, and control code. - [Flow Field Simulation in JS — Particles & Perlin Noise](https://blog.hirnschall.net/flow-simulation-js.md): Simulate particle flow fields in JavaScript using Perlin noise to drive particle direction. Annotated p5.js source to build visualizations like this one. - [ESP32 HTTP Requests — HTTPClient.h with InfluxDB Example](https://blog.hirnschall.net/esp32-http-request-influxdb.md): Make HTTP GET and POST requests from an ESP32 with HTTPClient.h. Response codes, connection reuse, and logging sensor data to InfluxDB. - [Simulating Real Projects — Structural & Electromagnetic FEM](https://blog.hirnschall.net/fem.md): From computing eigenfrequencies of a tuning fork to full-wave EM simulation of a PCB — practical finite element analysis, applied to real engineering problems. - [Symbolic Engineering Solver: Auto-Solve Physics Problems (FSAE)](https://blog.hirnschall.net/everything-aero-concept.md): Define equation templates, provide knowns, let the solver derive the unknowns. Vehicle dynamics and aero built-in, applicable to any physics system.