HNHacker News
TopNewBestAskShowJobs

peterus

81 karma · joined August 23, 2025

https://www.petertanner.dev
submissionscomments
peterus··on An illustrated online book on Hewlett-Packard equipment
Besides them being wonderful test equipment, it's always fun showing people the hidden Centipede game on the HP 54645D oscilloscopes.
peterus··on The internet discovers TLA+. Now what?
Real world applications of TLA+: https://foundation.tlapl.us/industry/index.html.

The Intel paper shows how TLA+ was applied as a step prior to writing the hardware description. I'm not sure if it caught on, it seems like other tools are used nowdays, does anyone here in the VLSI industry know?

peterus··on C++26: Trivial infinite loops are no longer undefined behaviour
There are valid use cases for the infinite while(1) loop in microcontroller programming (contrary to popular belief it seems). Autogenerated HAL code for the stm32 uses it for error handlers, and they support C++ so I am surprised this was UB.

I only use it for error handling and of course it is a bad idea to use this to wait/stall in power sensitive applications, in that case use wake from interrupt.

As an aside, I like to include a software breakpoint in my error handlers. It makes debugging easier without wasting a hardware breakpoint (which are physically limited by the microcontroller):

  __BKPT();
  while (1)
    ;
peterus··on IKEA made a mod for Skyrim [video]
I like the attention to detail with the Todd Howard reference:

> Become encumbered in-game to start your quest to storage bliss! It just works.

peterus··on Colorlight 5A-75B: A dive into a popular low-cost ECP5 (FPGA) development board
Another low cost fpga board I've found is the EBAZ4205, which has a Zynq7010 SoC (fpga and dual core arm CPU). I got one a few years ago for 40 AUD. They were originally Bitcoin miner control boards. https://theokelo.co.ke/getting-starting-with-ebaz4205-zynq-7...
peterus··on Falstad Math and Physics Simulations
He also made circuitjs, a very useful circuit simulator which I regularly use for prototyping. It lets you modify and probe elements in real time unlike spice simulators, so it is faster to modify a design in it.

I use spice simulators to check the final design since sometimes circuitjs can have instability issues in complex circuits involving stuff like the nonideal op amp.

https://www.falstad.com/circuit/circuitjs.html

peterus··on Show HN: Woxi - Open-source Mathematica / Wolfram Language reimplementation
I get the reasons for not supporting out of order execution and the % variable, it makes for more readable and usable notebooks. Unfortunately most of the time I use Mathematica it is not to make a readable and repeatable notebook but just to help with uni work, so I do take shortcuts like putting multiple statements in a block and using % frequently.

If you are planning to add another component, I'd like to +1 the control systems module. It's a lot less clunky than Matlab in my opinion and faster to use. I've used the classical analysis, state space model and matrix equation solver features in that module, none of the microcontroller stuff https://reference.wolfram.com/language/guide/ClassicalAnalys...

Either way, I'll probably be using this after I graduate and no longer have the site license, since I cannot imagine using a different CAS, so thanks for developing this

peterus··on Linux on ESP32
This is for the recently released ESP32-S31 which does have a MMU, unlike the ESP32-S3.

The author has more details in this reddit post: https://eddrit.com/r/esp32/comments/1vait52/mmu_linux_on_the... And the docs section of the repo: https://github.com/GrieferPig/esp32-s31-linux/tree/main/docs...

peterus··on VLC for Unity now supported on Linux
I've been using eddrit.com, I think it best matches the minimalist old ui (no full size images without clicking drop-down, pagination, etc).
peterus··on Minecraft: Java Edition now uses SDL3
He was just ahead of its time in terms of grind and realism. I remember one of the first times gregtech was introduced to the mainstream was with the Mindcrack FTB modpack, most people hated it because they were used to being able to unlock ore doubling (with the ic2 macerator) within the first 20 minutes of a new world. He increased the difficulty by making the recipe need diamond cutting heads instead of a ton of iron. As you said he did this by modifying another mod's recipe (in this example ic2) which was frowned upon at the time.

In a sense, he created expert mode modpacks before they were a thing, where it is common and expected to modify recipes from multiple mods to make a more interconnected recipe chain.

peterus··on A Special Wireless-Free Nikon Camera Is Publicly Available for the First Time
No it doesn't, the time to first fix from cold start of modern GNSS receivers is in seconds (24s on the NEO M9N). Assisted GNSS using data from the internet reduces that to under 2 seconds (see https://content.u-blox.com/sites/default/files/NEO-M9N-00B_D...). Of course this can change based on the GNSS environment.

Even in the worst case the almanac (the data that is streamed at 50 bits/second) repeats every 12.5 minutes not hours.

peterus··on Eddrit – A lightweight alternative front end for Reddit
Demo instance: https://eddrit.com/
peterus··on Show HN: We built an 8-bit CPU as 2nd year EE students
Awesome project, re fpga implementation one option you might want to explore are used Bitcoin miner control boards if you want the best logic units/$ ratio. I've used the EBAZ4205 (zynq 7010) control boards with a cheap/generic FT2232HL dev board and it works great. Of course it's a bit more of a pain compared to a regular dev board
peterus··on Texas grid flags risks as data centers, crypto sites fail voltage tests
To add on to this overview, there are a new class of inverters in research called grid forming inverters which don't just follow the rest of the grid. One interesting technique is they can simulate the inertia of a traditional rotating machine/generator.

https://iten.ieee-ies.org/journal-featured-article/2025/grid...

peterus··on Your Old Devices Depend on Dying Sensors. The Silicon Labs Incident Proves It
The end of life notification for these chips were issued in May of 2022, with final orders by December 2022 [1]. The chip itself from what I can see at a glance has unremarkable specs compared to newer ones (all of TI's offerings have better relative humidity accuracy), but of course needing to redo a PCB design and firmware is annoying.

[1] https://www.silabs.com/documents/public/pcns/2205311264-End-...

peterus··on PART Telescopes – Bringing radio astronomy within reach of rural schools
Very interesting project, I'd be interested in seeing their system architecture in more depth and what tricks they used to bring the unit cost down.

Another radio telescope project I saw a while ago """misused""" low cost universal GNSS receivers ICs (MAX2769) as their RF frontend, which I found to be novel since these chips operate in a weird performance regime of low resolution (1- or 2-bit output) but very high sensitivity.

peterus··on ESP32-S31: Dual-Core RISC-V SoC with Wi-Fi 6, Bluetooth 5.4, and Advanced HMI
It would be good if this chip had good idle current comparable to other MCUs. I have used the ESP32S3 and it's idle current with the radio enabled, but not transmitting, is quite terrible.

My application needed both can bus and Bluetooth (though no wifi) so the S3 was one of the only options available. I'm sure the high current draw is because the wifi and ble share the same radio?

peterus··on OpenRocket
Our university rocket team uses openrocket extensively for doing fast design iterations early in the design phase. We have also used Rasaero II which is meant to be more rigorous above transonic speeds. We have an Ansys CFD too but that requires significantly more time to set up. We still use openrocket on launch days to do pre launch sims, but we override some of the parameters based on the more rigorous simulations.
peterus··on $96 3D-printed rocket that recalculates its mid-air trajectory using a $5 sensor
I would suggest using a more modern IMU, the MPU6050 has been long obsoleted both in cost and capability by newer IMUs. I used the ST LSM6DSOX in my rocket flight computers, for example it has a way better rate noise density of 110ug/Sqrt[Hz] at 16g fs compared to the awful 400 ug/Sqrt[Hz] of the MPU6050 and is cheaper than the MPU6050 on LCSC last time I bought some. If you go newer to the LSM6DSV you can get 60ug/Sqrt[Hz] but these aren't as cheap. There was an interesting Sony project which used a synchronized array of these consumer IMUs to achieve lower noise (apparently they became export controlled despite just fusing a bunch of consumer IMUs on one PCB!)

Nowadays you can even use the LSM6DSV320X which has both a low-g and high-g integrated which basically obsoletes the high-g ADXL375 and saves some space, but it's not quite at the price and supply reliability of the LSM6DSOX since it is less than a year old.

peterus··on Woxi: Wolfram Mathematica Reimplementation in Rust
I regularly use Mathematica for working with symbolic expressions (for its DSolve and transfer function stuff) and it is way more maintainable and elegant to have fractions, symbols and powers rendered in math mode instead of having to deal with a text only representation. Are there any front ends (either custom or somehow extending jupyter) for this project which recreate this experience?
peterus··on Diode – Build, program, and simulate hardware
I've found a combination of circuitjs and a spice simulator to be quick for prototyping custom analog circuits (made mainly from discretes). Circuitjs https://www.falstad.com/circuit/circuitjs.html allows you to edit components live unlike spice simulators, but with the tradeoff of convergence issues for more complex circuits, so I use circuitjs as a playground then use LTspice as a rigorous simulator.

If it's a circuit made by composing multiple integrated circuits based on their application notes and not a custom analog design, I just use LTspice alone since you can just import the manufacturers spice behavioral model (assuming they didn't encrypt them...)

peterus··on Man accidentally gains control of 7k robot vacuums
This is true, for example many stm32 series have a 96 bit unique id which is derived from the lot number, wafer id and position [1]. Even the low cost stm32g0b1 series I am using has them, but they are missing from some older series.

[1] https://community.st.com/t5/stm32-mcus/how-to-obtain-and-use...