[HN Gopher] Creating a pick and place control board with the RP2040
       ___________________________________________________________________
        
       Creating a pick and place control board with the RP2040
        
       Author : scottwick
       Score  : 100 points
       Date   : 2022-11-05 16:46 UTC (6 hours ago)
        
 (HTM) web link (blog.thea.codes)
 (TXT) w3m dump (blog.thea.codes)
        
       | adamrmcd wrote:
       | I am absolutely loving the author's explanation on WHY each
       | component was selected, placed, and caveats.
       | 
       | The interactive schematics and gerbers are subtle but very
       | effective.
       | 
       | Overall a very clear design and tone I really need to follow for
       | my own PCB projects.
        
         | philsnow wrote:
         | Usually when I read through a build-out description like this,
         | the author writes it for an audience that has a lot more
         | background knowledge than I do. This article, on the other
         | hand, was lucid and the explication helped me follow along.
         | 
         | I got to the part about 3.3V being derived from 5V and thought
         | to myself "why not get it from 24V?" and then just a tiny bit
         | later, there's the bit about USB and how Starfish can just take
         | 5V from the USB host, and it clicked.
         | 
         | I also learned about Sparkfun's QWIIC connector in the aside
         | about the chosen i2c bus switch having two "extra" channels.
         | Love it, thanks for the article, Thea.
        
         | theacodes wrote:
         | Author here, thank you for the kind words! My goal is always to
         | write the thing I would've wanted to have when I started out.
        
           | jakewins wrote:
           | Second the poster above, really enjoyed the reasoning around
           | how and why you picked parts and the intent of various
           | circuits..
           | 
           | Do you have any books you recommend on electronics? I feel I
           | understand the basics, like what various components do in
           | isolation, but would love to level up and understand circuit
           | design like how you are approaching it here
        
             | theacodes wrote:
             | I'll echo sibling's comment about just doing it. Theory
             | only takes you so far, it's important to actually build and
             | experiment, even if it's just in a simulator.
             | 
             | I can recommend Practical Electronics for Inventors as a
             | solid base of projects to experiment with and learn from.
             | If you want to learn how to improve circuits and optimize
             | for specific behaviors, there is a wealth of information in
             | manufacturer application notes. A lot of the protection
             | circuitry used in my article follows advice found in
             | application notes.
        
             | caraffle wrote:
             | IMO the best way is to just pick a project and work on it.
             | Using application notes and datasheets lets you piece
             | together circuits, and you pick up design patterns along
             | the way.
        
           | scottwick wrote:
           | Fantastic write up - thank you! I also love hearing about why
           | each part was chosen. As an electronics hobbyist I often
           | mimic portions of others' designs but I'm not always entirely
           | sure why a certain part was chosen among the various options.
           | 
           | Do you prototype all this on a breadboard before making the
           | PCB and picking specific parts? I'd be curious to hear more
           | about your process. I feel like I always need to test
           | everything I build on a breadboard first since I inevitably
           | miss some small detail if I go straight to schematic + PCB
           | design.
        
             | theacodes wrote:
             | Great question! It really depends. If I'm working with a
             | part I haven't ever worked with before, I'll often make a
             | minimal breakout board that I can talk to with a devboard
             | like an Arduino or Feather.
             | 
             | If I'm pretty familiar with everything, I generally dive
             | into a rough PCB layout and debug from there. If I
             | absolutely can't get anything to work, I'll go back to the
             | drawing board and possibly do some little breakouts, for
             | example:
             | https://twitter.com/theavalkyrie/status/1457845661370568709
             | 
             | Edit: for this specific project I did make breakouts for
             | testing the MOSFETs and solenoid drivers. I'm glad I did,
             | since I was able to try out a couple of different options
             | for each:
             | https://twitter.com/theavalkyrie/status/1550878465876004865
        
       | sintezcs wrote:
       | I'd be happy to read about the software part of the project. How
       | was the firmware created? Which language was used and why? How
       | does it communicate with the host and what software do you need
       | to run on the host?
        
         | theacodes wrote:
         | Hi! I'm planning on talking about that in an upcoming post.
         | There's options - you can run 3d printer firmware like Marlin
         | (C++/Arduino) or Klipper (Python & C), the tricky bit is
         | getting those to talk to the vacuum sensors. Communication is
         | via gcode commands sent over USB serial. Most folks are running
         | their Lumen with OpenPNP on the host.
         | 
         | I'm actually running completely custom firmware that I wrote
         | specifically for this board that's written in C and uses
         | Raspberry Pi's pico SDK. It's similar to Marlin/Klipper in that
         | the host communicates via gcode over USB serial and that
         | movement commands are more or less done the same, but it gives
         | me the flexibility to simplify the whole host view of the
         | pneumatics. It absolutely wasn't necessary for me to this, I
         | just wanted to.
        
       | KANahas wrote:
       | @theacodes-
       | 
       | I'm blown away by the awesome inline KiCad visualizations. Did
       | you use any tooling for capturing the layout view so the layers
       | could be overlapped so easily?
       | 
       | Any thoughts on making a library for this so others can build
       | sites as beautiful as yours? It'd be a great tool for sure. As
       | noted elsewhere in the comments, your documentation is top notch.
       | 
       | Thanks!
        
         | theacodes wrote:
         | Thank you! For the board layers I just used macOS's screenshot
         | utility, though I would like to do something fancier in the
         | future. The schematics are rendered using code I wrote
         | specifically for this article, but I am planning to publish it
         | as an open source library so others can use it. It needs a
         | little bit more polishing before it's ready, though! You can
         | follow me on Twitter if you wanna get updates about it.
        
           | e-_pusher wrote:
           | I wish there was an easy way to embed a KiCad layout to a
           | webpage in a zoomable format for design reviews. One way is
           | to export an SVG file and show it on the web, but in my
           | experience this starts to choke on large boards.
           | 
           | This website has a cool implementation of a KiCad web viewer:
           | 
           | https://climbers.net/sbc/kicad-web-viewer/
        
       ___________________________________________________________________
       (page generated 2022-11-05 23:00 UTC)