I read a very old post from satoshi where minimum was set at .01 BTC ,but I guess at that that time 1 BTC value was also less than a cent.
546 sats for legacy transactions and 294 sats for (I guess native?) SegWit transactions.
It appears to be implementation dependent though, so to my understanding you could in theory run a node with a smaller dust relay fee and then mine blocks containing transactions below the dust limit (whatever good that would do).
// "Dust" is defined in terms of dustRelayFee,
// which has units satoshis-per-kilobyte.
// If you'd pay more in fees than the value of the output
// to spend something, then we consider it dust.
// A typical spendable non-segwit txout is 34 bytes big, and will
// need a CTxIn of at least 148 bytes to spend:
// so dust is a spendable txout less than
// 182*dustRelayFee/1000 (in satoshis).
// 546 satoshis at the default rate of 3000 sat/kB.
// A typical spendable segwit txout is 31 bytes big, and will
// need a CTxIn of at least 67 bytes to spend:
// so dust is a spendable txout less than
// 98*dustRelayFee/1000 (in satoshis).
// 294 satoshis at the default rate of 3000 sat/kB.