Andy Clark of element14 has designed and built a simple robot that can warn him before posting an unkind comment to an online forum.
To accomplish this, Clark connected a USB keyboard to an FTDI host module. This passes serial data to an Arduino MKR Zero, which performs a sentiment analysis. The Arduino then simultaneously passes the unaltered keyboard input to a host computer (by itself acting as a USB keyboard), and controls a servo (based on the sentiment analysis) that causes the robot to either smile or frown.
The robot itself is a wood cut-out of a face with large googly eyes. Hidden behind are 3D printed gears turned by the servo that cause the “mouth” to change appearance. If you see a frown, you may want to reconsider what you have just written before clicking “submit.”
The sentiment analysis algorithm was developed in a Google Colab notebook. A tiny (less than 300 parameter) neural network was developed and trained. The notebook exported C language code representing the trained model that was then transferred to the Arduino IDE.
Depending on your perspective, the final result is either a helpful robot friend keeping you from future regrets, or a nosy nanny watching and criticizing your every move. Either way, it is a fun and fairly easy build for anyone looking for a weekend project. Get all the details in the following video from element14.