Firmware setup

A project log for Minimal Pico Vertical Plotter

Building and improving a Raspberry Pi Pico-based, wall-hanging vertical plotter.

andy-piperAndy Piper 10/27/2023 at 22:160 Comments

Getting the firmware (code on the Pico) into shape was one of the more interesting parts of this project.

The code shared alongside the HackSpace magazine article is incomplete, forked and modified from a repo that is primarily in Chinese, and over a year old.

I've created my own fork of Ben's fork, and inside that right now there's a pico-w-build branch which is getting commits as I get to grips with the code.

Quick run-down of changes and approach:

All of this took a fair bit of build/reset/upload work, with the motors and servo wired to the Pico, in order to confirm that the firmware is good. That's a large part of why I ended up adding the (white) reset button to the protoboard.

At this stage I'm able to compile and upload the sketch to the Pico W, and also, have the buttons trigger the expected actions (motor 1 & 2 up and down, pen up and down, and switching into GCode command receiver mode). I've been checking serial output using tio, for macOS, and Arduino Serial Monitor. Assuming that the code supplied with the article will in fact plot from a GCode file as intended, this means that I'm most of the way there.

In theory, the final steps here are getting desktop software to talk to the plotter, and having the plotter do something useful.

I have some ideas for changes to the firmware if I stick with this minimal, sub-GRBL implementation: