I am also stuck trying to get this to work. Some research reveals that there may be a ca_certs parameter required to include Amazon's root CA. I've tried it like this but no luck:
while True:
output.setText('Setting up mqtt')
m5mqtt = M5mqtt('m5stick', 'a2zey9c7ts6fdf-ats.iot.us-west-2.amazonaws.com', 1883, '', '', 300, ssl = True, ssl_params = {'key': "/flash/res/priv.key", 'cert': "/flash/res/cert.pem", 'ca_certs': "/flash/res/ca.pem"})
m5mqtt.subscribe(str(''), fun__)
output.setText('starting mqtt')
m5mqtt.start()
output.setText('publishing hello world')
m5mqtt.publish(str('test'),str('hello world'))
output.setText('sent hello world')
wait(1)
wait_ms(2)
Can anyone from m5stack confirm whether ca_certs is a supported ssl parameter?