Lowrider CNC Jackpot Controller
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
SQL
Introduction to Python
HTML fundamentals certificate
OpenAI: Applied AI Foundations
Building a Foundation in AI
While I've already spent a fair amount of time experimenting with AI, I recently completed OpenAI Academy's AI Foundations course.
Much of the material reinforced concepts I had already begun exploring on my own, but that was exactly the reason for taking it. Before diving further into areas such as automation, local models, and security research, I wanted to ensure my understanding was built on a solid foundation rather than assumptions.
Artificial Intelligence feels very similar to the early growth of the Internet or the evolution of search engines. At first, they were interesting technologies that few people fully understood. Over time, they became fundamental tools that changed nearly every industry. AI is following a similar path, with organizations rapidly adapting it into products, workflows, and everyday operations.
Whether you're excited about AI or skeptical of it, its influence on technology is difficult to ignore. Understanding the fundamentals—what these models are, where they're effective, where they fall short, and how they should be applied—is becoming just as important as understanding the technologies that came before them.
For me, this course wasn't about earning a certificate. It was about taking the time to strengthen the basics before continuing to explore a field that's evolving faster than almost anything else in technology.
Repurposing an Old Tablet: A Time Hole of SDKs, Bootloops, and Stubborn Curiosity
What started as a small idea — turning an old Samsung Galaxy Tab 4 (SM-T230NU) into a dedicated FluidNC pendant — turned into a full dive into Android development, debugging, firmware archaeology, and system recovery.
Here’s the real takeaway from today.
Coming Up With a Simple Goal
The original goal wasn’t complicated:
- Old tablet
- FluidNC web interface
- Fullscreen
- Landscape
- Launch on boot
A normal person would’ve added the webpage to the home screen in Chrome and been done with it - and I might regret not stopping there - but it all came from curiosty.
Learning the SDK Environment
I spent time in Android Studio learning:
- How project structure is laid out
- Where manifests, layouts, Kotlin files, and themes actually live
- How Gradle build files fit together
- How SDK versions impact compatibility
I went from not knowing where things were to being able to navigate the project tree quickly and edit the right files without guessing.
I built a working APK — even if the target browser engine didn’t support what FluidNC needed, the app did exactly what I wrote it to do.
Using ADB and PowerShell
I pushed deeper into device-level interaction:
- Installed platform-tools
- Added ADB to system PATH
- Queried the device
- Verified connection in developer mode
- Used ADB to sideload, inspect, and test
Following the Rabbit Hole Further
Once it became obvious that Android 4.4 was the real limitation, not the app, I kept going.
That led me into:
- Hunting down discontinued libraries (Crosswalk, old .aar packages)
- Trying different browser runtimes
- Experimenting with launching Chrome in kiosk-like modes
- Testing fullscreen flags and orientation locks
- Dealing with missing APIs and deprecated functions
It stopped being about FluidNC at that point.
It became about a carefree environment for testing Android development that sparked from a simple project.
Stepping Into Firmware Territory
When software limits hit a wall, I decided to try upgrading the tablet entirely — aiming for LineageOS or anything newer than KitKat.
That started a different rabbit hole:
- Searching for factory firmware for a device long out of support
- Sorting through mismatched builds and dead download links
- Learning how PIT files map partitions
- Understanding (or trying to) why Odin fails during writes
- Flashing TWRP
- Watching the tablet "soft-brick" into recovery loops
- Figuring out how Samsung’s download mode actually behaves
- Attempting to restore system partitions manually
A lot of it was trial and error.
A lot of it was frustrating.
None of it was wasted.
It was about chasing a small idea until it forced me to learn:
- Android app fundamentals
- Legacy WebView limitations
- How Chrome vs system web engines differ
- ADB usage
- Firmware flashing and partition mapping
- Bootloader interactions
- How older hardware complicates everything
And honestly — it was interesting the whole way through.
Even if the tablet fought back at every step, I walked away knowing a lot more than when I started.
Creality Ferret 3D Scanner
The above photo is the third attempt at using the Creality Ferret - and the results are looking promising! While setup did not come without some of its challanges and learning curves, I believe it will be a useful tool for design going forward.
From the Creality website:
Based on the specs alone, we are to safe assume that we are limited by the .1mm accuracy, resolution and point distance of .16mm and the NIR ( near infrared) light source limiting our scanning ability for certain materials and thin objects, opposed to laser scanners, but overall a seemingly great entry level scanner.
Challanges
Getting started, I began with my phone which is a Samsung Ultra 23. To note, this version ood the scanner did not include the wifi bridge - so what's included is a 4500 mah battery boom, high speed USB C connector and the scaning unit. Connecting it to my phone was a tad frustrating, as I could not get it to remain connected. Thinking this was an issue with lint in my input, I spent a lot of time fiddling with what I thought was a hardware issue that seemly fixed itself after I happened to reboot my phone. It turns out, I will need to reboot my phone following every scan from this point forward, an annoyance for sure.
Following a scan, it warned me that my capture was large and require much time to mesh, and I should bring my project to my PC for meshing. I seemed to quickly have found the limitations of my phone hardware.
Switching to PC, I discovered that I was not utilizing my dedicated GPU (Graphics processing unit) and that Creality Scan was using the integrated display adapter. Once I changed this, the performance was great. I was able to use my high speed USB C cable that was purchased for my Oculus 2 before I figured out an Airlink solution, allowing me some addition travel while wired.
Laptop specs:
I9 14th Gen
64GB RAM
SSD's
4070
To play with a bit of a use case, I took my 1994 Tiger Power Rangers hand held and scanned it to design a battery cover off of it.
These pointcloud captures came out excellent. I used a few tips shared in the Facebook group and I think I am getting the technique for it.
CrealityScan has a feature to merge objects together and to achieve the best results and success of a merge, you must get overlapping surfaces for reference. I was able to do so with this scan and applying the image overlay turned out awesome
Here we can see some distortion in what is otherwise a great looking scan. The areas seemingly affected were the bottom edge of the objects position on the table. I think rotating the part and placing up off a table would allow for a crisper scan in these areas.
Over all, the scanner is great when connected to my computer. The software felt clunky at first - but such is the case when coming into any cad type software as controls can be different.
Looking forward to scanning other items and use them for practical designs.
