James Mitchell

Hi, I'm James Mitchell

CIOS • Maker • Problem Solver

I build things, break things, and figure out how they work. JimDotDev is my public notebook for projects, experiments, lessons learned, and technical discoveries across making, computing, signals, research, and everyday problem solving.

Latest Articles

View all posts →

Printer upgrade - Bambu P2S AMS2

It's hard to believe it's been over 10 years since owning my first 3D printer.

It all started with a Vertex K8400. Like most printers at the time, it wasn't exactly plug and play, but it hooked me immediately. Before long I was building RepRap machines with welded steel frames that I fabricated myself, experimenting with Anet A8s, moving through CR-10s, spending years with the Artillery Sidewinder X1, and eventually adding SLA printing to the workshop.

If you've been in the hobby for a while, you'll know every printer had its own temperament.

Some fighting you every step of the way, others needing another upgrade before you even really get it out of the box.

Those machines taught me far more than how to print plastic. They pushed me into CAD and design, electronics, mechanics, firmware, and manufacturing. Before I knew it, what started as a hobby had become another tool that helped shape my career.

The Artillery X1 deserves a lot of credit. It has been an incredibly reliable machine for me and has produced a lot of great parts over the years, but after spending so much time in a continual tinker stage - I was wanting something more.

That's what brought me to the Bambu P2S with the AMS 2.

I'm still getting to know it, but so far it has felt less like setting up another machine and more like adding another tool to the workshop. The printer, AMS, Bambu Studio and MakerLab all fit together in a way that lets you spend less time figuring things out and more time making something. It basically configured itself.

MakerLab has also been useful tool I've overlooked. AI-assisted tools that can turn an image into a relief, generate printable models, or help someone bring an idea to life don't replace learning CAD—they simply make creating more accessible. This is something I am looking forward in seeing my family gain further involvement.

So far, pretty impressive machine!

Lowrider CNC Jackpot Controller

LowRider CNC - Finally Installing the Jackpot Controller

The Jackpot controller has been sitting on my bench for quite a while. My LowRider was already running reliably with an SKR board, so there wasn't much incentive to change it. With some free time, I finally decided it was time to make the move to FluidNC.

The first step was removing the existing SKR controller and documenting the wiring before disconnecting anything. Fortunately, the migration was straightforward. The only hardware changes required were replacing two connectors to match the Jackpot board. Once those were changed, the remaining wiring transferred over without much trouble.

With the controller installed, I powered everything up and connected to the Jackpot over Wi-Fi. After confirming communication, I reloaded my "config.yaml" configuration and started verifying each axis, endstop, and probe input. It's always worth taking the time to test each function individually before assuming everything is correct.

On the CAM side, I created a basic FluidNC post processor in Alphacam to get the machine moving. The initial version was intentionally simple—just enough to output clean G-code while I verified motion, probing, and general machine operation. As testing progresses, I'll continue adding the features I rely on in my normal workflow.

With the controller configured and the post processor producing usable code, it was time for the first test cuts. A few simple toolpaths confirmed that the machine was responding correctly, the coordinate system was behaving as expected, and the overall migration had been successful.

There is still work to do before I consider the conversion complete. I want to refine the Alphacam post, verify tool changes and probing routines, and spend some time cutting real projects before drawing any conclusions.

So far, though, the transition from the SKR board to the Jackpot controller has been much smoother than I expected. Hopefully these notes will help anyone else considering making the same upgrade.

Getting Started with the NanoVNA H - What I Learned


After spending a few hours with the NanoVNA H, I figured I'd write down what actually stuck. This isn't intended to be a tutorial. My goal was simply to understand enough to begin tuning the telescoping dipole I've been using for weather satellite reception. As I dug into the NanoVNA and worked through the setup, these are the things I came away with.

The reason I bought the NanoVNA wasn't just to own another gadget. I wanted to stop guessing.

My immediate goal is tuning the telescoping dipole I've been using with the 3D printed 120° clip I made for weather satellite reception. Ultimately I'd like to use it to receive Meteor-M No. 2-4 LRPT images with my HackRF and SatDump, but before worrying about satellites I needed to understand the instrument sitting on my bench.

Out of the box the NanoVNA displays several traces at once. There is S11, S21, a Smith Chart and phase information. Rather than trying to understand all of them at once, I disabled everything except S11 LogMag.

From what I understand so far, S11 LogMag is showing how much of the transmitted signal is reflected back from whatever is connected to Port 1. Since tuning an antenna is really about minimizing those reflections at the frequency you're interested in, that became the graph I wanted to focus on.

The other displays are simply different ways of representing RF measurements. The Smith Chart, for example, is displaying impedance graphically. I'll get there eventually, but for now one graph is enough.

Before calibrating anything, I learned that you should first decide what frequencies you're interested in.

For my antenna I set:

  • Centre Frequency: 137.5 MHz
  • Span: 10 MHz

That gives me a measurement window from approximately 132.5 MHz to 142.5 MHz, which comfortably covers the weather satellite frequencies I'm interested in.

One thing that briefly confused me was entering frequencies. After typing a value the NanoVNA asks whether it's H, k, M or G. It eventually clicked that it was simply asking if I meant Hz, kHz, MHz or GHz.

Calibration

This was probably the biggest takeaway.

Calibration isn't just about the NanoVNA itself. It's about the entire measurement path.

Rather than calibrating directly on the front of the NanoVNA, I left my SMA test cable and coupler attached, then performed the calibration at the end of that assembly.

The supplied standards are easy to identify once you know what they are.


  • Open – the connector with the empty centre.
  • Short – the all-metal connector.
  • Load – the connector with the white insulator containing a precision 50 Ω load.

Work through Open, Short and Load, press Done, then save the calibration.

One thing that still makes me laugh...

It's called SOL calibration, yet you perform Open, Short, Load. Maybe there's a historical reason, but my brain still wants to call it OSL.

The first surprise

Once everything was calibrated I connected my dipole expecting to start tuning.

Instead I discovered something I'd completely forgotten.

The antenna still had its original 75 ohm to 300 ohm television balun attached.

So instead of measuring the antenna itself, I was actually measuring:

NanoVNA - Test Cable - TV Balun - Dipole

That explained why the results weren't quite what I expected.

Rather than modifying it immediately, I think I'm going to leave it exactly as it is and measure it both ways. I have a feeling I'll learn more by understanding what the balun is doing than by simply replacing it.

What I retained

The things that stuck with me were:

  • Simplify the display before trying to understand it.
  • Decide what frequencies you're actually interested in.
  • Calibrate with the measurement cable attached.
  • Save the calibration before measuring anything.
  • S11 LogMag is the graph I'll probably spend the most time looking at while tuning antennas.
  • If the measurements don't make sense, don't assume the NanoVNA is wrong. Check what you've actually connected to it.


Building a Cajón



I don't consider myself a woodworker, and I'm certainly not an instrument maker, but that didn't stop me from wondering if I could build a cajón from scratch.


The project started in SolidWorks, where I designed the enclosure before preparing the parts for my LowRider CNC in Alphacam. After sourcing a proper snare assembly, I spent time researching how different construction techniques influenced the sound, then experimented with a few ideas of my own.


One of the more interesting experiments was a magnetic snap-on ring for the rear sound hole. The idea was to quickly change the opening size and see how it affected the tone and resonance without permanently modifying the instrument.

This was very much a prototype, and looking back a year later I already have a list of improvements I'd make for Version 2. That said, it turned out better than I expected. I built it for a friend who's a percussionist, and hearing that it still rides around in his vehicle and gets played regularly is probably the best feedback I could ask for.

This sparked my interest in woodworking more and I have since acquired more tools to make these projects easier.

SQL



I completed this SoloLearn certificate as part of the same development roadmap as HTML, although SQL was already something I worked with regularly.

Much of my day-to-day involved supporting Microsoft SQL Server installations for Cabinet Vision, troubleshooting connectivity, permissions, and database issues. As I became more involved with Combit List & Label report development, I found myself writing increasingly complex queries rather than simply supporting the database.

SoloLearn's interactive exercises were a great way to reinforce the fundamentals and become more fluent writing SQL. It helped build on knowledge I already had and gave me greater confidence when developing reports and working with T-SQL.

Introduction to Python


I completed this certificate as part of the same web development roadmap through SoloLearn. While I wouldn't call myself a Python developer, the course provided a solid foundation in the language and reinforced the basics of scripting.

Python has become one of those tools that's incredibly useful for automating repetitive tasks, especially when working in Linux environments. Whether it's processing files, creating small utilities, or simplifying day-to-day workflows, having a fundamental understanding of Python has proven to be a valuable addition to my toolbox.

HTML fundamentals certificate


Back in 1996-1997 I spent countless hours teaching myself HTML (between hours of playing Diablo) using HotDog HTML Editor—a piece of software my dad had picked up from a bargain bin. It was my first real introduction to creating something on a computer from scratch, and I probably learned more by trial and error than by following any guide.

I completed this certificate a while back in part of a web development roadmap with Sololearn. While web development has become less of an interest of mine, it's use is still valuable in many IOT development projects using devices such as the esp32 for back end user interfaces for configurations.

About Me

James Mitchell

I'm James Mitchell, an IT Operations Specialist, builder, and lifelong learner. JimDotDev is where I document projects, experiments, lessons learned, and technical discoveries across fabrication, computing, RF systems, research, and practical problem solving.