@VecGS's banner p

VecGS

Chaotic good

0 followers   follows 0 users  
joined 2022 September 05 14:41:52 UTC
Verified Email

				

User ID: 599

VecGS

Chaotic good

0 followers   follows 0 users   joined 2022 September 05 14:41:52 UTC

					

No bio...


					

User ID: 599

Verified Email

Thanks! The hardware side has gotten so much (relatively) cheaper and accessible than before... I figure not counting my time (which my present company is paying for now), I'll need to sink $20-30k to have a couple spins and enough stock to hopefully sell. I can cover this myself. I figure this is a bet on myself and I can stack the odds as much as I can.

And you nailed it on the "what's already out there" aspect. My working model is that there are cool chips out there that do neat stuff, the challenge is going from a dev board to something that actually works. One of the more esoteric things I'm thinking about is something like a isolated biopotential interface. It's basically doing the design work to wrap an ADS1299 (https://www.digikey.com/en/products/detail/texas-instruments/ADS1299-4PAGR/6590685) with the appropriate front-end and connect it to a processor. There's no genius in that.

The interesting thing is all from the firmware. To do something useful with that in a non-trivial way -- beyond the typical Arduino/Raspberry Pi toy demos -- everything becomes "ok, we'll need to spin up an RTOS and do a bunch of work" and you give up and buy the instrument that's $1k and move on. The firmware side is cool because it's mostly declarative.

Again, this is nothing really new. LabView had that model back to at least the '90s. The idea of a driver having virtual "wires" being connected is right out of SCADE. But I've not really seen this on a firmware level. The thing that I always run into is even configuring a processor is a pain.

My product is basically:

  • A cheap base with the processor -- that can be dynamically configured by the firmware to accept...
  • A family of instrument cards that plug in to the three exposed ports.

You then have a declarative profile that can wire up things to do what you need. The goal is to replace a stack of instruments with all of the scripting glue that runs on the host and have it all run on a cheap, trustworthy instrument.

Something kind of like this:

# How much of your 10 uF capacitor is left at 10 V?
#
#   Instrument Slot A -- B4 lock-in: a 50 mV, 1 kHz probe, and a phase
#                        reference to tell the capacitive current from the
#                        lossy one.
#   Instrument Slot B -- A3 SMU: the DC operating point, held and measured,
#                        with a compliance limit so a shorted part is a
#                        clamp and not a fire.
#
# Neither card is a better version of the other. The SMU has no synchronous
# detector: it cannot pull a microamp of 1 kHz current out of a 10 V DC
# pedestal. The lock-in has no source with compliance: it cannot hold that
# pedestal. The experiment needs both, on the same tick, and the only thing
# composition costs here is a bias tee in the fixture (100 kOhm from FORCE,
# blocking cap from EXC OUT, the far plate into the TIA's virtual ground).

profile:
  name: mlcc_bias_derating
  version: 0.1.0
  schema_version: 1
  tick_hz: 100

ui:
  parameters:
    - { id: f_hz, type: q16, default: 1000.0 }   # test frequency
    - { id: v_ac, type: q16, default: 0.05 }     # 50 mV -- small-signal, on purpose
  surface:
    - { wire: var.cap_uf,       role: readout, label: "C",   unit: "uF" }
    - { wire: sig.v_bias,       role: readout, label: "Vdc", unit: "V" }
    - { wire: smu1.sweep_start, role: action,  label: "Run", key: f1 }

variables:
  - { id: cap_uf, type: f32, initial: 0.0 }

blocks:
  - id: smu1
    kind: smu                        # Slot B
    params:
      mode: source_v
      sense: four_wire_measure       # the bias resistor's drop stays out of the reading
      compliance_i_a: 0.001
      nplc: 10
      sweep: { start: 0.0, stop: 10.0, points: 41, spacing: lin, dwell: 2.0 }
    out:
      v: sig.v_bias                  # the volts actually across the part
      i: sig.i_leak                  # a second curve, free: leakage vs bias

  - id: li1
    kind: lockin                     # Slot A
    params:
      mode:         impedance
      ref_source:   internal
      excitation:   sine
      input_mode:   current_A        # the 10^6 V/A TIA takes the cap's AC current
      coupling:     ac               # the 10 V pedestal never reaches the gain chain
      sensitivity:  auto
      time_constant_s: 0.3
      slope_db_oct: 12
    in:
      ref_freq_hz:  ui.parameters.f_hz
      excitation_v: ui.parameters.v_ac
    out:
      y:         sig.i_quad          # autophase first: the capacitive current lands here
      theta_deg: sig.loss_angle      # and the loss angle comes along for nothing
      overload:  sig.li1_ovld

tasks:
  - id: report
    triggered_by: { tick_periodic: 500ms }
    body:
      - write: { "var.cap_uf": "1.0e6 * sig.i_quad / (6.2831853 * ui.parameters.f_hz * ui.parameters.v_ac)" }

Something like this is obviously "easy" to do if you have both a source-measure unit and a lock-in amplifier and a script. My goal would is to be able to sell something that can do this for maybe $1000, and that leaves a lot of margin.

The other angle I have on this is that something like this is far easier for an AI to write and reason about than normal firmware.

I have an absolute crap-ton left to do. Maybe 60% of the firmware is ready to do this and probably closer to 30% on the hardware side.

Well... a few weeks ago I got laid off. The cool thing is I get 90 days to do "knowledge transfer," then get another five weeks of severance. So, I'm basically set for the year. (Full disclosure: I'm 53. I tried to retire before this, but got sucked back in.) My manager was also laid off and her directive was to basically fuck off and do the bare minimum.

My background is firmly on the software side of the world. Electronics have always been a fascination for me. I've been tinkering with this stuff since the early '80s, but never fully found the motivation to really pursue it for some reason.

So this May rolls around (well before the layoff), and I decide to make a controller board to replace the one in my smoker. It decided to act weird and I got frustrated. This isn't a rational decision because a new one is cheap compared to what I'm doing. I dove in with Claude Code and built a full PCB design platform. (No, I'm not replacing KiCad, et. al. The is the netlist generation side, heavily leaning on SKiDL.) That project grew and grew. Out of control basically. I even laid out a PCB and fabbed it. And it mostly works, amazingly enough. (I also learned to not try to hand-place 0402 parts because that sucks.)

The other side of this is building a complete firmware system from scratch. And now most of that actually works as well. I'm planning on open sourcing this part.

Then, right before I got laid off, I decided to pivot the hardware side. Without getting into too much detail (for fear of abject boredom, not secrecy), the new target is a line of modular, low-cost lab instruments. "Weird" shit. Things that I want to play with. Things like a lock-in amplifier, a source measure unit, precision DAQ (and a bunch of other stuff). That combined with the firmware makes some experiments way easier than the "real" instruments because you have multiple instruments sharing the same core.

Basically, I want to bring down the cost entry for some of this stuff a lot lower. But still have a real calibration story so people can do real science. And to bring the cost of these instruments down in general.

TL;DR: My side project turned into my job (hopefully). Fingers crossed I can pull this off and not lose my shirt too much!


On AI. Without AI this would have been folly to even attempt. My best guess for what this would cost without AI is on the order of $5-10MM to hire a team of experienced devs for a year or two. This is not something I have knocking around in my bank account. If I would have tried to develop this myself (without AI), it would take me the remainder of my life basically. As a bonus I would come off as a crackpot: "I have the perfect way of designing firmware! Just you wait and see!" With AI, I can make this real in a matter of months as an individual.

I've heard of Bad Bunny before, but I've never heard his music before. I'm not a Spanish speaker and I'm not overly big on listening to foreign language music where I'm expected to understand.

The half-time show was... ok. I've seen better. I've seen worse. From what I've read online from native Spanish-speakers, I wasn't missing much and many people are reporting that they couldn't understand it either.

I'll probably never listen to his music again. I didn't find it interesting enough to ever seek out in the future.

(Exceptions to the foreign language music for me include things like German industrial where it's a chill beat for me to program or some classical/operatic music)

A long while back when I was a troll-y 20-something I walked into a drugstore and bought a newspaper. This was back in the days of 50¢ papers, to be clear.

I paid with a shiny new Susan B. Anthony dollar coin I just got as change from a post office.

The poor cashier.

She looked at the coin thinking that it's a quarter and looked up like I was stupid. Then she looked back down and realized it wasn't a quarter. She looked back up at me with a WTF expression. Back at the coin. Rung it up as a dollar. The register opened. She looked down at the drawer. Then back up at me with a "why did you do this to me?" look. Down at the drawer. I think she chucked it with the dollar bills. Back up at me with a scowl. Drawer to retrieve a couple quarters to hand to me.

This was easily 30 years ago and I still have it burnt into my memory.

I expect it would play out the same today.