Could you elaborate on your overfitting? I’m seeing a train accuracy of 43%, overfitting is when your model is fitting to closely to your training data (performing amazing on it) and performing poorly on your test set.
I just want to clarify that I’m not misreading your training accuracy. The way we go about preventing overfitting and generally just improving our model performance is different.
Here are some things I would suggest at first glance:

Adjust kernel size down to 3 (learning over 3 elements is easier than over 5)
Adjusting your number of channels. Consider “upping” your channels and then “downing” your channels. That is, maybe a progression like so: 1 -> 8 -> 4. (So three conv1d layers)
Adjusting or adding more linear layers. Currently you’re going from 20*394 = 7880 down to 100. This is a massive reduction. If you add an additional linear layer, you can do something like this instead: 7880 -> 985 (1/8 reduction) -> 50 (~1/20 reduction) -> 1. But if you adjust the number of out channels from the final convolution, these numbers are going to be different.

I would suggest to try playing around with the changes I suggested and seeing what works and what doesn’t work. Don’t worry about your validation accuracy yet, let’s try to do a good job with the training set first. If we see overfitting afterwards, there’s ways we can combat this (regularization or less parameters, other techniques too)