Obligatory Computerphile/Tom Scott video on why voting machines are an awful idea; if you haven't seen it, it's a great watch: https://youtu.be/w3_0x6oaDmI
In all honesty, I like the implementation Estonia is doing.
In effect, your identity card allows you to vote as many times as you wish. You cannot see your vote, but the newest vote overwrites the previous vote.
This means, that if you are coerced to vote a certain way, you can simply make another vote and wipe out the previous one.
The only downside is this would require a national ID program, which many religious extremists are very much against.
Many not-religious-extremists are against it too. Given the abysmal security record of the federal government, putting all the things in one database instead of having it distributed among 50 just makes it a bigger target.
That, and knowing the federal government, such a system would cost a ton, be an overwrought mess of spaghetti code created by some Enterprise Software(c) firm, barely work, and most importantly, be rolled out primarily to benefit the government, rather than the citizens paying for it.
Having a smartcard and having a single database are two completely orthogonal issues. In my country, we have the former without the latter - in fact, we still have different IDs for different services¹. The smartcard serves as a single authentication device, much like you can have a single SSH key for many servers.
¹ Using a single ID for each person is forbidden by our constitution, in the article regarding the usage of IT.
Fair enough, but that still doesn't obviate the cost and competence concerns. Knowing the state of fed IT, it would probably wind up being a 5-year-old RSA dongle variant that uses RC4 or some such.
Obligatory Computerphile/Tom Scott video on why voting machines are an awful idea; if you haven't seen it, it's a great watch: https://youtu.be/w3_0x6oaDmI