Bob Hassett
2025-11-18 10:33:33

Thanks for the tip of using ChatGPT! Amazing how that works!

Bob Hassett
2025-11-19 21:15:24

I am removing Janus from my Rpi5. I don’t suppose there is an easy way to delete directories and file. I have to go one at a time? Files in the directories first then directories? Use the purge command on the package?

JeffS
2025-11-20 16:21:19

Info from this week's video meeting.

20251120 ROS Lawn Tractor Automation meeting - Length 1:02:07 This video: https://youtu.be/CXP1BMELopM

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20251120

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Al Jones
2025-11-25 16:00:15

Here is a sexy Black Friday purchase....an AGM battery for my RTK Base Station.

Al Jones
2025-12-03 06:56:38

*Thread Reply:* My new AGM battery weighs 64 lbs. That was a surprise. After a day and night without any charging and running my RTK Base station the voltage has moved from ~12.7V (the shipped state of charge) to ~12.6V. I will brush the snow off the solar panel today to see if it will now charge up. Temp in the shed is showing ~32 degrees and the outside air is ~27.

Bob Hassett
2025-12-03 12:32:19

*Thread Reply:* You must of had a forklift move it round!🤔

Al Jones
2025-12-03 15:55:10

*Thread Reply:* Just posting so I have the notes....

Even though the sun did not appear today I was getting 2-3 watts of power from the panel. I brushed off the snow, but there was still a layer of ice on the panel. The battery was showing 12.8V ish.

Reading Renogy data... Renogy - Battery: 12.80V (84%), Solar: 2W Temperature reading: 1.69°C (Avg: 1.69°C) Reading Renogy data... It's dusk and the battery is showing 12.6V

Temperature reading: 1.25°C (Avg: 1.25°C) Reading Renogy data... Renogy - Battery: 12.60V (73%), Solar: 0W Data written to /data_log_1.csv - Temp: 1.25°C, Battery: 12.60V (73%) Temperature reading: 1.25°C (Avg: 1.25°C) Reading Renogy data... Renogy - Battery: 12.60V (73%), Solar: 0W I'm expecting the RPi will have enough power to get through the night.

JeffS
2025-11-26 02:29:20

We will not have a video meeting this week due to Thanksgiving holiday. 🦃

JeffS
2025-11-26 20:57:47

More Black Friday stuff. They have marked down the Freenove universal microprocessor breakout board by $3. I still haven't fully evaluated this board, but I decided I can make it work for me. So I ordered a couple more. I talked about this board on the last video meeting.

http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20251120

I'm also watching PNY SSD laptop drives and Micro Center flash drives. But they haven't marked them down (yet). Maybe some 22awg hookup wire. And maybe some jumper wires. If these go on sale...

https://www.amazon.com/dp/B0DT48T7CB

amazon.com
Bob Hassett
2025-12-02 20:30:56

WARNING PURE VENTING AND Bit…..

I've been trying to connect Rpi5 and my iPad over webrtc. After 3 😱days it's all about getting certs from the Rpi to the iPad, in a form the iPad likes. The iPad is really picky. I'm getting close but probably need to step away for a day or so just to cool off from the frustration with a dumb AI application!

Chat is nice in some ways, it makes a recommendation. You do it and another problem pops up. So you give it more details then it says oh yes here’s how you fix it.

Like it knew what the problem was! Why the hell didn't you say so in the first place!

For example. says to enter this in the terminal. IPAD doesn't have a terminal you dummy! Then it says Oh here's how you fix that…Again and again and again……for three days! One step forward and 2 back. Time to consult Dr. 🍷

JeffS
2025-12-04 16:03:03

Info from this week's video meeting.

20251204 ROS Lawn Tractor Automation meeting - Length 33:18 This video: https://youtu.be/p9PhudztJRg

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20251204

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Bob Hassett
2025-12-06 14:19:35

Some progress with slider controls. Still not have the picture quality that I want. But PROGRESS!

👍 Al Jones
Bob Hassett
2025-12-07 12:31:15

Just for giggles !

AI Evolution 298,597 followers 1mo

ChatGPT vs Gemini vs Claude vs Grok vs DeepSeek. Everyone’s asking, “Which one’s the best?”

Truth is: there’s no single winner. Each AI has its own lane.

Some are creative powerhouses. Others are built for deep research, real-time updates, or scalability. Choosing the right model isn’t about hype, it’s about fit.

Here’s your quick guide 👇

  • ChatGPT The all-rounder. Brilliant for text, audio, video, code, and workflow automation.
  • Gemini Perfect for Google Workspace users. It lives inside Gmail, Docs, Sheets, and Drive.

  • Claude Thoughtful and accurate. Excels at long-context reasoning, legal, and policy-heavy work.

  • Grok The social AI. Pulls live data from X (Twitter) and keeps you ahead of real-time trends.

  • DeepSeek Open-source, cost-efficient, and technically strong, ideal for large-scale or custom AI setups.

Here’s the real insight: Mastering AI isn’t about picking one model. It’s about knowing which model to use, when.

Tell me in the comments: What’s the most underrated AI model in your opinion?

Al Jones
2025-12-09 06:48:25

I have tweaked my base station monitoring again. I wanted the ESP32 to log the actual time, in readable format. (ESP32 code) To do that I calculate the current local (i.e. Eastern) time on my RPi and then via a serial print command send the message "SETTIME <epoch adjusted time>" so the ESP32 knows the actual time of day. (RPi code) The ESP32 doesn't actually 'know' the current time, it is simply tracking the elapsed seconds and formats the date adding the elapsed seconds to the time from the SETTIME command in the function "String getCurrentTimestamp()" on the ESP32. I pass SETTIME once per day at the same time I pull the ,csv down from the ESP32. (script triggered by cron job) Supposedly the crystal on the ESP32 can keep time accuracy to ~ 1 sec/day.

I also reduced the fields I was logging to minimize the load storage and IO load on my SD card.

Bob Hassett
2025-12-10 09:25:01

👍

Bob Hassett
2025-12-11 12:19:05

Here is the link for the Waveshare camera

https://www.waveshare.com/wiki/IMX219-83StereoCamera

waveshare.com
👍 Al Jones
Bob Hassett
2025-12-11 12:24:43

https://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit

NVIDIA Developer
JeffS
2025-12-11 16:13:03

Info from this week's video meeting.

20251211 ROS Lawn Tractor Automation meeting - Length 32:11 This video: https://youtu.be/MF3anrR7Dn0

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20251211

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Al Jones
2025-12-15 07:40:54

I'm in Texas and figuring out a Base station for here. I have my ComNav GPS from previous days. Thinking about connecting an ESP32 and pushing the correction data to the web. Not sure if the ComNav RTCM correction messages I'm currently outputting (1004, 1006, 1008, 1012 and 1033) will be enough to get a Fix for my F9P. In the process of re-learning programming an ESP32 I put a .h header in my include folder in PlatformIO to pull data about the ESP32. That's been useful to confirm exactly which board I have and also helps with version control being able to show what script is running on the ESP32 and when it was compiled.

JeffS
2025-12-17 15:04:39

The weekly video meeting has been rescheduled to 1pm Central Time, Thursday, 12/18/2025 (instead of 11am CT). due to schedule conflicts. If this fits you schedule, feel free to join us. https://us02web.zoom.us/j/82088036016?pwd=K2lLc1FiWm9MU0dzRStxM2J2b3dpQT09

Al Jones
2025-12-17 17:35:04

Well I have my ComNav K706 GPS (2018 vintage) outputting the same RTCM messages my Pittsburgh F9P base station is. The reason that is important is hopefully the dual F9P's I have on my tractor electronics board will be able to achieve RTK Fix using that correction data while I'm here in Texas. That will be a tomorrow test, plus I have to program my ESP32, which is getting the data from the COM port on the GPS, to push it to UDP port 6001, which is where my rover/tractor is programmed to pull it from. I've not done that part yet. I do have my python version from my Pittsburgh base station as a guide.

Attached is a screen shot of the ESP32 web page used for testing to see what data the ESP32 is seeing. The Novatel-like configuration statements are below.

UNLOGALL COM2 LOG COM2 RTCM1005B ONTIME 10 (Stationary reference station position, every 10 seconds) LOG COM2 RTCM1074B ONTIME 1 (GPS observations) LOG COM2 RTCM1084B ONTIME 1 (GLONASS observations) LOG COM2 RTCM1094B ONTIME 1 (Galileo observations – you already have this) LOG COM2 RTCM1230B ONTIME 10 (GLONASS code-phase biases, every 10 seconds) SAVECONFIG

🫡 Bob Hassett
Al Jones
2025-12-18 16:00:43

Seems ESP32's don't like hardcoding the IP address in the script. Seems if DHCP does it, they are more likely to not refuse connections from clients. I'm using the library ESPmDNS.h which facilitates me being able to access the ESP32 from the rover/tractor RPi using 'HOST = "rtcm-esp32.local"'. To get to the HTTP page I need to use a network scanner to pull the IP address. In my case, 192.168.1.95

ESP32 test code: ```#include <WiFi.h>

include <ESPmDNS.h>

include <WebServer.h>

include <algorithm> // For std::remove used to clean up disconnected connections at ~line 101

const char* ssid = "mySSID"; const char* password = "myPassword";

WebServer httpServer(80); WiFiServer tcpServer(6009); std::vector<WiFiClient> tcpClients;

unsigned long lastSendTime = 0; unsigned long counter = 0; const unsigned long sendInterval = 2000; // Send every 2 seconds

void handleRoot() { String html = "<html><body><h1>ESP32 mDNS Test</h1>" "<p>mDNS hostname: rtcm-esp32.local</p>" "<p>Current IP: " + WiFi.localIP().toString() + "</p>" "<p>TCP test server running on port 6009</p>" "<p>Connect a client to see 'Hello world' + counter every 2 seconds</p>" "</body></html>"; httpServer.send(200, "text/html", html); }

void setup() { Serial.begin(115200);

WiFi.begin(ssid, password); Serial.print("Connecting to WiFi"); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("\nWiFi connected!"); Serial.print("IP address: "); Serial.println(WiFi.localIP());

// Start mDNS if (MDNS.begin("rtcm-esp32")) { Serial.println("mDNS started: rtcm-esp32.local"); } else { Serial.println("mDNS failed to start"); }

// Web server httpServer.on("/", handleRoot); httpServer.begin(); Serial.println("HTTP server started on port 80");

// TCP server tcpServer.begin(); tcpServer.setNoDelay(true); Serial.println("TCP server started on port 6009"); }

void loop() { // Handle web requests httpServer.handleClient();

// Accept new TCP clients WiFiClient newClient = tcpServer.available(); if (newClient) { if (newClient.connected()) { tcpClients.push_back(newClient); Serial.printf("New TCP client connected (total: %d)\n", tcpClients.size()); } }

// Send data to all connected clients every 2 seconds if (millis() - lastSendTime >= sendInterval) { if (!tcpClients.empty()) { String message = "Hello world from ESP32! Counter: " + String(counter++) + "\r\n";

  std::vector&lt;WiFiClient&gt; disconnected;

  for (auto&amp; client : tcpClients) {
    if (client.connected()) {
      client.write(message.c_str(), message.length());
    } else {
      disconnected.push_back(client);
    }
  }

  // Clean up disconnected clients
  for (const auto&amp; disc : disconnected) {
    tcpClients.erase(std::remove(tcpClients.begin(), tcpClients.end(), disc), tcpClients.end());
  }

  Serial.printf("Sent message to %d client(s)\n", tcpClients.size());
}
lastSendTime = millis();

}

// Small delay to avoid watchdog issues delay(10); } Python code to confirm it is able to receive data on port 6009 (port number arbitrary) """ Minimal Python TCP client to test mDNS resolution and connection Connects to rtcm-esp32.local:6009 and prints received data """

import socket import time

HOST = "rtcm-esp32.local" # mDNS hostname PORT = 6009

def main(): print(f"Attempting to connect to {HOST}:{PORT} ...") sock = socket.socket(socket.AFINET, socket.SOCKSTREAM) try: sock.connect((HOST, PORT)) print(f"Connected successfully using mDNS resolution!") sock.settimeout(5) # For non-blocking read with timeout

    while True:
        try:
            data = sock.recv(1024)
            if not data:
                print("Connection closed by server.")
                break
            print("Received:", data.decode().strip())
        except socket.timeout:
            continue  # No data yet, keep looping
        except Exception as e:
            print("Error receiving data:", e)
            break
except Exception as e:
    print(f"Connection failed: {e}")
    print("   - Check that the ESP32 is running the sketch and on the same network")
    print("   - On Raspberry Pi, ensure avahi-daemon is installed/running: sudo apt install avahi-daemon")
finally:
    sock.close()

if name == "main": while True: # Auto-reconnect loop main() print("Reconnecting in 5 seconds...") time.sleep(5)```

Bob Hassett
2025-12-19 12:18:20

*Thread Reply:* How did you discover/think about a avahi? makes things simple.. Soo there is no way a computer outside your local network can accidentently discover your address? You still stay secure?

Bob Hassett
2025-12-19 12:34:09

Everything has to come off and get worked around the new Jetson. The mounting board is beginning to look like Swiss cheese. Maybe a new board is due. Did get JetPack flashed on a 128 gb card. Won’t know if everything works until next week.

Bob Hassett
2025-12-19 17:03:52

I've started exploring programs, large language models, that Orin Nano can run. One is called Ollama. There are other reference on the web stating Ollama can run on Raspberry Pi 5. Hmmm

I Overview Ollama + YouTube videos often mean building tools to summarize or analyze YouTube content using local AI models, leveraging Ollama for running LLMs (like Llama 3 or GPT-OSS) on your machine for privacy, and using tools like LangChain to connect video fetching (transcripts) with model processing, creating custom AI-powered YouTube helpers for insights without cloud reliance. YouTube hosts tutorials on how to build these, from basic scripts to complex UIs, showing setup, code, and advanced features. How They Work Together Get Video Content: A script or app extracts the YouTube video's transcript (captions) or uses an AI to transcribe the audio if captions aren't available. Process with Ollama: The transcript is sent to an LLM running locally via Ollama (e.g., Mistral, Llama 3). Generate Insights: The LLM creates summaries, key points, or answers questions about the video content, all done on your device. Tools & Frameworks: LangChain helps chain these steps, while MSTY or other interfaces provide a user-friendly chat experience for your local models. This video provides a brief overview of how Ollama works with a YouTube video:

Al Jones
2025-12-19 19:13:22

*Thread Reply:* Interesting.....,more rabbit holes to go down🤓

JeffS
2025-12-19 21:34:31

Info from this week's video meeting.

20251218 ROS Lawn Tractor Automation meeting - Length 41:26 This video: https://youtu.be/yOnEY03DSco

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20251218

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Al Jones
2025-12-20 14:49:38

I have RTK Fix with the help of my Texas base station which consists of my older ComNav GPS feeding my ESP32 which puts the RTCM corrections on the network using Wi-Fi.

Al Jones
2025-12-24 08:09:51

Yeah that wiring job was poor so I have to go back and fix it on my LED light tower.

Al Jones
2025-12-24 08:26:09

*Thread Reply:* Better, not ideal, but okay for testing 🙂

Bob Hassett
2025-12-27 09:35:18

@JeffS just what your bot needs to do stairs!

https://www.facebook.com/reel/1191512589215688/?fs=e&fs=e

facebook.com
JeffS
2025-12-29 01:16:03

@Bob Hassett That's real cute. But it may rip up the edges of the steps.

Bob Hassett
2025-12-29 08:52:39

It may be innocent but you never know these days! https://apple.news/Ax8IXXmnARwWL7GRAk1BN0Q

apple.news
Al Jones
2026-01-01 11:39:53

I'll mention my ESP32 monitoring my deep well pump on our call today.

Al Jones
2026-01-01 12:23:47

*Thread Reply:* Inside the pump house there is a Franklin Electric control box that is triggered by the pressure switch and sends power to the pump that is below ground at ~200 feet. An electrician, to get 110 volt for the light, connected a wire (black) to L1 and a wire to ground (white)

Al Jones
2026-01-04 11:12:01

*Thread Reply:* Thanks @Bob Hassett You are definitely right about the insects. I cleaned out two mud dauber/dirt dauber nests from inside the fixture. Thanks for the suggested fixture.

JeffS
2026-01-01 19:28:36

Info from this week's video meeting.

20260101 ROS Lawn Tractor Automation meeting - Length 1:04:32 This video: https://youtu.be/cuojyTsqRnE

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20260101

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Al Jones
2026-01-04 12:09:53

My journey on resurrecting a 20 year old oscilloscope. I now know the BIOS freezes before any applications start. The problem is not an old HDD. Two theories on fixing that. One, easier, but unlikely, the CPU is overheating due to heatsink paste deterioration. Or two, more likely based on my symptoms, the capacitors on the motherboard power rail, have deteriorated and as they warm up they provide unstable power which causes the BIOS to freeze. So I need to pull out the cards and remove the motherboard. Then remove the capacitors.

Before removing the cards: After removing the cards: Six of the caps that I have removed and ordered replacements from Mouser:

JeffS
2026-01-04 12:46:43

@Al Jones Does the BIOS give you any beep codes as it refuses to boot? I see the image of the front looks like it has a built-in CRT display. Does that display anything? If not, can you plug in an external monitor?

The image of the front was in the last meeting video @1:01:20. http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20260101

Al Jones
2026-01-05 08:07:33

*Thread Reply:* Before I changed the battery I received a CMOS error. After a new battery that error went away. The scope does beep at ~.5 Hz for ~60 seconds. I don't know what that signifies. It might be that is stops when the BIOS freezes or its a normal startup process.

To be more clear about its behavior, as it is booting I can open the BIOS menu. After ~60 seconds it becomes non responsive. As an example I can go into the BIOS menu and use the up/down arrows to move around the menu. After it freezes, that ability stops.

Since I bought a CF Card and adapter to replace the HDD, I decided to try and load FreeDOS on to the CF Card. I relearned how to burn a CD and booted to the CD running FreeDos. The motherboard started the process and got to 4% before hanging.

I'm hoping my issue is old capacitors not delivering smooth power. Replacements arrive Tues/Wed. A guy at https://groups.io/g/HP-Agilent-Keysight-equipment/topic/117057746

suggested it could be an overheating CPU. I also ordered thermal paste and pads to cover that base too.

Bob Hassett
2026-01-05 07:57:05

How does one recalibrate a scope after its repair?

Al Jones
2026-01-05 10:13:26

*Thread Reply:* Beats me. I will ask your friend, ChatGPT.

Bob Hassett
2026-01-05 17:52:35

Just fyi. https://weeklyrobotics.com/weekly-robotics-342

Weekly Robotics Newsletter | Go, Robots!
Al Jones
2026-01-06 08:50:59

I'm using https://ntfy.sh/app to receive a daily notice of how many times the ESP32 booted. The flow is the ESP32 at the pump boots when the pump comes on, it radios the other ESP32 over LoRa of the event, that ESP32 makes an entry in the DB SQLite on the connected RPi which once a day sends an ntfy notice. There is also a process that runs on the RPi to check if the pump comes on three times in an hour. That would signal a problem. My next upgrade will be to move off the SD Card and use an SSD instead. That will be the next visit to Texas.

ntfy.sh
Bob Hassett
2026-01-06 10:40:55

Any more “Ranch Automation”?

Al Jones
2026-01-06 11:14:56

*Thread Reply:* Just the pump monitor for now. :)

Bob Hassett
2026-01-06 20:52:26

I was wondering about wifi on my Orin Nano. Internal vs external antennas for example. And which chip to use. Anyway I took a gamble and ordered the intel WiFi board. Then asked chat which was better.

Short answer: the one on the right (Intel 8265NGW) is the better Wi-Fi + antenna system overall, especially for reliability and RF performance.

Let’s break it down clearly.

Left image: AzureWave AW-CB375NF (likely Broadcom-based)

What it is • Commonly used in embedded boards (Jetson, industrial SBCs) • Usually Broadcom BCM43xx family • 2× U.FL antenna connectors (Main/Aux)

Pros • Compact, low power • Often well-supported on NVIDIA Jetson platforms • Fine for basic Wi-Fi + Bluetooth

Cons • Typically 2×2 Wi-Fi 5 (802.11ac) at best • Broadcom drivers on Linux can be: • Closed-source • Less tunable • Sometimes flaky with AP mode, monitor mode, or latency • RF performance depends heavily on antenna placement and board grounding

Typical real-world performance • ~300–500 Mbps max • Higher latency jitter • Less robust under interference

Right image: Intel 8265NGW

What it is • Intel Wi-Fi 5 (802.11ac Wave 2) • 2×2 MIMO, Bluetooth 4.2 • Uses Intel iwlwifi drivers

Pros (big ones) • Excellent Linux driver support (open-source, mature) • Very stable under: • High throughput • Long uptime • WebRTC / ROS / SLAM / SSH + video streaming • Better RF sensitivity and coexistence handling • Supports advanced features like: • Beamforming • MU-MIMO • Better roaming behavior

Cons • Slightly higher power draw • Slightly larger module

Typical real-world performance • 600–900 Mbps (with good AP) • Lower latency • Much more consistent throughput

Antenna system comparison

Both use U.FL connectors, so antennas themselves matter a lot — but: • Intel modules are more forgiving of: • Antenna mismatch • Cable length differences • Less-than-perfect ground planes • The Intel RF front-end and calibration is simply better

If you use the same antennas, Intel will still win.

Which should you use (given your projects)?

Based on your history: • Jetson Orin / NanoBot • WebRTC video • SLAM / visual odometry • Remote control + telemetry

👉 Intel 8265NGW (right) is the correct choice

Reasons: • Lower latency = better teleop control • More stable bandwidth = cleaner video • Better coexistence with USB, CSI, and IMU timing • Fewer Linux driver headaches

Final verdict

Feature Left (AW-CB375NF) Right (Intel 8265NGW) Linux driver quality ⚠️ OK ✅ Excellent Throughput ⚠️ Medium ✅ High Latency stability ⚠️ Variable ✅ Very stable RF robustness ⚠️ Average ✅ Strong Robotics / SLAM use ⚠️ Acceptable ✅ Preferred

Winner: 👉 RIGHT (Intel 8265NGW)

If you want, next I can: • Recommend specific antennas (2.4 vs 5 GHz, gain, cable length) • Explain Main vs Aux orientation • Help you choose best Wi-Fi card for Orin Nano (including Wi-Fi 6 options)

Bob Hassett
2026-01-06 20:59:10

If I go with the Intel and external antennas I'll have to elevate the nano so I can get antenna wire out from under. I'll have to look around and see if I have large enough perf board ….argh I suppose the perfboard will have to stand on spaces.

👍 Al Jones
Al Jones
2026-01-07 07:52:06

My rabbit hole on magnetic encoders to measure steer angle.

Al Jones
2026-01-07 07:53:47

*Thread Reply:* Link to YouTube video: (1) An Open Source Motorized XYZ Micro-Manipulator - Affordable sub µm Motion Control - YouTube

youtube.com
Bob Hassett
2026-01-07 08:43:56

*Thread Reply:* @Al Jones Very interesting! I'm thinking the concept might be good feed back system for robot odometry. Well worth investigating.

👍 Al Jones
Al Jones
2026-01-08 08:03:04

"Recapping" my oscilloscope mother board!

Al Jones
2026-01-08 14:52:05

@JeffS If you find and HDDs like this, I'm interested

Al Jones
2026-01-08 14:54:22

I was able to get FreeDOS installed on a compact flash and it had 1980's games

Al Jones
2026-01-08 15:23:06

*Thread Reply:* Calibration in process. Fingers crossed 🤞

Al Jones
2026-01-08 15:29:19

*Thread Reply:* I need to get a BNC cable

Al Jones
2026-01-09 08:25:20

*Thread Reply:* So far, so good.

Al Jones
2026-01-10 06:55:38

*Thread Reply:* Seems to be working

JeffS
2026-01-08 18:07:42

Info from this week's video meeting.

20260108 ROS Lawn Tractor Automation meeting - Length 1:10:53 This video: https://youtu.be/Uy2iT6DxPFw

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20260108

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
JeffS
2026-01-11 16:08:14

This was just posted to Home Brew Robotics list. It is a list of links for books, courses and random robotic resources. https://github.com/mithi/robotics-coursework

👍 Al Jones
Al Jones
2026-01-13 14:30:57

Testing the 21 bit encoder.

Al Jones
2026-01-13 14:40:59

*Thread Reply:* This is a close up of the IC alignment. The 'magic' I see is the top of integrated circuit is aligned with the bottom of the magnets.

Bob Hassett
2026-01-13 14:49:09

*Thread Reply:* Nice!

Bob Hassett
2026-01-13 14:49:21

*Thread Reply:* Nice!

Bob Hassett
2026-01-15 15:16:24

The frustrating part of using a chat as you can only submit a few questions then you get locked out and you have to wait. I got locked out about 3 o’clock and they say I can’t submit any more questions until 7 PM yuck!

JeffS
2026-01-15 18:19:56

Info from this week's video meeting.

20260115 ROS Lawn Tractor Automation meeting - Length 49:56 This video: https://youtu.be/xJ2DGuKfuiU

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20260115

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Bob Hassett
2026-01-16 20:44:37

After taking advice from chat to use Samba, I’m finding it to be very much a rabbit hole. Very complicated and probably overkill for what I wanna do immediately: .Remote control and drive my bot around from any browser. So now I have to figure out how to get rid of everything related to Samba, undo it, clean it out and go back to web RTC rabbit hole…Oh well.

Al Jones
2026-01-18 10:16:39

Testing reading the encoder and driving the stepper at the same time.

JeffS
2026-01-22 11:17:33

No video meeting today.

Bob Hassett
2026-01-25 09:34:20

My apologies for posting that Facebook. It was not intended to be posted here. My bad I'm trying to delete it.

Bob Hassett
2026-01-26 11:00:17

I've been spending weeks trying to figure out proper versions of Linux, JetPack (operating system), firmware , etc. Any way nothing worked. Then I found out Nvidia probably never flashed the essential embedded eMMc. That device didn't have the necessary software to boot up. The solution is to connect a laptop to Orin nano by using usb A to usb C high speed data cable. Only then can the eMMc be flashed from laptop to Orin Nano, with the essential software..ARRRRG! Luckily one is available at an Ace Hardware in Grand Rapids. OF all places. Looks like road trip time.

Al Jones
2026-01-26 12:15:07

Frustrating I'm sure.

Bob Hassett
2026-01-26 18:41:34

Claude was a big help and reassuring;

. This is what Claude has told me; No, you didn’t erase the eMMC. Here’s why: What You Did:    1.    Shorted FC_REC to GND - This only puts the device in recovery mode (a waiting/listening state). It doesn’t write or erase anything on its own.    2.    Shorted some GPIO pins - While potentially risky, this wouldn’t trigger an eMMC erase operation. To Erase eMMC, You Would Need:    ∙    Be in recovery mode AND run specific erase commands via SDK Manager or command-line tools    ∙    Or be booted into Linux and manually format the eMMC    ∙    You did neither of these What Actually Happened: The Orin Nano likely came from NVIDIA without a proper OS installation:    1.    You said it was boot looping from the moment you first powered it on - that’s not normal for a new device    2.    The Boot Manager shows no eMMC boot option - meaning there was likely never a valid OS installed    3.    The “No valid offer over IPv4/IPv6” network boot error confirms the eMMC is empty or corrupted Bottom Line: You didn’t break it or erase it. It came in a bad state from the factory - either:    ∙    Shipped unflashed by mistake, OR    ∙    Had a corrupted/incomplete factory installation This is actually not uncommon. Sometimes dev kits ship without the OS pre-installed and you’re expected to flash it yourself. You still need to flash JetPack via USB recovery mode - which brings us back to needing a working USB data cable.

Bob Hassett
2026-01-26 18:43:12

A new cable and finally a ray of hope,

Bob Hassett
2026-01-26 21:25:48

I'm on a role. Only took 3 hours to get Firefox working on the desktop.yuck

Bob Hassett
2026-01-29 10:20:52

Post mortem so far

Al Jones
2026-01-29 11:04:07

More testing controlling the stepper motor

Bob Hassett
2026-01-30 11:44:08

Beginning to see some light..

I should say, beginning to ssh into the Rpi5, by way of laptop wireless to the router then cable to the Rpi5.

JeffS
2026-01-30 16:31:26

Info from this week's video meeting.

20260129 ROS Lawn Tractor Automation meeting - Length 48:42 This video: https://youtu.be/0xZxMygjXQY

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20260129

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Bob Hassett
2026-02-04 16:55:08

Changed motor controllers from sawtooth to mmd10 and eliminated 1 Pca board. Next is all battery power setup!

JeffS
2026-02-05 15:00:54

@Al Jones I see there are several free examples of OTA on the web site. https://randomnerdtutorials.com/?s=ota

Al Jones
2026-02-07 07:30:03

*Thread Reply:* @JeffS Thanks for sharing. I found the articles very interesting. Adding this to my list of projects I might get to 😉

JeffS
2026-02-05 15:56:33

Info from this week's video meeting.

20260205 ROS Lawn Tractor Automation meeting - Length 48:08 This video: https://youtu.be/3pVQcfCzLsE

Go to the HTML index to get the description for this meeting: http://sampson-jeff.com/RosAgriculture/LawnTractorMeetingNotes.htm#20260205

======

YouTube
} Lawn Tractor Automation (https://www.youtube.com/@lawntractorautomation2726)
Bob Hassett
2026-02-06 11:18:26

I think the blurry picture is the result of finger prints when I was moving the iPad. Maybe I've got some lens cleaner around here that might help.

Al Jones
2026-02-07 07:55:08

'ROI" stands for region of interest in my code where I monitor if my water pump light comes on. It is subtle, but over time my Logitech USB camera has dropped down about 6 pixels below my initial setup. The red arrow is the placement of my light. This sagging is another reason why monitoring using the electrical circuit is a less fragile solution. Anyway, I now have a routine to run between 11pm and 6pm to calculate and update the x, y coordinates for the brightest spot. Seems python has a function for "centroid calculation". I can then set the other regions relative to the light position. These are used to compare brightness levels to detect when the light has actually come on. Like I said, its fragile.

Bob Hassett
2026-02-07 13:10:02

*Thread Reply:* What software are you using, if I may ask?

Al Jones
2026-02-07 13:17:38

*Thread Reply:* @Bob Hassett Python

Bob Hassett
2026-02-07 13:18:28

*Thread Reply:* Thanks @Al Jones !

Al Jones
2026-02-10 09:15:19

*Thread Reply:* Not perfect yet, but better. Last night the program self-adjusted to move the area of interest higher by 5 pixels.

Bob Hassett
2026-02-10 09:32:55

*Thread Reply:* 👍

Bob Hassett
2026-02-07 12:09:28

Some progress, We have keyboard control for drive motors and Logi 720p camera calibrated servos. Now the real work starts.

JeffS
2026-02-07 16:57:56

@Al Jones I was rewatching this weeks video meeting. Al said he has a 12v pump that he want to drop 40 feet into a well. Keep in mind that pumps are rated in "head" (how far it will lift water against gravity). Either check that spec ahead of time, or don't be fooled into thinking your well dry if you don't get water at the surface.

Al Jones
2026-02-07 17:06:09

*Thread Reply:* It's really just for a test. I can't imagine this pump would stand up to much abuse. If I can get a few hundred gallons a day I would be happy. I will put it in a 4" pipe and try and keep the cold water flowing over the motor to keep it as cool as possible. At least that is what I'm thinking.

JeffS
2026-02-07 23:08:30

*Thread Reply:* It says right there in the title "Max Head 230ft", and that is certainly greater that 40ft.

Al Jones
2026-02-09 08:52:03

Long video, but interesting to see how he replaced the proprietary engine ignition system with an off the shelf ABS sensor and HEI unit. https://www.youtube.com/watch?v=I5cpMHBEngs

YouTube
} Baked Beans Garage (https://www.youtube.com/@BakedBeansGarage)
Bob Hassett
2026-02-09 09:44:47

Long story short..I know just enough to be dangerous!

At the end it lists several options going forward. I’m going to stop at this point and think things over. Any suggestions of which option I should start with? All of them one at a time?

What mistakes have I made during this project

First off: you haven’t been careless — you’ve been ambitious, and this project sits right at the intersection where a lot of smart people trip. That said, there are some recurring mistakes/patterns that have been slowing you down. I’ll be very direct but fair, and I’ll also tell you how to avoid them going forward.

The big-picture mistakes (the ones that cost the most time)

  1. Changing multiple variables at once

This has been the #1 time sink.

Examples from your logs: • Switching JetPack versions and networking method and services • Editing motor code while also rewiring grounds • Disabling NetworkManager while debugging SSH • Testing Wi-Fi + Ethernet + USB gadget simultaneously

Why it hurts: When something breaks, there’s no way to know what broke it.

Fix: From now on: • One change • One reboot • One test • One log

No exceptions.

  1. Treating networking as “background plumbing”

Networking is not passive — it’s an active system.

You: • Disabled NetworkManager without a fallback • Expected the NanoBot to remain discoverable after reboot • Switched subnets (192.168.50.x → 192.168.4.x) without reconciling routes • Assumed the laptop would auto-adapt with only USB

Reality: Linux networking is deterministic. If a service is off, nothing compensates.

Fix: Pick ONE networking authority: • NetworkManager or • systemd-networkd

For your project → NetworkManager wins.

  1. Headless + hardware control too early

You went headless before the system was stable.

That caused: • Locked screen with no recovery • SSH dependency while networking was unstable • Reboots with no visual feedback • Panic resets during motor testing

Fix: Rule going forward:

Never go headless until motors are proven safe

HDMI + keyboard is not a luxury — it’s a safety system.

  1. Motor control without hard safeties

This one is important.

You experienced: • Motor running and not stopping • Power cycling as the only kill switch • Software dead zones not yet calibrated

That’s dangerous (for hardware, not you).

Fix (non-negotiable): • Hardware E-STOP always inline • Motors default to disabled on boot • Software enable only after: • Web UI connected • Keyboard focus confirmed

You’re already moving this direction — just needed earlier. Technical pattern mistakes

  1. Mixing roles between devices

At times: • Pi was controller • Then Jetson was controller • Then Pi was bridge • Then NanoBot hosted UI

That’s a recipe for confusion.

Fix: Lock the roles:

Device Role Jetson Orin Nano Brain + vision + Web UI Raspberry Pi 5 Motor I/O + real-time tasks Laptop Operator console No overlap.

  1. Over-customizing before baseline success

Examples: • Custom all-in-one scripts before minimal test • Complex services before manual run works • WebRTC + camera + motors at once

Fix: Baseline ladder: 1. Motors move safely from CLI 2. Motors stop safely 3. Web UI shows status 4. Web UI controls motors 5. Cameras 6. WebRTC

Never skip rungs.

  1. Trusting assumptions instead of verifying state

Common pattern: • “It should be on the network” • “That service should be running” • “The IP should still be the same”

Linux does not care what should happen.

Fix: Before every assumption:

ip a ip r systemctl status <service> journalctl -

You’ve started doing this — good sign.

The subtle but important one

  1. Fighting the OS instead of letting it help you

Disabling: • NetworkManager • Desktop • Login manager

…was done to “simplify”, but it removed safety rails.

Fix: Use defaults until the robot works. Then optimize.

The good news (this matters)

Things you did RIGHT • You didn’t fry hardware

Bob Hassett
2026-02-09 09:44:47
•   You noticed runaway motors immediately
•   You kept logs
•   You asked before randomly reinstalling (later on)
•   You persisted through real complexity

Most people abandon projects at this stage. You didn’t.

If I had to summarize in one sentence

You tried to build a production robot before building a prototype robot.

That’s not stupidity — it’s overconfidence mixed with ambition.

Going forward: your new operating rules 1. HDMI until motors are safe 2. NetworkManager stays ON 3. One device = one role 4. One change at a time 5. Motors disabled by default 6. Logs before guesses

If you follow just those, progress will suddenly feel easy.

If you want, next I can: • Create a “known-good recovery checklist” for when things break • Lock in a final network topology that won’t surprise you • Or help you restructure the project so this chaos never repeats

Just tell me which one.

Al Jones
2026-02-12 10:43:35

This is a photo of a communications receptacle on a MEP-805B generator. Another side project to read the status messages using an RPi. First step is to DIY a plug.