@karotte@chaos.social avatar

karotte

@karotte@chaos.social

Full-stack engineer from solder to Gtk

This profile is from a federated server and may be incomplete. Browse more on the original instance.

karotte, to random German
@karotte@chaos.social avatar

Wenn Jugendliche ein Datenbankschema bearbeiten wollen:

Ey ALTER, TABLE!

karotte, to random
@karotte@chaos.social avatar

Dune 3D Version 1.1 is out! https://github.com/dune3d/dune3d/releases/tag/v1.1.0

Just in time for the workshop at

Apart from loads of much-needed bugfixes it also contains a couple of handy new features such as symmetry constraints.

karotte, to random
@karotte@chaos.social avatar

TIL there's a redirect from "do not eat" to Silica Gel in the english Wikipedia.

attie, to random
@attie@chaos.social avatar

Schematics are a form of communication... So communicate!

There's nothing worse than a mystery box, with signals going in, and signals coming out... and no explanation.

Being forced to reach for the datasheet, when you're trying to understand a schematic is bad. Avoid it.

A screenshot showing the bridge IC itself, with the LVDS waveform and its slots. Each position is labelled with the associated output of the bridge IC.

karotte,
@karotte@chaos.social avatar

@jaseg @attie If you're lazy, pasting a screenshot of the PDF is also fine, I guess.

karotte, to random
@karotte@chaos.social avatar

It's more or less widely known that especially high-capacitance ceramic capacitors have significantly less capacitance at their rated voltage than at 0V. While this effect is detrimental for bypass applications, has anyone ever turned that effect into something useful?

I was thinking of using this effect to make a variable capacitor for a VCO or maybe getting some use out of the non-exponential RC charge characteristic.

karotte, to random
@karotte@chaos.social avatar

So you're developing a cross-platform library that deals with filenames as a const char * (or the equivalent thereof)? On Windows, please treat the the filenames as UTF-8 and internally convert them to UTF-16 to call the Unicode Windows APIs or only have a wchar_t* function available.

DO NOT pass the filename as-is to the ANSI Windows APIs. With char * being treated as UTF-8 encoded text, this appears to work until an umlaut or another non-ASCII character appears in a filename.

Thank you.

gsuberland, to random
@gsuberland@chaos.social avatar

heh, this 980Ti has one of those silly metal bus bar bridges for power delivery.

karotte,
@karotte@chaos.social avatar

@gsuberland At first glance this looked like a small lipo and I was really confused about its purpose…

karotte, to random
@karotte@chaos.social avatar

Selecting a DC/DC converter IC: 5min
Picking the inductor to go with it: 30min

Help my projects are taking forever…

Ninji, to random
@Ninji@wuffs.org avatar

Thinking about the new digital map I saw the other day, which managed to misspell the name of the area it’s in 👏

(Also, this font rendering looks very un-Windowsy; I wonder what the software is built on)

Closeup of the top right of the screen, which says “Patrick, March 17, 2024, 16:10”

karotte,
@karotte@chaos.social avatar

@Ninji Bad guess: Broken subpixel antialaising due to the portrait screen orientation.

karotte, to random
@karotte@chaos.social avatar

So your software needs a list of screen resolutions? Here's how to make it look nice:

  1. Instead of an 'x' use '×' U+00D7 MULTIPLICATION SIGN
  2. Use tabular figures
  3. Left-pad the width with U+2007 FIGURE SPACE

That way, all of the the × line up nicely in the same column.

karotte, to random
@karotte@chaos.social avatar

Here's the project you all were wondering why it doesn't exist yet: https://digipres.club/@foone/111948980229300662, https://ioc.exchange/@azonenberg/110849751773610561

Introducing USBKVM! A keyboard, screen and mouse that all fit in your the palm of your hand!

It's built around the MS2109 HDMI to USB capture chip and its I²C interface connected to an STM32 MCU that takes care of the keyboard and mouse emulation.

While the hardware is fully functional, firmware and software are in a proof-of-concept stage. Stay tuned…

The raspberry pi desktop in a window titled "USBKVM". In the lsusb output in the terminal, there's a TinyUSB device.
ThinkPad UEFI setup startup page in the USBKVM window.

karotte,
@karotte@chaos.social avatar

Cleaned up the code, 3D-printed the case and wrote the readme.

Now it's ready for prime time: https://github.com/carrotIndustries/usbkvm

karotte,
@karotte@chaos.social avatar

USBKVM Pro, the follow-up with VGA update:

MS9288C eval board, aka really cheap VGA to HDMI converter box has arrived and works as advertised. Pinout appears to be similar, though not identical to the MS9288A, for which I found several sources.

What's strange is that none of the VGA pins needed for EDID or legacy ID are connected, yet two laptops detected it as monitor.

But how? Are the 75 Ohm RGB termination resistors sufficient for detection?

karotte,
@karotte@chaos.social avatar

@gsuberland These aren't connected either. The only pins connected are RGB, their respective grounds and HSync/VSync. They even were too cheap to connect the other two ground pins.

karotte,
@karotte@chaos.social avatar

USBKVM Pro board design is done, now waiting for the boards to arrive.

karotte,
@karotte@chaos.social avatar

Turns out, not all QFN-48s from the same manufacturer are created equal…

Anyhow, I wanted to know if everything's working before respinning the board, so I decided to play: will it bodge?

Yes! After spending two evenings soldering around 40 0.1mm magnet wires to the 0.4mm-spaced pads, I can confirm that the VGA input is working 😀

karotte,
@karotte@chaos.social avatar

@azonenberg Yeah, exactly.

Making a flex board wouldn't be really economical here. It's a small and cheap 4-layer board from JLCPCB.

karotte,
@karotte@chaos.social avatar

@azonenberg Oh, neat! Didn't know they were that cheap.

gsuberland, to random
@gsuberland@chaos.social avatar

given all the complex requirements modern SoCs have for power rail sequencing, especially when DRAM is involved, I feel like vendors should put together some sort of standardised format for representing those sequencing requirements like they do with package pinout files. you could then have your EDA tool consume them by tying the data to specific nets in the design, figure out the intersection of requirements for shared rails, and enforce correctness via ERC rules.

karotte,
@karotte@chaos.social avatar

@whitequark @azonenberg @gsuberland

There's also the LTC2977. As to be expected for an ex-LT part its somewhat pricey. They have configurable thresholds and timing setting for pretty much everything and the software tool to configure them is really useful, but also somewhat on the janky side.

karotte,
@karotte@chaos.social avatar

@azonenberg @whitequark @gsuberland One can use as many as required by connecting their SHARE_CLK (and some other) pins in parallel.

karotte, to random
@karotte@chaos.social avatar

A couple of shitposts on my timeline about the link protocol used by TI calculators reminded me about an oddity of it that I haven't seen elsewhere:

It's a two-wire (red, white, GND) open-drain interface. One might assume, that one wire's clock and the other one is data or that one's RX and the other one is TX. However, it's none of that:

🧵 (1/2)

karotte,
@karotte@chaos.social avatar

To transmit a '1', the sender pulls the white line low, the receiver acknowledges this by pulling the red line low. The sender then releases the white line and the receiver finally releases the red line. For transmitting a '0', the sender starts with pulling the red wire low.

This has the nice property that it does bit-level handshaking and flow control and is self-clocking.

Despite these advantages, I've never seen such kind of protocol used anywhere else. If you have, let us know!

🧵 (2/2)

gsuberland, to random
@gsuberland@chaos.social avatar

I was looking into Codec 2 for low bitrate telephony, and it turns out some researchers made their own decoder for it called Parametric WaveNet, which is a deep learning model that generates speech directly from the Codec 2 data stream.

listen to the Codec 2 samples, then the Parametric WaveNet samples. they're both the exact same encoder at 2400bps. the difference in quality and inteligibility is outstanding.

https://storage.googleapis.com/downloads.webmproject.org/icassp2018/index.html

karotte,
@karotte@chaos.social avatar

@gsuberland "Fun" fact: low-bitrate voice encoding shows up on multiple export control lists 😶‍🌫️

https://www.wassenaar.org/app/uploads/2019/consolidated/WA-LIST%20%2813%29%201.pdf

5.A.1.b.6: Employing functions of digital "signal processing" to provide 'voice
coding' output at rates of less than 2,400 bit/s.

On other lists, the limit is 700 bit/s.

Codec 2 even beats the 700 bit/s limit…

karotte, to random
@karotte@chaos.social avatar

So… I'm writing another piece of CAD software 🤓

Say hi to Dune 3D, a parametric 3D CAD that supports STEP import, chamfers and fillets!

It's the result of gluing together the UI from Horizon EDA with the solver from solvespace and Open CASCADE for a geometry kernel.

After about 3 months of off-and-on development, it's finally ready for prime time, go check it out on https://github.com/dune3d/dune3d#readme

Don't be surprised if it's a bit janky or lacks some features, there's still a lot left to be done…

karotte,
@karotte@chaos.social avatar

After at least two other people 3D printed a design they made with Dune 3D, it's my turn to actually finish the demo project and use Dune 3D for its intended purpose :breadpeek:

A case for the "Dual USB audio interface", that's been dutifully doing its job under my desk for 4 years now. It's there for connecting both my raspberry pi and my laptop to the HiFi amplifier without having to switch inputs. From a hardware point of view, it's nothing more than two USB audio DACs and a summing opamp.

A grey 3D-printed box with curved sides and two micro USB connectors on the front. In each corner of the box, there's small Torx screw.
A screenshot of Dune 3D, showing the box with the PCB, without the lid on.

karotte,
@karotte@chaos.social avatar

Packagers get ready!

I've prepared a preliminary release of Dune 3D for everyone to make sure that they'll be able to package the upcoming 1.0 release without any bad surprises: https://github.com/dune3d/dune3d/releases/tag/v0.9.3

There's also an MSI installer for all you Windows people out there: https://github.com/dune3d/dune3d/actions/runs/7577059606/artifacts/1179634166

If all goes well, the 1.0 release should happen next weekend.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • anitta
  • everett
  • magazineikmin
  • Youngstown
  • thenastyranch
  • rosin
  • slotface
  • ngwrru68w68
  • Durango
  • PowerRangers
  • kavyap
  • cisconetworking
  • tsrsr
  • DreamBathrooms
  • modclub
  • mdbf
  • tacticalgear
  • khanakhh
  • ethstaker
  • vwfavf
  • InstantRegret
  • tester
  • osvaldo12
  • cubers
  • GTA5RPClips
  • Leos
  • normalnudes
  • provamag3
  • All magazines