﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
  <channel>
    <title>Software Discussions</title>
    <description>Latest discussions happening in the Software category</description>
    <link>https://beyondunity.org</link>
    <item>
      <title>Spinning Magnets Lab</title>
      <description>&lt;p&gt;because magnets and a rotating disc is on my todo-list for some reason that i do not understand fully at this time i decide to build a tiny helper that should assist me on this journey.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="../../content/uploads/7a1a9afb-c8fe-495b-88b0-af9e00d27862/8bd6834d-7144-4e20-9da3-b40c01545cce_bildschirmfoto-vom-2026-03-13-18-58-28.png" alt=""&gt;&lt;/p&gt;&#xD;
&lt;p&gt;it is in an early stage, but still usable and can help with design of such structure. at the moment i can calculate air-coils without core situation. script runs stable but need some cpu-power. the input scenario is nearly complete and it is fun to play with.&lt;/p&gt;&#xD;
&lt;p&gt;when you are in 'the right mood' &lt;a href="https://aether-research.institute/aetherspin_nightly/" target="_blank" rel="noopener"&gt;you can check it out here&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;have a nice day!&lt;/p&gt;&#xD;
&lt;p&gt;regards&lt;/p&gt;&#xD;
&lt;p&gt;B&lt;/p&gt;</description>
      <pubDate>2026-03-13T20:42:16.1930000</pubDate>
      <lastBuildDate>0001-01-01T00:00:00.0000000</lastBuildDate>
      <link>https://beyondunity.org/thread/spinning-magnets-lab/</link>
    </item>
    <item>
      <title>RIGOL MSO5000 Live Monitor (Hacked FW Compatible)</title>
      <description>&lt;p&gt;Hi all,&lt;/p&gt;&#xD;
&lt;p&gt;because i was not very satisfied with Web-View from Rigol for my MSO5000 i build my own one.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="../../content/uploads/7a1a9afb-c8fe-495b-88b0-af9e00d27862/a1e49b78-9d17-4197-b796-b31800e4a474_bildschirmfoto-vom-2025-07-12-15-38-26.png" alt=""&gt;&lt;/p&gt;&#xD;
&lt;p&gt;This tool provides a live view and SCPI-based data extraction from a **Rigol MSO5000** oscilloscope with **hacked firmware** via VNC and VISA (SCPI) interfaces.&lt;/p&gt;&#xD;
&lt;p&gt;The script displays:&lt;br&gt;- Live screenshots from the oscilloscope (via VNC)&lt;br&gt;- Channel information including coupling, bandwidth, scale, offset, and probe settings&lt;br&gt;- Trigger and timebase settings&lt;br&gt;- Raw waveform statistics (Vpp, Vavg, Vrms) for up to 4 channels&lt;br&gt;- A scrollable debug log for diagnostics&lt;/p&gt;&#xD;
&lt;p&gt;## Requirements&lt;/p&gt;&#xD;
&lt;p&gt;This script is written in Python 3 and depends on the following libraries:&lt;/p&gt;&#xD;
&lt;p&gt;| Library &amp;nbsp; &amp;nbsp;| Purpose &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br&gt;|------------|------------------------------------|&lt;br&gt;| `tkinter` &amp;nbsp;| GUI interface &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br&gt;| `Pillow` &amp;nbsp; | Image processing for screenshots &amp;nbsp; |&lt;br&gt;| `numpy` &amp;nbsp; &amp;nbsp;| Numerical processing of waveforms &amp;nbsp;|&lt;br&gt;| `pyvisa` &amp;nbsp; | SCPI communication over TCP/IP &amp;nbsp; &amp;nbsp; |&lt;br&gt;| `vncdo` &amp;nbsp; &amp;nbsp;| VNC client to capture screen image |&lt;/p&gt;&#xD;
&lt;p&gt;### Install dependencies&lt;/p&gt;&#xD;
&lt;p&gt;Make sure you have Python 3 installed, then:&lt;/p&gt;&#xD;
&lt;p&gt;```bash&lt;br&gt;sudo apt install python3-tk python3-pip&lt;br&gt;pip3 install pillow numpy pyvisa&lt;br&gt;sudo apt install vncdo&lt;br&gt;```&lt;/p&gt;&#xD;
&lt;p&gt;&amp;gt; Note: On Debian/Ubuntu systems, `vncdo` is often available as a package. If not, install it via `pip install vncdo`.&lt;/p&gt;&#xD;
&lt;p&gt;##How to Use&lt;/p&gt;&#xD;
&lt;p&gt;```bash&lt;br&gt;python3 rigol_vnc_liveview4.py&lt;br&gt;```&lt;/p&gt;&#xD;
&lt;p&gt;You will be prompted in the terminal to enter the IP address of your RIGOL MSO5000.&lt;/p&gt;&#xD;
&lt;p&gt;Make sure:&lt;br&gt;- The oscilloscope is on the same network.&lt;br&gt;- VNC is enabled on the oscilloscope.&lt;br&gt;- The oscilloscope responds to SCPI commands over TCP/IP.&lt;/p&gt;&#xD;
&lt;p&gt;##Hacked Firmware Notice&lt;/p&gt;&#xD;
&lt;p&gt;This script is optimized to **avoid crashing or hanging** when used with unofficial / hacked firmware:&lt;br&gt;- Timeouts are reduced&lt;br&gt;- Some known problematic SCPI queries are skipped or blacklisted after failure&lt;/p&gt;&#xD;
&lt;p&gt;##Screenshot Path&lt;/p&gt;&#xD;
&lt;p&gt;By default, screenshots are saved temporarily at:&lt;br&gt;```&lt;br&gt;/tmp/oszi_screenshot.png&lt;br&gt;```&lt;/p&gt;&#xD;
&lt;p&gt;##Customization&lt;/p&gt;&#xD;
&lt;p&gt;You can adjust these in the script:&lt;br&gt;- `INTERVALL_BILD`: How often to update the screenshot (seconds)&lt;br&gt;- `INTERVALL_SCPI`: How often to fetch SCPI data (seconds)&lt;br&gt;- `WAV_POINTS`: Number of waveform points to request per channel&lt;/p&gt;&#xD;
&lt;p&gt;##License&lt;/p&gt;&#xD;
&lt;p&gt;This project is for **personal use only**. Use at your own risk. Not affiliated with Rigol Technologies.&lt;/p&gt;</description>
      <pubDate>2025-07-12T13:54:38.4830000</pubDate>
      <lastBuildDate>0001-01-01T00:00:00.0000000</lastBuildDate>
      <link>https://beyondunity.org/thread/rigol-mso5000-live-monitor-hacked-fw-compatible/</link>
    </item>
    <item>
      <title>3 frequencies playground</title>
      <description>&lt;p&gt;hello all!&lt;/p&gt;&#xD;
&lt;p&gt;i build myself a tool where i can play with 3 frequencies. the idea is to get beautiful 3d interference patterns and other stuff.&lt;/p&gt;&#xD;
&lt;p&gt;for example: 72, 144 and 432 Hz combined give me this plot&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="../../content/uploads/7a1a9afb-c8fe-495b-88b0-af9e00d27862/7ef5479d-dffe-4430-9661-b26c008c0bd8_screenshot-from-2025-01-21-09-29-22.png" alt=""&gt;&lt;/p&gt;&#xD;
&lt;p&gt;and this interference pattern&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="../../content/uploads/7a1a9afb-c8fe-495b-88b0-af9e00d27862/c933af17-7c8a-46e7-a362-b26c008c887a_screenshot-from-2025-01-21-09-30-43.png" alt=""&gt;&lt;/p&gt;&#xD;
&lt;p&gt;if you find an interesting pattern you can share it with others or download it as image.&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="https://aether-research.institute/frequency/index.html?f1=72&amp;amp;f2=144&amp;amp;f3=432" target="_blank" rel="noopener"&gt;https://aether-research.institute/frequency/freq1.html?f1=72&amp;amp;f2=144&amp;amp;f3=432&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;if you have ideas how i can improve this tool then please led me know.&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;regards&lt;/p&gt;&#xD;
&lt;p&gt;B&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <pubDate>2025-01-21T08:36:58.8530000</pubDate>
      <lastBuildDate>0001-01-01T00:00:00.0000000</lastBuildDate>
      <link>https://beyondunity.org/thread/3-frequencies-playground/</link>
    </item>
    <item>
      <title>Pulse Train Signal Generator</title>
      <description>&lt;p&gt;hi all,&lt;/p&gt;&#xD;
&lt;p&gt;i like to provide you guys with a file for arduino uno which is able to produce a pulse-train with very acurate results. in script you can define frequency, duty-cycle, number of bursts and off-period.&lt;/p&gt;&#xD;
&lt;p&gt;you will be able to produce pulses with very sharp rise- and fall-times in the nanosecond region.&amp;nbsp;&lt;br&gt;in the past i struggeled a lot to get this script working because i did not communicate with registers of microcontroller directly. now it works and you can use it if you like.&lt;/p&gt;&#xD;
&lt;p&gt;this is how it looks on oszilloscope..&lt;/p&gt;&#xD;
&lt;p&gt;&lt;img src="../../content/uploads/7a1a9afb-c8fe-495b-88b0-af9e00d27862/9df16ca5-285e-4ebf-ac98-b219010427f8_remmina-192.168.1.54-192.168.1.54-20241030-154533.png" alt=""&gt;&lt;/p&gt;&#xD;
&lt;p&gt;you will find the .ino file as attachment&lt;/p&gt;&#xD;
&lt;p&gt;hope it is useful for somebody too.&lt;/p&gt;&#xD;
&lt;p&gt;regards&lt;/p&gt;&#xD;
&lt;p&gt;B&lt;/p&gt;&#xD;
&lt;p&gt;---&lt;/p&gt;&#xD;
&lt;p&gt;Technical Documentation&lt;/p&gt;&#xD;
&lt;p&gt;Overview&lt;br&gt;This script generates a pulse train PWM signal on pin 9 (OC1A) of the Arduino Uno. The PWM signal has adjustable parameters:&lt;br&gt;- Frequency (in Hz)&lt;br&gt;- Duty Cycle (as a percentage)&lt;br&gt;- Burst Cycles (number of PWM cycles per pulse burst)&lt;br&gt;- Off Period (duration in milliseconds between bursts)&lt;/p&gt;&#xD;
&lt;p&gt;The goal is to produce high-frequency PWM bursts separated by user-defined off periods, creating a modulated pulse train effect.&lt;/p&gt;&#xD;
&lt;p&gt;Dependencies&lt;br&gt;- Arduino.h and avr/io.h libraries: Used for direct register manipulation to configure Timer1 for PWM output.&lt;/p&gt;&#xD;
&lt;p&gt;Constants and Variables&lt;br&gt;- desiredFrequency: Defines the frequency of the PWM signal in Hz.&lt;br&gt;- dutyCyclePercentage: Controls the PWM duty cycle as a percentage.&lt;br&gt;- burstCycles: Specifies the number of PWM cycles in each burst.&lt;br&gt;- offPeriodMs: Defines the off-time in milliseconds between bursts.&lt;/p&gt;&#xD;
&lt;p&gt;Functions&lt;/p&gt;&#xD;
&lt;p&gt;1. setup()&lt;br&gt;This function configures the microcontroller to generate PWM on pin 9 and initializes the serial monitor to display detailed signal information.&lt;/p&gt;&#xD;
&lt;p&gt;- Pin Configuration:&lt;br&gt;&amp;nbsp; DDRB |= (1 &amp;lt;&amp;lt; DDB1);&lt;br&gt;&amp;nbsp; Sets pin 9 (OC1A) as an output.&lt;/p&gt;&#xD;
&lt;p&gt;- Timer1 Configuration:&lt;br&gt;&amp;nbsp; TCCR1A = (1 &amp;lt;&amp;lt; WGM11) | (1 &amp;lt;&amp;lt; COM1A1); &amp;nbsp;// Fast PWM, non-inverting on OC1A&lt;br&gt;&amp;nbsp; TCCR1B = (1 &amp;lt;&amp;lt; WGM13) | (1 &amp;lt;&amp;lt; WGM12) | (1 &amp;lt;&amp;lt; CS10); &amp;nbsp;// Mode 14, no prescaler&lt;br&gt;&amp;nbsp; - Mode 14 (Fast PWM) is set by configuring the Waveform Generation Mode (WGM) bits in TCCR1A and TCCR1B.&lt;br&gt;&amp;nbsp; - Non-inverting mode on OC1A is set by the COM1A1 bit.&lt;br&gt;&amp;nbsp; - No prescaling is chosen by setting the CS10 bit, allowing maximum resolution.&lt;/p&gt;&#xD;
&lt;p&gt;- Frequency and Duty Cycle Setting:&lt;br&gt;&amp;nbsp; setPWMPin9(desiredFrequency, dutyCyclePercentage);&lt;br&gt;&amp;nbsp; This function (explained below) calculates and sets the appropriate register values for the PWM frequency and duty cycle.&lt;/p&gt;&#xD;
&lt;p&gt;- Serial Monitor Initialization:&lt;br&gt;&amp;nbsp; Outputs the initial configuration details for the operator to verify settings.&lt;/p&gt;&#xD;
&lt;p&gt;2. setPWMPin9(unsigned long frequency, float dutyCycle)&lt;br&gt;This function calculates the required values for the Timer1 registers (ICR1 and OCR1A) based on the desired frequency and duty cycle, setting them accordingly.&lt;/p&gt;&#xD;
&lt;p&gt;- Frequency Calculation:&lt;br&gt;&amp;nbsp; unsigned int topValue = (16000000 / frequency) - 1;&lt;br&gt;&amp;nbsp; ICR1 = topValue;&lt;br&gt;&amp;nbsp; ICR1 defines the TOP value, setting the PWM frequency. With a 16 MHz system clock:&lt;br&gt;&amp;nbsp; ICR1 = 16000000 / frequency - 1&lt;/p&gt;&#xD;
&lt;p&gt;- Duty Cycle Calculation:&lt;br&gt;&amp;nbsp; unsigned int compareValue = (dutyCycle / 100.0) * ICR1;&lt;br&gt;&amp;nbsp; OCR1A = compareValue;&lt;br&gt;&amp;nbsp; OCR1A determines the on-time within each cycle based on the desired duty cycle. It is calculated as a percentage of ICR1.&lt;/p&gt;&#xD;
&lt;p&gt;3. loop()&lt;br&gt;This function manages the pulse train by controlling the on and off periods.&lt;/p&gt;&#xD;
&lt;p&gt;- Burst Generation:&lt;br&gt;&amp;nbsp; for (unsigned int i = 0; i &amp;lt; burstCycles; i++) {&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; TCCR1A |= (1 &amp;lt;&amp;lt; COM1A1); &amp;nbsp;// Enable PWM output&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; delayMicroseconds(1000000 / desiredFrequency); &amp;nbsp;// One PWM cycle delay&lt;br&gt;&amp;nbsp; }&lt;br&gt;&amp;nbsp; The for loop runs for the specified number of burstCycles, enabling PWM output on each iteration by setting the COM1A1 bit in TCCR1A.&lt;/p&gt;&#xD;
&lt;p&gt;- Off Period:&lt;br&gt;&amp;nbsp; TCCR1A &amp;amp;= ~(1 &amp;lt;&amp;lt; COM1A1); &amp;nbsp;// Disable PWM output&lt;br&gt;&amp;nbsp; PORTB &amp;amp;= ~(1 &amp;lt;&amp;lt; PORTB1); &amp;nbsp; // Set pin 9 to LOW&lt;br&gt;&amp;nbsp; delayMicroseconds(offPeriodMs * 1000); &amp;nbsp;// Off-period delay in microseconds&lt;br&gt;&amp;nbsp; After completing the burst, PWM output is temporarily disabled by clearing COM1A1, which disconnects the PWM signal from pin 9. The pin is then explicitly set to LOW, and the script waits for the specified off-period.&lt;/p&gt;&#xD;
&lt;p&gt;4. printSignalDetails()&lt;br&gt;Provides detailed information about the current PWM signal configuration to the Serial Monitor, allowing the operator to review and verify each parameter.&lt;/p&gt;&#xD;
&lt;p&gt;Outputs Include:&lt;br&gt;- Frequency and Duty Cycle: Verifies desiredFrequency and dutyCyclePercentage.&lt;br&gt;- Timer Register Values: Shows ICR1 and OCR1A settings for debugging.&lt;br&gt;- On-Time per Cycle: Calculates and displays on-time for each PWM cycle based on the duty cycle.&lt;br&gt;- Total On-Time for Burst: The cumulative on-time for each pulse burst.&lt;br&gt;- Off-Time Between Bursts: Shows the configured off-period in milliseconds.&lt;br&gt;- Total Period of Pulse Train Cycle: The total duration (in ms) of a full pulse train cycle, including the on and off periods.&lt;/p&gt;&#xD;
&lt;p&gt;Execution Flow&lt;/p&gt;&#xD;
&lt;p&gt;1. Initialization:&lt;br&gt;&amp;nbsp; &amp;nbsp;The script configures Timer1 in Fast PWM mode with specified frequency and duty cycle.&lt;br&gt;&amp;nbsp; &amp;nbsp;Signal parameters are printed for verification.&lt;/p&gt;&#xD;
&lt;p&gt;2. Pulse Train Generation:&lt;br&gt;&amp;nbsp; &amp;nbsp;In each loop, the script generates a PWM burst of burstCycles.&lt;br&gt;&amp;nbsp; &amp;nbsp;After the burst, the PWM signal is disabled, and the pin is set LOW for the offPeriodMs duration, creating the pulse train.&lt;/p&gt;&#xD;
&lt;p&gt;3. Serial Monitoring:&lt;br&gt;&amp;nbsp; &amp;nbsp;Each configuration detail is available on the Serial Monitor for precise verification.&lt;/p&gt;&#xD;
&lt;p&gt;Conclusion&lt;br&gt;This setup allows for real-time control and detailed feedback of a high-frequency pulse train PWM signal on pin 9. The operator can adjust the PWM frequency, duty cycle, burst length, and off-period, enabling highly customizable output signals.&lt;/p&gt;</description>
      <pubDate>2024-10-30T15:50:02.2930000</pubDate>
      <lastBuildDate>0001-01-01T00:00:00.0000000</lastBuildDate>
      <link>https://beyondunity.org/thread/pulse-train-signal-generator/</link>
    </item>
    <item>
      <title>Coil design software</title>
      <description>&lt;p&gt;Hello everyone,&lt;/p&gt;&#xD;
&lt;p&gt;I know this is not the optimum category to put this ( Fighter maybe you can introduce a new category as software ? That would be usefull ) but I want to share a usefull piece of software that I have found recently. It is called Coil 64, I use it on linux, the portable version of the software and maybe someone else needs some help with designing coils. This is the site where I found it: &lt;a href="https://coil32.net/download.html" target="_blank" rel="noopener"&gt;https://coil32.net/download.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;The site has also other interesting segments like color coding of inductors, theory related to inductor geometry, etc. Anyways, I hope this helps someone.&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;P.S.: Fighter, fell free to move this thread if needed.&lt;/p&gt;</description>
      <pubDate>2024-10-22T12:37:23.5100000</pubDate>
      <lastBuildDate>0001-01-01T00:00:00.0000000</lastBuildDate>
      <link>https://beyondunity.org/thread/coil-design-software/</link>
    </item>
  </channel>
</rss>