Skip to main content Link Search Menu Expand Document (external link)

working on PCB / July, 2022


After many years, I’m finally giving a try at designing a PCB by myself. For that, in the past weeks I have tried different software but KiCad 6 was the best in my opinion.

So, below a few features I’ve been tinkering with:

  • USB C: many suggested and I found that is a good idea to use that connector, even if it is using only USB 2.0.
  • Fixed 12v power input: a power supply easier to find.
  • 6v and 3v3 power rails, as in the first prototype.
  • FTDI for serial communication.
  • ESP32D: I’ve pondered a lot about using the new ESP32-S3, but it is not so easy to find it around (including the devkit). In the future, it could be a good idea to experiment with it, being then able to remove the FTDI as it has embedded USB communication and many other perks that could be useful for automation, speech recognition, etc.
  • Auto boot & reset buttons, as in devkit modules.
  • Wi-fi reset button, adjacent to the above.
  • A4988 module (or maybe a DRV8825 for 1/32 micro stepping?), with output pins aligned to the NEMA motor input.
  • ULN2003 is now fully embedded. Also with its 5 output pins aligned to the motor.
  • Hall sensor, now with headers to directly plug the Keyes ky-003 breakout: 3d printed support is not needed anymore. lots of LEDs to see things happening around: I love blinking stuff, lots of fun! not related to the PCB itself, but projected a new top part to receive a bigger OLED display, with 128x64px (instead of 32px height) in order to ease the QR code reading.

…And of course, the board edge cuts, dimensions and mounting holes have been thought to improve the machine structural rigidity. Also, as I pointed above, all the I/O pin headers do respect the external physical components’ position, aligned to ease cable management.

Things yet to be defined:

  • Whether to handle USB power while connected to 12v: would be useful for using the machine while connected to a pc via serial, but other than that, not much — as in the prototype, right now there is a jumper to connect the 12v rail;
  • Using a switch for master on/off: I like the idea, but didn’t find any switch that was nice and at the same time capable of handling the power. Them all seemed too bulky.

That’s it, I hope to have more updates soon! If you are curious or have any suggestions, there is a branch called “manufactured-pcb” on the GitHub repository ;)