Sign in

Catherine

@whitequark.org
5.6K followers 103 following 2.9K posts

sorceress

PostsRepliesMedia
Catherine @whitequark.org · 23/09/2026
thanks to Elen's extraordinary effort over the last several months, #GlasgowInterfaceExplorer revD1 design files have been sent to JLC. we hope this will also be the production revision (or if we do have a revD2, it happens with minimal changes)
3211
Catherine @whitequark.org · 02/09/2026
look! check out what you can do with the new #GlasgowInterfaceExplorer streaming logic analyzer tap into D+/D- lines on a, for example, keyboard, and watch keys get pressed and released in real time in the USB packets
1574
Catherine @whitequark.org · 28/08/2026
also, you can dump the PD messages as text using sigrok-cli! ``` sigrok-cli -d glasgow:conn=tcp-raw/127.1/5555 -c samplerate=5m -P usb_power_delivery:cc1=D0:cc2=D1:fulltext=yes -A usb_power_delivery=text --continuous ```
PD transaction negotiating [1] (PDO #5: Fixed 20V) 3.25A (operating) / 3.25A (max)
081
Catherine @whitequark.org · 28/08/2026
ever wondered how USB devices negotiate Power Delivery (PD) with each other? ordinarily, you'd need a specialized USB PD analyzer. the upcoming #GlasgowInterfaceExplorer revD has I/O drivers that natively support USB PD voltage levels, enabling you to directly observe USB PD communication!
SOURCE CAP message:
[1] [Fixed] 5V 3A (15W) [unconstrained] 
[2] [Fixed] 9V 3A (27W)
[3] [Fixed] 12V 3A (36W)
[4] [Fixed] 15V 3A (45W)
[5] [Fixed] 20V 5A (100W)
[6] [Programmable|PPS] 5/21V 5A
2685
Catherine @whitequark.org · 27/08/2026
this is a very basic and janky setup i connected the Glasgow to D+ and D- like this and that's it :) (does not work on HS devices, of course)
190
Catherine @whitequark.org · 27/08/2026
capturing and decoding a USB Full Speed packet using #GlasgowInterfaceExplorer and #PulseView!
long waveform decoding to SETUP ADDR 2 EP 0 and data
3313
Catherine @whitequark.org · 27/08/2026
psst. check this out #GlasgowInterfaceExplorer
screenshot of PulseView, logic analyzer software, with the device name shown as "Glasgow Interface Explorer", and an I2C transaction being decoded
2431
Catherine @whitequark.org · 19/08/2026
pov: you need your life support equipment in a hazardous environment (summer in the UK)
photo of an thick black hose like structure lying across my lap with two valves on its end that are connected to a vest worn on my chest
3394
Catherine @whitequark.org · 16/08/2026
implemented probing of I2C devices in #GlasgowInterfaceExplorer using a database of sequences that use e.g. ID registers to confirm what chip it is github.com/GlasgowEmbed...
screenshot of command `glasgow run i2c-controller -V 3.3 scan --probe --accept-risk` that tells you that this is a dangerous operation then reports a device 0b1110110/0x76 as matching Bosch Sensortec BME280
1172
Catherine @whitequark.org · 14/08/2026
thanks to being in the chillvest for the last few hours, i'm not sweating and i can think fairly clearly. outstanding result
1130
Catherine @whitequark.org · 12/08/2026
thermal images at 15C water temp
170
Catherine @whitequark.org · 11/08/2026
YES. IT WORKS it cools me down to a point where i get less brain fog
contraption made of a chiller with a vapor compression refrigerant loop (propane/butane mix) and liquid cooling vest (not currently worn)
6816
Catherine @whitequark.org · 10/08/2026
COP should be closer to 6-7
170
Catherine @whitequark.org · 10/08/2026
unless i calculated something wrong, i get a COP of about 1.82 the real number is higher than that because the bucket of water i've used was completely uninsulated
3110
Catherine @whitequark.org · 09/08/2026
BEHOLD: contraption
bucket of water with a pump in it and two tubes going into the heat exchanger of a vapor compression chiller. the whole thing is on the deskpower supply displaying
24V 4.2A 102W
5692
Catherine @whitequark.org · 08/08/2026
YOO MY MINIATURE CHILLER HAS ARRIVED look at how incredibly cute it is it's so good. the quality of the workmanship is amazing, worth every penny
5551
Catherine @whitequark.org · 07/08/2026
bonus: zh-CN variant
0170
Catherine @whitequark.org · 07/08/2026
i did it. i bolted InstallShield-style background to an MSI installer. you have _no idea_ how difficult this was
720619
Catherine @whitequark.org · 07/08/2026
so i reverse-engineered the code that draws InstallShield's famous background gradient and text and reimplemented gist.github.com/whitequark/2...
10750218
Catherine @whitequark.org · 06/08/2026
i do not think i can rightfully describe how much effort it took to get here
windows 7 vm with glasgow, python idle, pulseview, and pxview. the installation is in chinese
1410
Catherine @whitequark.org · 04/08/2026
not the scaling though
130
Catherine @whitequark.org · 03/08/2026
made some final adjustments to the installer
welcome page from a setup wizard. the left image is the same as in windows 98's add new hardware wizard with a pretty disassembled PC and some floppiesdestination folder selector dialog with a PCB, a modem, and an optical disc in the top right icon in the classic windows 9x style
3511
Catherine @whitequark.org · 02/08/2026
in about a day's work i learned WiX and built an MSI installer for #GlasgowInterfaceExplorer! look at it, it includes everything (Python, Yosys, nextpnr-{ice40,ecp5}, Python libraries, the manual) in a package that is just under 90 MB and fully self-contained.
three windows on a windows desktop:
- chromium with the glasgow manual open
- terminal with the glasgow icon and an applet running
- GlasgowInterfaceExplorer.msi file at 83 MB in size
- desktop shortcut for glasgow as well
1291
Catherine @whitequark.org · 01/08/2026
how about tms320?
120
Catherine @whitequark.org · 29/07/2026
bsky.app/profile/nonb...
101054289
Catherine @whitequark.org · 25/07/2026
done
040
Catherine @whitequark.org · 21/07/2026
#GlasgowInterfaceExplorer revD assembly density (finger for scale)
PCB with components that are like 20 times smaller across than a finger next to them
3292
Catherine @whitequark.org · 20/07/2026
check out this new primitive I'm working on for #GlasgowInterfaceExplorer! see alt text for an explanation
waveform diagram for a FIFO displaying the following test case:
1. writes start without any reads. for a while, writes are buffered in FPGA block RAM, but this buffer ends after 0x60 writes
2. writes spill over into external DRAM
3. reads start and clear out the data from FPGA block RAM after a while
4. reads un-spill data from external DRAM
1312
Catherine @whitequark.org · 16/07/2026
Glasgow revD memory controller has been validated up to 125 MHz DDR! that's 2000 Mbps/chip of burst bandwidth, slightly less if you subtract overhead Glasgow revC devices have a prototype HyperRAM addon that should not be difficult to enable, but it would have closer to 768 Mbps/chip of bandwidth
1251
Catherine @whitequark.org · 09/07/2026
now that i think about it, "overflow valve" is a product that probably only exists in factorio. but what i can use instead is a flow restriction or a metering device.
310
Catherine @whitequark.org · 09/07/2026
asked the vendor, they provided usable documentation, the motor speed/power can be set with a resistor (so I can probably just PWM it). the compressor must remain horizontal, so this will have to be assembled in a particular way here's a very crude diagram of what i want to build
240
Catherine @whitequark.org · 09/07/2026
oh! i know exactly what it is in english it's "hose barb". like this. you can see the resemblance
120
Catherine @whitequark.org · 09/07/2026
anybody knows what this type of quick connect coupling is called? it looks off the shelf
210
Catherine @whitequark.org · 05/07/2026
glasgow revD0 memory controller finally works! to do: make sure it meets all timings per spec; maybe implement variable latency; add ODDRX2 support; add AXI-style wrapper; ...
0160
Catherine @whitequark.org · 05/07/2026
got the Glasgow OctoSPI RTL working on ECP5 :D
1190
Catherine @whitequark.org · 05/07/2026
wow, SensePeek SQ500 probes are *good*. those are some sharp edgesfile:///home/whitequark/PXL_20260705_011731471.jpg file:///home/whitequark/RigolDS7.png
2300
Catherine @whitequark.org · 30/06/2026
we kept the LED pattern, of course
trans flag colored 5 leds
1120
Catherine @whitequark.org · 29/06/2026
Glasgow revD0 bringup in progress, now that I finally have a PCB on hand!
PCB mounted on some supports, LEDs are lit up
1430
Catherine @whitequark.org · 27/06/2026
adding new features to #GlasgowInterfaceExplorer (including revC units), such as current measurement the USB protocol now supports reporting faults as they happen (without having to poll); this isn't exposed yet but is straightforward to do later
170
Catherine @whitequark.org · 25/06/2026
#GlasgowInterfaceExplorer revD0 can now run the benchmark! this is a big milestone; it tests (new, GPIF-based bitstream loading) as well as FPGA FIFO configuration as a bonus, revC devices on Windows get about a 1.5-2x performance boost once the new firmware is merged!
1121
Catherine @whitequark.org · 20/06/2026
roger that. will do
070
Catherine @whitequark.org · 19/06/2026
felinebuildservices.org has officially transitioned into a limited alpha!
fbs website with x86_64 linux runners now available
0353
Catherine @whitequark.org · 18/06/2026
who authorized this
1140
Catherine @whitequark.org · 18/06/2026
signs your CPU is underpowered
lookup table for 1<<n
1250
Catherine @whitequark.org · 14/06/2026
now do this one
170
Catherine @whitequark.org · 04/06/2026
added operating expenses of grebedoc by request grebedoc.dev#support i think you could call this "lean" :3
How can I support the service?
At the moment, operating the service incurs average expenses of 6.63 GBP/AZ/month, which is covered by Catherine 'whitequark' personally. You can support this effort via Patreon.
1171
Catherine @whitequark.org · 03/06/2026
how success looks like for me:
1440
Catherine @whitequark.org · 03/06/2026
just found out that torprojectstatus.org is now hosted on Grebedoc, neat! gitlab.torproject.org/tpo/tpa/team...
site hosting (Grebedoc, implemented with git-pages)

Consequences
We expect this setup to survive everything but a full and complete
outage of the current infrastructure or compromise of TPA operators,
which need access to the parallel infrastructure to complete updates
anyways.
The Grebedoc setup is based on git-pages, which is particularly
interesting, as it's an API that's actually independent of
Codeberg. So even if Codeberg goes down (which, like our GitLab, does
happen on a regular basis), we can still post updates to the status
site by publishing directly to the Grebedoc backend.
Grebedoc is also highly available, with anycast servers distributed
across the world with an object storage backend. Our tests showed
equivalent or better performance to Codeberg pages and GitLab pages.
0142
Catherine @whitequark.org · 02/06/2026
felinebuildservices.org status (this is an on-demand provisioned VM)
3181
Catherine @whitequark.org · 29/05/2026
ever think about how bonkers microsd cards are?
280