Circuit Break EP #402: Consciously Collecting Concepts

Podcast Title: Consciously Collecting Concepts

Release Date: October 31, 2023

Episode: #402

Parker and Stephen discuss Parker’s participation in Extra Life Day: Revenge of the Holiday Special on November 4, 2023, in which he’ll be playing and streaming STAR WARS Jedi: Fallen Order for 24 hours to raise funds for kids at his local Texas Children’s Hospital, the related but unusual Star Wars Halloween costume he’ll be donning this year, checking in with the new Circuit Break Discourse community, how member Tom_Look prompted a discussion about how people organize projects, ideas, and part numbers, and extensive catch-up and update about Parker’s BoxTruk, and much more!

Podcast Audio:

Podcast Notes:

Box truck: I had a Ram Promaster camper conversion (DIY), and I found - at least living in SoCal - that I had to clean the solar panels before every trip and every few days as they would collect so much dust the efficiency dropped.
I looked into wind turbines but 1) you really need a consistent 20-25mph min wind, and 2) it really should be 10m above the ground - which means you need some sort of structure.
Did you install a 2nd alternator so you can charge the house batteries while you drive?
BTW, the terms I learned were “cab” (the truck driving area), “house” (living area), and “garage” (batteries, electronics, water, whatever, etc)

In this podcast Stephen mentioned MathCAD, which is a nifty format for documenting equations and derivations with graphical output but costs $$$. An open source alternate is JupyterLab which is great for doing Python based calculations with a mixed code/presentation format.

I don’t claim to be an expert in JupyterLab but it generally uses a set of ‘cells’ that can be HTML/LaTeX/Python as you need it to do all kinds of signal processing and plotting, while showing/hiding the code parts if you want to.

Here’s an example output where I was messing around with digital filters:

The top cell is LaTeX formatted explanation of the math involved, then the … bit is some hidden ‘uninteresting’ Python, then some shown Python, and finally a plot of the results.

I’ve only just started playing with it but it seems like a pretty useful tool. A free alternative to MathCAD for those that want the ability to document a series of calculations. MathCAD has a set of very useful equation transforms that can mostly be done in JupyterLab via the numpy and sympy modules.


As you said, the big advantage of Jupyter/JupyterLab is that it ties into the whole Python ecosystem: scipy, sympy, pytorch, etc.

I remember using MathCad back in the 80’s. If it’s anything like MATLAB, you’re always pulling out your wallet to buy some extension to support the newest thing.

Yeah, I am planning on that ladder so I can clean the panels.

Didn’t know about it being 30’ up in the air! But that should be doable in the future if i make a swing arm on the roof rack. Would double as a HAM radio antenna as well!

No, I looked for a 2nd alternator setup but none of the companies that provide them where willing to sell them to DIY’ers. If I find I need to charge off the engine I am just going to put in a bigger single alternator and use a DC-DC converter to step up to my 48V house batteries.

Those terms make more sense then what I am saying :smiley:

1 Like

Ill make sure we mention this on the next episode of the podcast! This reminds me of MatLab but with python instead of C based syntax.

I didn’t know that about 2nd alternators, but I just used a DC-DC converter with a “normal” current limit of 20A - so the existing alt. could handle it, but with a switch it would do 40A - which I saved for highway speeds. I always meant to automate it based on vehicle speed and battery level.

I have found this tool to be quite useful alternative to mathcad, It also allow you at add units and automatically carries them forward to later equations

Check out Gnu Octave which is an open source MathCAD-like tool which is substantially compatible with MathCAD. I haven’t used it, but had it downloaded and in the wings on a recent project where it could have been needed.

I used Octave a few years ago rather than login remotely to access MatLab on my client’s machine. It did everything that was needed.

I, too, have found Octave to be quite serviceable. Didn’t run into any major issues.

you want a real high-power fuse? use what the EV’s have:

I think that Octave is more similar to MathLab than MathCad

I recently found CalcPad for documenting calculations.

Mathcad is a very different tool that Matlab or Octave. It’s much closer to Wolfram Mathmatica or Maple or other symbolic solvers, but designed for interactive calculation and documentation. It’s more used in a context like a mix of Excel + a word doc interleaving prose and calculations. Or to take the workflow of visuals you might generate with matplotlib or octave where your taking screenshots and pasting int wherever you house permenent design docs .

To a degree it’s like Jupyter or other notebook style things, but is more geared toward directly getting and documenting engineering problems and designs with the complete context of both written thoughts and math. The goal is to have that be your source of truth for you and every future person in a company who work on said designs. It’s common in defense industries, companies that do a lot of power supplies, and many other areas where having a unified source of documentation is prioritized over using bespoke tools.

I’m always a bit worried about locking stuff into proprietary tools so i wondered if there was a way to export from MathCad. Lo and behold, i found smath which runs under linux and can read MathCad files! I’ve not tried it, but it might be an alternative for those who are price-sensitive.

1 Like

I listened to a podcast about the new AI features that were added to Jupyter, so I decided to use them to replicate your biquad filter example. The results were … not great.

The Jupyter AI tools have the ability to generate an entire notebook from a prompt. My prompt was:

Show the transfer function for a second-order biquad digital filter. Show the equation for each filter parameter given a quality factor Q, a cutoff frequency f_c, and a sampliing frequency f_s. Plot the magnitude of the transfer function from 1 to 500 Hz given Q=sqrt(2), f_c=10 Hz, and f_s=1000 Hz. Then plot the input and output of this filter when the input is a uniform random signal in the range [0.5, 1.5].

I linked to GPT4 to get the best quality I could. Even so, the AI spit out a notebook with separate sections for the parameter equations, plotting the transfer function, applying noise to the filter, and plotting the output, and all four sections used different equations for the filter parameters! It’s hard to trust any of the results when there are four different parameter calculations.

Jupyter AI looks like it’s using LangChain to split the notebook generation into subtasks, each of which is solved using GPT4. It appears there isn’t enough coordination between the subtasks, hence the replication of the parameter equations.

Maybe this would have worked better using the Anthropic AI with its larger context window compared to GPT4. That might reduce the number of subtasks so that coordination wouldn’t be such a problem. As it is, generating a complete notebook from a prompt is not realistic.