Hacker News new | ask | show | jobs
by pp-ir 1986 days ago
I'll be very happy for my industrial projects if BCM2711 come with CAN or RS485 built-in, but for the moment, there is nothing planned by Raspberry...

A low speed 115200 baud link does the job, with applicative CRC on both side to be sure there is no corruption.

My method to test communication robustness: I inject pulses through a capacitor directly on the UART lines. I did it on this project, no problem. The four bytes CRC32 prevents random EM noise errors.

STM32 telemetry code is here:

https://github.com/makers-for-life/makair-firmware/blob/mast...

Pierre, author of the article.

2 comments

I think the problem OP is referring to is that if you were proposing this design for a approved medical device for use in say US & EU, you might have trouble passing e.g. 60601 because of the communication channel. I haven't looked over the design in detail but EMI etc. can be quite tricky to manage in this sort of device.
You're right. We will see. EMC tests are part of our program.
Are you working with a test house? They can really help pin down issues quickly.

Sounds like a fun project!

Yes we are :) The first days were fun. Then the french government pushed the project. Challenging, crazy, but exhausting. 25 days without coming back home! Then the lockdown did the job, and the project was not so urgent, so the ANSM (french equivalent of US FDA) was not so in a hurry. And now it seems to take ages for us between two administrative steps, but it is still fast for ANSM. Development of a ventilator take normally a few years!
Good stuff! Device projects typically take a while. Industry average for a device like this is something like 3-5 years start to finish, so you are right it's pretty quick (although other ventilator efforts have been similarly fast - it's almost like there was extraordinary motivation).

I've seen 18 months before, but that was primarily software. I think the FDA clock on evaluation is 120 days now, that's after all the i's are dotted and t's crossed. EU MDD/MDR is similar, iirc.

Congrats on getting something together quickly!

If your embedded stack supports USB you could use CDC ACM for possibly more robust comms (checksummed by USB, no need for RTS/CTS).

Also there are CAN hats for rPi (SPI) or USB<->CAN bridges (using slcan protocol and Linux driver).