Built with LEGO Mindstorms EV3 bricks, this 3-axis pen plotter prints Twitter tweets that mention its Twitter handle.
The plotter was designed around a rack and worm gear drive system to mimic the lead screw design that is common in CNC routers. The x-axis has dual drive gears and guide rods, while the y-axis has a single drive and guide system. The z-axis is a direct-drive rack and pinion combination. Overall usable printing area is 50mm x 50mm.
Hardware limit switches are used to reset and home the robot, then software position monitoring ensures the robot operates within the working envelop.
The paper feed mechanism uses pinch rollers actuated by a chain drive. A simple spring maintains tension on the rollers.
A regular ball-point pen provides the ink for the plotter.
The first version was programmed with Small BASIC, using the ev3basic libraries, to test functionality. It ran tethered to a PC and printed hard-coded text strings.
The software was later ported to Python, using the ev3python libraries and running ev3dev OS on the brick. Integration with the Twitter API was added and along with the WIFI adapter, the plotter runs independently to print Twitter mentions.
Currently, the plotter only prints straight lines and 45 degree angles. Next steps are to control motor speeds individually to allow for any diagonal angle, and to vary each motor's duty cycle in real-time for curves and circles. A G-Code interpreter is also planned for graphical printing.