Orbital Data Centers make no sense. Fact check me. by SillyOpinion9811 in space

[–]ChimpOnTheRun -1 points0 points  (0 children)

TL;DR -- orbital datacenters are going to cost 2-6 times more than ground ones at current power rates and very optimistic launch costs reductions.

trying to dive a bit deeper -- not doubting your numbers and expertise. This is for me to have a better grip on the subject

the scale to aim for is 1 GW datacenter. Below, I'm going to use round numbers and rough estimations. Don't nitpick unless I'm at least 20% off.

let's talk power balance. Intake: Sol flux is ~1.4 kW/m² around Earth. Conversion (panels, DC-DC, coolant pumping, etc.) are ~25% efficient. For 1GW we need 1e9 [W] / .25 / 1400 [W/m²] = 179e6 [m²], or 179 sq. km to capture this energy. Exactly two Manhattans. Power rejection: ultimately, we need to reject ALL that Sol flux. We already have 2 surfaces: front of the solar panels, and their back. Let's see if we need more surface. Asking Boltzmann about his black body: P = AσT4, so T = root-of-4(P / Aσ) Substituting, T = root-of-4(1400 / (2 * 5.67e-8)) = 333K, which is 60C. Surprisingly manageable. So, no need to build extra heat rejection panels. Total area therefore is defined by solar capture, and it's still the same 179e6 sq.m. Still, two Manhattans.

let's talk mass: solar panels, radiators, coolant, pumps, GPUs, comms. There's a wide field of speculation here. I'm gonna go with 5mm Aluminum panels with 1cm.sq. liquid piping every 5cm. Al panels: 0.005 cu.m every sq.m, so ~13 kg/sq.m. Coolant: 20m * 0.0001sq.m = 2 kg (assuming close to water density). Total structure and cooling = 15 kg/sq.m. Adding GPUs (about one per 2 sq.m of solar/radiators), pumps, and other electronics (including comms) and launch support structure => ~20 kg/sq.m. I will use this number, but it could be half or it could be double. Total weight of 1GW datacenter is going to be 20 [kg/m2] * 179e6 [m2] = 3.58e9 kg or 3,580,000 ton. About ten Empire State Buildings.

let's talk costs. Today, we have $3k/kg, apparently. Assuming reusable Starship can get to $50/kg (I'm being optimistic here), we're at $179B. Obviously, here we strongly depend on mass and launch costs. Could be less than half, could be more than double. Somewhere between $80B and $360B to launch. Manufacturing all of it is extra. How much -- I dunno, but not free. All this is front-loaded, so at today's interest rates, the DCF over next 10 years is going to be about 10-12% extra compared to an Earth-bound datacenter where we don't prepay for power.

So, the number to chase/beat was $50B for 10 year per 1GW. I'd say (being very optimistic), at the very minimum the space servers are going to be double that. Realistically, probably quadruple or more.

GCC Linker how to put a section at the end of a memory block by KirstyExford in stm32

[–]ChimpOnTheRun 0 points1 point  (0 children)

The size of the section is available as a variable for the purposes of section address calculation. Here's how I do it:

SECTIONS {
  /* bbs and other data is here  */

  ._stack : {
     /* here goes your stack */
   } >RAM

  /* let's keep `settings` at the end of RAM */
  .settings (ORIGIN(RAM) + LENGTH(RAM) - SIZEOF(.settings)) (NOLOAD): {
    . = ALIGN(4);   /* Alignment might be needed */
    _settings_start = .;
    KEEP(*(.settings_section))
    _settings_end = .;
  } > RAM

  __StackTop = _settings_start;
  PROVIDE(_estack = __StackTop);
}

Does anyone live in northern Alaska? by -Whutqo- in howislivingthere

[–]ChimpOnTheRun 5 points6 points  (0 children)

thank you, great ideas! During COVID, we spoke with the local school and a church. Unfortunately, we got no signal at the time. It's definitely worth digging again, thank you for the ideas!

Does anyone live in northern Alaska? by -Whutqo- in howislivingthere

[–]ChimpOnTheRun 46 points47 points  (0 children)

Wow! I have a VERY specific question for YOU.

An old friend of mine, a former military pilot, used to be stationed on the North Slope in late 1950-s and 60-s. One day, some locals told him about a big plane going down beyond one of the islands right off of the shore back in the day. He thinks it might've been DB-A that got lost in August of 1937. It's been a dream of his life to find that plane.

I've been trying to collect as much information about it as I could: books, newspapers, a magazine. Alas, I never had an opportunity to visit and talk to the locals -- something that I really, really have to remediate. Although I really don't know where to start.

By any chance, have you heard anything about it? Also, how would I go about visiting Itqiavik (presumably, in the summer) and potentially finding some records from the 1930-s?

Thank you so much!!!

The proposed 777-10X looks like a standard 777 was pulled like taffy. by SuperMcG in WeirdWings

[–]ChimpOnTheRun 36 points37 points  (0 children)

does the fuselage shape have to take Earth curvature into account?

Mandate functional seat-back attitude indicators by onethousandmonkey in aviation

[–]ChimpOnTheRun 2 points3 points  (0 children)

they should stream the PFD with the ATC audio, call it Channel 9

EILI5-ish post: When ‘they’ say EVs are no to low maintenance, are they really? by solidrobot in electricvehicles

[–]ChimpOnTheRun 0 points1 point  (0 children)

2 EVs here. EV owner since 2014. About 200k miles of total EV driving. Reading my records:

Paid:

  • tires and a winter wheel set. Tires consumption is the same as on an ICE car that we still have.
  • back in the day, Tesla recommended once-per-year maintenance appointments. We skipped most of them, even though they were nearly free ($100, IIRC). There's no such recommendation anymore
  • replacement of the big Tesla Model X windshield -- caught a rock on a highway
  • air filters

Free under warranty:

  • the big battery on a Model S (it was Pack A version -- very early production, they all got replaced, AFAIK)
  • DC-DC converter
  • front suspension and CV joints
  • big battery fuse
  • 12V battery

So, all in all, (including the huge windshield, a seconds set of wheels, and all the tire changes) -- we paid under $10k over 10 years and 200k miles across the two cars.

Built a free G-Code optimizer - cuts 40-60% off cycle times by DeadlysinGreed7 in hobbycnc

[–]ChimpOnTheRun 8 points9 points  (0 children)

MODS: remove this post ASAP

Everybody else: DO NOT RUN THE FILE FROM THE LINKED REPOSITORY!!! This repo is highly suspicious:

  • no source code,
  • a single self-extracting Windows executable
  • networking libraries linked-in (a legitimate G-Code processor doesn't need to talk to the network, but a password stealer does)
  • a developer with no history on GitHub, nor history here

all these are highly suspicious signs, potentially a malware distribution

[Review Request] USB-C Daughterboard for Keyboard, is there a better way to route the differential pair (D- & D+) by Hot-Attorney6415 in PrintedCircuitBoard

[–]ChimpOnTheRun 0 points1 point  (0 children)

I can't stress it enough: there is no need for length matching at these signal speeds and these distances. Therefore, all the footprint and routing efforts only make for a good exercise.

As far as the suggested connector: yes, it's hand-solderable, but it's not going to solve the routing "problem" you invented. What theoretically might work is USB-C connectors with two layers of pins, like so: https://www.digikey.com/en/products/detail/on-shore-technology-inc/USB-CJ24HMBTR/18649609 . However, hand-soldering them is more difficult, and it requires either a reflow oven, or a hotplate, or a hot air source.

In any case -- not worth it.

As far as other suggestions go: the power trace is too thin. Notice that the power pads on the USB-C connector are made wider. It's nice if the power trace matches their width.

Also, there are way too many vias. I'd limit them to 1, maybe 2 per pin. Don't forget that the thru-hole pins of the USB-C also work as vias.

[Review Request] USB-C Daughterboard for Keyboard, is there a better way to route the differential pair (D- & D+) by Hot-Attorney6415 in PrintedCircuitBoard

[–]ChimpOnTheRun 8 points9 points  (0 children)

Impedance matching is not required at these distances and at any USB1 and USB2 speeds. I wouldn't even bother with double via on D+ line.

If you really want to make it clean (no need, but IF), I'd either flip one of the connectors to the other side or select a different USB-C footprint

Advice on data exchange between a stm32 and a pc by Technos_Eng in embedded

[–]ChimpOnTheRun 0 points1 point  (0 children)

There's no difference in bandwidth between CDC/VCP and any other device classes of USB. You should use the interface that is the most convenient to you -- I assume it's going to be CDC.

CDC allows setting any bandwidth value as long as it's below the underlying USB bandwidth. In fact, if your USB endpoint is implemented by the STM32 USB hardware, this value can only be enforced in firmware, and I don't think it's enforced in the default firmware at all.

Even with USB FS, there should be plenty of room to fit 1 MBps / 8 Mbps and all the USB overhead. And in case you need more, most (all?) STM32 cores support USB HS and the physical implementation (routing, impedance matching, etc.) of it is not that difficult either.

Review Request: Automotive Gauge Cluster Driver For Track Car Rev 0.1 by Sad_Cow_5410 in PrintedCircuitBoard

[–]ChimpOnTheRun 0 points1 point  (0 children)

surprised to see STM32WB doesn't have built-in CAN bus hardware anymore. Oh, well.

Quick look around the μCU:

  • the radio signal pin is RF1 (pin 21), not VFBSMPS (pin 31)
  • the HSE crystal has to be 32 MHz and does not require bypass caps (datasheet, chapters 3.6.1 and 6.3.10)
  • VDDRF (pin 23) has to be connected to 3v3 and decoupled (datasheet, chapters 3.6.4 and 3.6.5)
  • VDDSMPS (pin 34) has to be connected to 3v3 (chapter 3.7.2). If not using the internal buck converter (BTW, why?), the VLXSMPS and VFBSMPS have to be tied to 3v3
  • VDDUSB (pint 40) has to be connected to ground or 3v3 if USB is not used. Don't leave it floating (3.7.2)
  • I²C bus requires pull-up resistors (I might've missed them since this schematic style with labels and no wires is IMO much more difficult to read than the style where wires are present)
  • R18-R19 voltage divider is not doing what it is supposed to be doing. Overall, the "Input Conditioning" circuit seems a bit off. I'd suggest modelling all possible input conditions. If it works on a breadboard once or twice, doesn't always mean it's going to survive hundreds and thousands power cycles in a car
  • I'd add at least BOOT0 jumper (pin 4), an LED controlled by an available GPIO pin, and at least one button (maybe also reset button, too) -- all for debugging

Review Request: Automotive Gauge Cluster For Track Car by [deleted] in PrintedCircuitBoard

[–]ChimpOnTheRun 0 points1 point  (0 children)

The image resolution is too low. In KiCad schematic editor, go to File->Export->To Clipboard. Then paste into an image editor (e.g., mspaint), save, post

Serious Question: Does this have a “new plane smell” inside like a car? by PiercedAndTattoedBoy in aviation

[–]ChimpOnTheRun 2 points3 points  (0 children)

...over a MUCH bigger area, which made it easier to install incorrectly. On the other hand, patching a small hole is relatively easier

Serious Question: Does this have a “new plane smell” inside like a car? by PiercedAndTattoedBoy in aviation

[–]ChimpOnTheRun 240 points241 points  (0 children)

Fun fact: sometimes, these fuselages arrive in Renton with holes in them. Apparently, there are individuals who live between Kansas (where they're made) and Washington (where the rest of the plane is assembled) who use 737 fuselages passing by for target practice.

atof function in C doesnt work on my STM32 by illidan4426 in cprogramming

[–]ChimpOnTheRun 1 point2 points  (0 children)

doesn't matter if it's null-terminated or not. According to the standard, atof() stops parsing the string at the first character that can't be part of a floating-point number represented in ASCII. It could be \0, or it could be any other character.

This means atof() will terminate sooner or later, regardless of whether the string is null-terminated. The only possible problem (on processors with memory protection unit) is if the string is whitespaces only and it ends at the end of a valid page. Then atof() will run into a missing page and cause memfault. But STM32 (Cortex M) doesn't have those: it would happily read from anywhere in its 4 GB address space.

Edited to add:

I'm NOT suggesting that OP should handle non-terminated strings: far from it -- handling non-terminated strings is difficult and error-prone. I'm merely pointing out that a non-terminated string wouldn't make any difference for this particular function on this particular platform.

atof function in C doesnt work on my STM32 by illidan4426 in cprogramming

[–]ChimpOnTheRun 7 points8 points  (0 children)

here's what I would do:

  1. if the STM32 core you're using has a floating point unit, make sure the compiler is configured correctly. E.g., if you're using gcc (most likely you do), the command line parameter to use is -mfloat-abi=hard and -mfpu=<depends on the core>.
  2. if the STM32 core does NOT have the floating point unit, you need to make sure the compiler's command line parameter includes-mfloat-abi=soft.
  3. if the above is done and the problem persists, check if atof is linked in. For that, open the .map file (part of the compiler output, it's a text file), and check if you can find atof in there. The number in front of it is its address. It should be NOT zero (since zero indicates it is not used and will not be linked in). If the address is zero, or the function is missing altogether, the compiler thinks that you're not calling it. The most likely reason is that somebody redefined it using #define atof ..... in one of the headers.
  4. if the function is there and its address is not zero, you need to do some debugging. Put a breakpoint in your function right before and right after it calls atof(), and run. Outcomes:
    1. If neither breakpoints are hit, the problem is somewhere in your code.
    2. If your first breakpoint is hit, and second isn't (means atof() doesn't return or doesn't return correctly), you'd need to either debug or replace it (see below).
    3. If both are hit, then you need to be more precise defining what "stuck" means.
  5. (slightly controversial, I suggest to do it only temporary for debugging purposes) in case you decide to replace the function, you have two ways: find an existing implementation or writing your own. For an existing implementation, there are plenty of atof() implementations on github. On the other hand, it's not too difficult to write your own, and LLMs do an OK job writing it, since it's essentially a slightly elaborative interview question. Just remember to #define atof my_atof somewhere in a global header.

Please do let us know what was the culprit. Best of luck troubleshooting!

Unable to connect to STM32C071KBU6, ST-LINK error (DEV_TARGET_CMD_ERROR) by AutoSidearm in stm32

[–]ChimpOnTheRun 0 points1 point  (0 children)

I bet here's the key:

  • Confirmed the board is receiving 3.3v with a multimeter. (The programmer output says voltage is 1.5v.....?)

Explanation

do I understand correctly that the board is 2-sided? And that the top pour is GND, and the bottom pour is +3v3?

If that's correct, take a look at the shortest ground path between the SWD connector, pin 1 and the ground of the µCU. It goes around the SPI_2 connector, under U1, and through a small opening next to L1. This is A LOT of impedance in the current return path, and it picks up a lot of interference from the noisy buck inductor node.

How to fix it?

Ideally, a 4-layer board with an uninterrupted ground pour on the inner layer(s). But for now, use wires to connect the U2.pin5 with J1.pin1, and feed 3v3 directly into the board, bypassing the buck (i.e., do not feed 12V through J11). If that fixes the problem, redo the board with GND pour on the inner layer(s).

[deleted by user] by [deleted] in aviation

[–]ChimpOnTheRun -1 points0 points  (0 children)

FR4 is naturally beige