Embedded Calculators & Part Finder

Size a value with 64 free calculators, then find the real component that fits — in stock, at the best price. For MCU, power, RF & firmware. No account.

📐
PWM / Timer
Frequency, period, duty cycle
📡
UART Baud Rate
Error rate, PASS/FAIL check
📊
ADC Resolution
LSB voltage, SNR, dynamic range
🐕
Watchdog Timer
STM32 IWDG & WWDG timeouts
🎛
I2C Timing
Bus timing & pull-up values
🚌
CAN Bus Bit Timing
STM32 bxCAN/FDCAN & MCP2515
🔌
SPI Timing
Bit period, frame, throughput
🔗
RS-485 Bus
Cable length, termination, bias
🚗
LIN Bus Timing
Bit, break, frame time
🏭
Modbus RTU Timing
Char & inter-frame gaps
🔁
Ring Buffer / DMA
Buffer sizing
🧩
Register Map → C
Bitfield struct & macros
🧾
CRC → C Code
Lookup table & function
⚙️
Stepper Motor
Steps/rev, microstep, pulse rate
🌀
BLDC / PMSM Speed
Motor electrical freq, pole pairs
🎯
Rotary Encoder
Motor encoder counts/rev
🔧
Motor Torque ↔ Power
N·m, RPM, Watts, hp
🔥
MOSFET Power Loss
Conduction & switching loss
🧲
Transformer Turns
Ratio, Ns, current ratio
🔋
LDO Dropout / Power
Heat dissipation & efficiency
🎵
I2S Audio Clock
BCLK, LRCLK, bit period
USB Data Lines
Bit time, 90Ω, termination
🌐
Ethernet Cable
Bit time, delay, 100m limit
🔲
Bit Field Visualizer
32-bit register breakdown
🔢
Q-Format Converter
Float ↔ fixed-point
🧮
Number Base Converter
Dec, Hex, Bin, Oct converter
🔢
IEEE 754 Visualizer
32-bit Float & 64-bit Double
🔄
Endian Swap
Big/Little/Mid-Endian byte swap
📦
Struct Alignment
C struct padding & visualizer
💾
Memory & Transmission
Bytes, baud rate & sample times
🔠
Glyph Mapper
7-Segment & Character LCD custom font generator
💎
Crystal Load Cap
Oscillator load capacitor sizing
Ohm's Law
V, I, R, P — any 2 → all 4
Voltage Divider
Vout, loaded divider, Thevenin
💡
LED Resistor
Series/parallel configs & E24
🎨
Resistor Code
Color bands & SMD decoder
🔺
Op-Amp Gain
Amp configurations & Schmitt
📐
Instrumentation Amp
3-op-amp in-amp gain & Vout
🔻
Op-Amp Resistor
Inverting/Non-inv → R2,R3,R4
🔀
BJT Bias CE
Q-point & stability factor
NE555 Timer
Astable / monostable
🔋
Capacitor Charge
RC time constant, τ milestones
📉
Buck / Boost
Switching regulator design
🔌
AWG Wire Gauge
Wire gauge & voltage drop
🧮
Series / Parallel
R · C · L equivalent value
🔋
LM317 Regulator
Adjustable Vout & R2 solver
Current Divider
Branch currents in parallel R
LC Resonance
LCR resonant freq, Q-factor
RC Filter
Cutoff frequency, gain & phase
🔊
dB Converter
dB, dBm & mW bidirectional
🔄
CRC Calculator
CRC-8/16/32, 7 polynomials
🔄
Checksum / CRC
XOR, Sum8/16, LRC, CRC
🛣️
PCB Trace Calc
IPC impedance & trace width
🎚
Active Filter
Sallen-Key 2nd-order LPF/HPF
📡
RF Trans. Line
Microstrip impedance (IPC-2141)
📶
VSWR / Return Loss
Γ, return & mismatch loss
🛰️
RF Link Budget
FSPL, Rx power, margin
〰️
Wavelength / Antenna
λ, λ/2 dipole, λ/4 whip
📶
Attenuator Pad
T / Pi resistor values (dB)
🌀
Coil Inductance
Air-core solenoid (Wheeler)
🔋
Battery Life
Estimated system run-time
🌡
Temperature
Units & RTD sensor temps
🌉
Wheatstone Bridge
Bridge Vout & balance
🔥
Junction Temp
Thermal Tj & max power
🚌

CAN Bus Bit Timing Calculator

Calculate bit timing parameters and register values for STM32 bxCAN, STM32 FDCAN, and MCP2515 controllers.

Quick Presets
Input Parameters
Controller Results Comparison

STM32 bxCAN

BRP / TS1 / TS2 (SJW)
Sample Point / Total TQ
CAN_BTR Register (Hex)

STM32 FDCAN (Nominal)

BRP / TS1 / TS2 (SJW)
Sample Point / Total TQ
FDCAN_NBTP Register (Hex)

MCP2515 Standalone CAN

BRP / PropSeg / PS1 / PS2 (SJW)
Sample Point / Total TQ
CNF1 / CNF2 / CNF3 (Hex)
💡 Usage & Formula

CAN (Controller Area Network) bit timing splits one bit time into four segments: Sync_Seg, Prop_Seg, Phase_Seg1, and Phase_Seg2. The sample point is the time at which the bus level is read.

Timing Segment Formulas:

  • Total TQ: 1 + Prop_Seg + Phase_Seg1 + Phase_Seg2 (or 1 + TS1 + TS2 where TS1 = Prop_Seg + Phase_Seg1)
  • Baud Rate: Clock / (BRP * Total_TQ)
  • Sample Point (%): (1 + Prop_Seg + Phase_Seg1) / Total_TQ * 100

Usage: Input the peripheral clock frequency, target baud rate, and desired sample point. The solver automatically searches for the best timing registers that minimize sample point error and fit the hardware limits.

When you need it: Bringing up bxCAN/FDCAN on an STM32, or an MCP2515, and needing to hit an exact bus bit rate (e.g. 500 kbit/s) with a sample point that matches every other node on the bus. Get it wrong and the node throws error frames, goes bus-off, or silently drops messages — one of the most common CAN bring-up problems.

Worked example: 36 MHz APB clock, 500 kbit/s, 87.5% sample point → 8 total time quanta with BRP = 9 gives 36e6 / (9 × 8) = 500 kbit/s. With TS1 = 6 and TS2 = 1, the sample point is (1 + 6) / 8 = 87.5%.

Tips & gotchas:

  • CiA recommends a sample point of 87.5% for bit rates up to 800 kbit/s and 75% for 1 Mbit/s.
  • Keep SJW ≤ min(Phase_Seg1, Phase_Seg2); a larger SJW tolerates more oscillator drift between nodes.
  • All nodes must agree on bit rate and roughly on sample point — mixed sample points reduce noise margin.
  • STM32 and MCP2515 number their timing segments differently; always cross-check the exact register fields in your datasheet.