Skip to content

Instantly share code, notes, and snippets.

View jclapis's full-sized avatar

Joe Clapis jclapis

  • Rocket Pool
  • USA
View GitHub Profile
@jclapis
jclapis / prusa_mk3_laser_ttl_pin.md
Last active August 13, 2021 22:05
Prusa MK3 Laser TTL Pin Experiments

I have a 3D printer, as most makers do these days. Specifically, I have a Prusa i3 MK3. Recently, I've been looking into rapid prototyping of PCBs with very tiny components - we're talking stuff like QFN packages, which have a pitch of 0.2mm between leads. The typical toner transfer method won't work on pins these tiny, so I need an alternative approach.

After some digging, I found that a lot of people have had great success in this field by using laser etchers. The game plan is to effectively spray-paint a copper board with flat black, fast-dry enamel paint. Once it's dry, you can use a very tightly-focused high-power laser to selectively vaporize the paint, exposing the copper underneath. This effectively turns the paint into an acid mask, just like toner transfer. After this step you just toss the board into ferric chloride (or your etchant of choice) and the rest of the process is the same as toner transfer. The key is that laser diodes can achieve much higher resolutions than laser printers - especially

@jclapis
jclapis / local_nuget_repo.md
Created February 8, 2020 22:30
Adding a Local NuGet Repository to a Soution
  1. Make a file called nuget.config in the same directory as the solution
  2. Open it and add this as the contents:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <add key="Local Repo" value="./lib" />
    </packageSources>
</configuration>
@jclapis
jclapis / skiasharp_arm64.md
Created February 7, 2020 06:13
Building SkiaSharp on a Raspberry Pi 4B

Recently, I've been playing around with a Raspberry Pi 4B that I just picked up. It's an awesome little device for the price; I'm really impressed with what it can do so far. I'm planning to use it as a driver for a DIY observatory I'm working on. As part of that, I'm writing an application that can remote control my camera and a custom motorized mount for my telescope. I decided to use .NET Core as my framework of choice; I'm a big fan of C# and its ecosystem, and the fact that .NET Core 3.1 works on ARM64 systems (which is what the Pi 4B runs) makes it a no-brainer.

Unfortunately, .NET Core doesn't come with any cross-platform UI frameworks out of the box. I use WPF a lot for Windows projects, but one of its biggest weaknesses is that it isn't supported on anything else. The WPF repo already has a very long thread about this very topic, so it's definitely one that's on a lot of peoples' minds. That be