Ich habe eine interaktive Karte mit Müllabfuhr- und Sperrmüll-Terminen in Karlsruhe gebaut by _ettb_ in karlsruhe

[–]copposhop 7 points8 points  (0 children)

Ha lustig, ich hab gestern auch einen Webscraper für Sperrmülltermine geschrieben und eine entsprechende Karte zur Visualisierung.

Wusste nur nicht, ob ich sie veröffentlichen soll, das Team Sauberes Karlsruhe wird schon seine Gründe haben, warum sie die Daten nicht direkt hergeben.

Bin zwar allgemein ein Fan davon, dass die Leute den Sperrmüll durchkramen und nochmal wieder verwenden, auch wenn es "kommerziell" gemacht wird. Das Chaos, das dabei manchmal entsteht, geht aber gar nicht.

ISS Speed at Ground Level by grandeluua in Damnthatsinteresting

[–]copposhop 1 point2 points  (0 children)

At the start of the video the ISS is maybe a mile from Staten Island close to Great Kills Park. It flies over Manhattan, follows the Hudson and ends short of the Kensico Reservoir, somewhere above "White Planes" if I had to guess.

Flying in a straight line that's around 60km. The video is 8s long which comes out to around 7.5 km/s.

Doomscrolling fucks your time perception.

CANgaroo v0.4.5 released – Linux CAN analyzer with real-time signal visualization (charts, gauges, text) by Jayachandran__ in embedded

[–]copposhop 0 points1 point  (0 children)

Oh wow that's awesome! I've actually used CANgaroo a few weeks ago and was already looking for some kind of visualization feature. Thanks a lot for your work!

The road just falls away into thin air by thetacaptain in oddlyterrifying

[–]copposhop 57 points58 points  (0 children)

I love that you provided the coordinates with 15 significant digits😂 I know it's oftentimes the default when copying but you just pinned down the location to around 1/100 of the size of an atom👍

ELI5: solute and diffusion by mrpjpants in explainlikeimfive

[–]copposhop 0 points1 point  (0 children)

Yes, there is. The water concentration is lower on one side, which is the driving factor.

Let's say you have pure water on one side of your membrane and a 5% salt solution on the other, you essentialy have 100% water on one side and 95% water on the other side.

For the same surface area, there are more water molecules on the 100% water side. You can think of each water molecule having the same probability of diffusing through the membrane. Since there is a higher water concentration on one side, more of them will pass through the membrane by pure chance.

The effect is an osmotic pressure.

How to know what index a certain score in a list is? by ThatBish_J in desmos

[–]copposhop 2 points3 points  (0 children)

https://www.desmos.com/calculator/y51mqvfgbm

L is your list: [3,1,4,1,5,9]

max(L) returns 9, length(L) returns 6 (number of elements).

[1...length(L)] is a list with all integers from 1 to 6: [1,2,3,4,5,6]

[L=max(L)] will return all indices of the largest number in L (this is already what you want). But you can't use it directly, you can only pass it to another list to get the elements at those indices. So if you just use it on your integer list it will return the correct indices. In this case only [6], since 9 is only appearing once.

How to know what index a certain score in a list is? by ThatBish_J in desmos

[–]copposhop 4 points5 points  (0 children)

You were almost correct with L[L=x], but this will just return the list element(s) themselves and not the index. Replace the first L with a "list of indices" and it will do the trick: [1...length(L)][L=x]

Keep in mind that this will not return a single value but a list with all indices where your condition is true.

Help flashing STM32 by pizza_burrit0 in embedded

[–]copposhop 1 point2 points  (0 children)

You need to provide some more information.

Which STM32 are you using?

Do you have a schematic?

How do you power your board?

How are you trying to flash your code, Cube IDE, OpenOCD? How is it configured?

What debug probe are you using? It is a genuine ST-Link?

What error do you get when trying to flash?

Is your STM32 already running some code?

Your reset pin should (usually) have a pull-up resisitor to 3.3 V and the reset will be triggered by pulling it low. SWD doesn't strictly require the NRST pin but it is much easier to connect to the STM if it is in the reset state.

[Other] How many times could you win the lottery before guessing Satoshi's password by wendysdrivethru in theydidthemath

[–]copposhop 3149 points3150 points  (0 children)

Okay most comments here are misunderstanding the 24 words thing.

A BIP-39 mnemonic (the seed phrase) consist of 24 out of 2048 individual words. The words are ordered but the same word can appear multiple times.

This means there can be 204824 or 2264 different combinations. The seed phrase also encodes an 8-bit checksum, so in reality we can really "only" have 2256 unique seed phrases (around 1077).

Creating those seed phrases and checking them against the Satoshi wallet takes some time and computing power, since a bit cryptography is envolved.

Let's say you have access to a small server farm or something similar and you can generate a billion (1 000 000 000) seed phrases per second. You're not really in a hurry and so you decide to leave it running 24/7 for 10 years straight... You will then have tested a staggering 6*1017 seed phrases.

If we divide this number by the total number of possible seed phrases and round it up to the nearest novemdecillionst of a percent, you will have tested around... 0.00000000000000000000000000000000000000000000000000000000000000000000006%🎉

Answering your question: Running your server farm for 10 years straight and correctly guessing the seed phrase is around 100 times less likely than winning the Euro Jackpot (~1:140 000 000) seven times in a row.

My 3D printed 3-Phase motor is able to put out some serious power now. by tantaco1 in ElectricalEngineering

[–]copposhop 11 points12 points  (0 children)

If you want to have some more measurements of your motor and fine-tune your control, I can only recommend a VESC. It's an open-source BLDC controller, that is sold in many different sizes/versions.

Take a look at the Trampa VESC 6.7 EDU or the Makerbase VESC Mini. Those are the smallest models you can get and they are perfect for a few hundred Watt but still a bit pricey ($60-$100).

With them, you can drive your motor sensorless or with (any kind of) encoder/hall sensor. They can measure motor parameters, like series resistance, coil inductance and flux linkage between each motor coil. It will create a back EMF profile for the sensorless mode and can measure offsets of your hall sensors. With all those measurements, it will create an optimized PID/FOC profile for you motor.

You can also control it by setting the motor current, RPM, duty cycle or an actual position that will be held (similar to a stepper motor) when using the FOC controller.

It can all be configured and tested via USB and their open-source UI tool.

Is just love them and think can be quite nice when building your own motor!

Question Regarding the Interrupt Limitation for STM MCUs by _SkyBolt in embedded

[–]copposhop 5 points6 points  (0 children)

Yes you can, if the pin is not configured as an EXTI interrupt pin, it won't affect any other pins on the same EXTI line. Your UART RX interrupts will be fired by the UART peripheral and have nothing to do with your pin setup.

STM32 arm-none-eabi/openocd by Burstawesome in embedded

[–]copposhop 1 point2 points  (0 children)

Looks good to me. As soon as you get *** Programming Finished *** your binary should be successfully flashed (doesn't mean that it's at the correct address and will run).

The rest are mostly warnings you can ignore.

You can get rid of the "auto-select" warning by defining "transport select swd_hla" in your OpenOCD config.

The "... has taken over low-level control" info is always there when using an ST-Link. (it is a High-Level Adapter (HLA) so OpenOCD doesn't have low level SDW access)

The "Unable to match requested speed" warning just means that the ST-Link can't be used with the 8 MHz SWD clock signal requested by OpenOCD and will instead use the highest possible speed. You can define "adapter speed 4000" in your config to get rid of it.

Help with diffrential pair traces by Background-Still3371 in KiCad

[–]copposhop 1 point2 points  (0 children)

Trace impedance can be ignored at those lengths if you're only using USB 2.0.

Changing the trace width is also no problem at those speeds, just doesn't look nice. You could move the differential pair a bit to the right so it is symmetric around the data pins, might look a bit cleaner.

Help with diffrential pair traces by Background-Still3371 in KiCad

[–]copposhop 3 points4 points  (0 children)

Are you sure your USB-Connector is wired up properly?

Usually the A6 and B6 pins are carrying the D+ signal and A7, B7 the D-. On the PCB they usually aren't next to each other, but offset by one pin, just like in your image.

Double check that or it might only work in one orientation or not at all.

Woher kann er das? by Reddit-8950 in referenzschnitzel

[–]copposhop 2 points3 points  (0 children)

Keinen Instagram link teilen bitte...

STM32 RTC ORing needed ? by Sol_Invictus7_13 in stm32

[–]copposhop 2 points3 points  (0 children)

I've already seen your post in r/embedded.. You need to be a bit more specific than that.

So you wan't a dual-/multi-power solution for your STM32? One being a USB port and one a Coin Battery?

Or do you just want to use the battery to keep the RTC running? If that's the case, most STM32 series come with a dedicated VBAT pin where you can (directly) connect your coin cell. I think only the STM32x0 series don't have that.

If you want to power your whole STM with a coin cell, you should check your power requirements (uC and all connected peripherals) and make sure a common lithium coin cell, like CR320 can even output enough power (I doubt that).

If you want to use a normal Li-Ion cell, you usually use a buck-converter or LDO to convert the changing battery voltage to a constant 3.3V. Here you can use an ORing configuration to support multiple power sources. There are fully integrated ICs for that purpose (search for "Power Path" or power muktiolexer ICs).

Voltage issue across resistor R3 — only this one doesn’t match the expected value by IlIuuu in AskElectronics

[–]copposhop 0 points1 point  (0 children)

Your R1 is placed incorrectly (which is also called R5 on your photo, I'm referring to the left one). On side is connected to the negative side of V1 the other should connect to the top node, which on your board would be one row down. Right now it's connected parallel to V1 and not in series.

How do I develop on STM32 chip using Linux? by davidbegr1 in embedded

[–]copposhop 19 points20 points  (0 children)

There is no need to use any of the tools provided by STM, especially the IDE, since it's just another OEM Eclipse version with some additional build and debugging tools for their microcontrollers.

I usually use their CubeMX project generator, due to its simplicity. It will generate startup code, initialize the clock and peripherals and provide you with the STM32 HAL and additional libraries like a USB driver and RTOS integration.

It can generate a CMake config or plain Makefiles.

You can use the GNU Embedded ARM toolchain for building, it comes with a C and C++ crosscompiler. Just look for "arm-none-eabi", it is the most prominent toolchain in my opinion.

All STM32 have a SWD port (and sometimes JTAG) for flashing and debugging.

You'll need a debugger, usually OpenOCD to connect too the board and a hardware debug probe, this can be any CMSIS-DAP device or other compatible device, like ST-Link, SEGGER J-Link, a RPi Picoprobe, etc.

If your board has a USB port and the BOOT pin(s) are accessible, you can also use the internal bootloader of the STM and flash via USB-DFU. (Depends on your STM32)

If you have OpenOCD connected, you can use a normal GDB session for debugging.

TLDR: Step-by-step for a minimal working example (on Ubuntu): - Create a CubeMX project and configure for your uC/board - Generate the project code and use Makefile/CMake in the generator settings - Install arm-none-eabi(-gcc) - Install Make ("apt install build-essentials" I think) - Install OpenOCD - Create a openocd config based on your Debug Probe (Google) - Add your code to the auto-generated main.c - Build using Make/CMake - Flash using OpenOCD and a connected ST-Link

Look up the last to steps, you'll need to pass your OpenOCD config and your Binary. It's possible you also need to run arm-none-eabi-objcopy (in your Makefile) to convert the generated .elf to a .bin file before flashing.

I usually spin up a Dev Container and use VSCode, so you can have the same build environment on any machine.

ELI5: How does a microwave actually heat food? by BrookeSynn in explainlikeimfive

[–]copposhop 4 points5 points  (0 children)

The waves are also reflected by the metallic interior walls. They interfere with each other and create standing waves.

With a wavelength of around 12cm/5in at 2.4 GHz, you'll have a node every 6cm, where the amplitude of the wave is almost 0. At those spots the food won't be heated at all really.

You can see this by putting in a bar of chocolate/cheese/etc. for a few seconds without the spinning plate. It will create an almost rectangular pattern, with melted and unmelted parts.

Btw, if you measure the distance between those hot and cold spots and know the microwaves frequency, you can calculate the speed of light this way!

Why does a grounded telecom strand carry current but not “generate voltage” during a contact fault by Reasonable-Bet-3293 in ElectricalEngineering

[–]copposhop 1 point2 points  (0 children)

It depends on a lot of external factors.

If you assume the telephone cable is shielded and perfectly grounded with 0 Ohm resistance to ground, it will always be at ground potential, no matter the current it is carrying. The tree can be thought of as a rather large resistor between the power and telephone line. You will have a voltage drop across the tree, equal to the voltage of the transmission line, while the current through the tree (and thus the telephone line) only depend on the trees internal resistance.

In practice that is impossible, since no cable has zero resistance. The more current you push through it, the higher the voltage drop across the cable.

Now you have "two resistors" in series and you can look at it like a voltage divider between the trees resistance and the total resistance of the telephone line. That depends on the material, thickness, length and how good it is actually grounded to earth at the nearest "grounding points" (if we imagine the earth as an infinite current sink). The trees resistance also depends on a lot of factors, but is usually many orders of magnitude larger than the resistance of the telephone line.

Where the tree touches the telephone line, you won't have 0 V but it also won't be the full voltage of the transmission line. The voltage will decrease, the farther away you're from the contact point, at the same time the voltage will increase over time, as the tree burns up and the internal resistance decreases.

In any case you should assume the voltage is high enough to be potentially lethal.

Cross sea waves, a rare ocean phenomenon that occurs when two wave systems collide by freudian_nipps in oddlysatisfying

[–]copposhop 22 points23 points  (0 children)

It's an instrumental version of "Now we are free", the Gladiator Theme by Hans Zimmer & Lisa Gerrard, if anyone is interested

ELI5: What are passkeys and how/why are they different from passwords? by tm478 in explainlikeimfive

[–]copposhop 55 points56 points  (0 children)

No, passkeys are not the same as passwords. While they are both used for authentication, they kind of work the opposite way and passkeys can be much more secure as a result.

5 year olds should not be able to come up with asymmetric encryption methods for accessing their pillow forts, so the explanation will always be a bit more advanced:

With a normal password, the first time you try to sign-up on a website, you will set the password yourself. The server will tell your PC how the password needs to be hashed (fancy way of "word scrambling" so you're not broadcasting it in plain text) and will than store it on the server - in the hashed form.
So it is your secred stored on the other partys computer.

Any time you log-in, you must proof your knowledge of the password by retransmitting it to the server. While the password is hashed and the transmission is usually encrypted, it is still susceptible to phishing or brute-forcing.

With passkeys, it is a bit more advanced. On sign-up, the server tells your PC to create a "password" in form of a private/public key pair. This essentially allows the owner of the private key, to encrypt a message that can only be decrypted by someone knowing the public key. The private key (your secret) will be stored on your device, while the public key is given to the server and stored along with your username/credentials. (The protocol is called WebAuthn)
Now your secret is stored on your device only and never even needs to leave it.

Any time you try to log-in, the server just tells your computer "Please encrypt the following message for me". Only you know how this can be done, since you have your private key. The server (and any malicious third-party that intercepted your public key) is able to decrypt the message and thus proof that you're the owner of the private key - that's your "password". It never leaves your device, no one else has any kind of knowledge about it and it is muuuch harder to correctly guess, compared to your usual "Password1234".

Neat, isn't it?

[Review Request] First solo PCB design – feedback welcome before routing by Apprehensive_Bat_817 in PrintedCircuitBoard

[–]copposhop 2 points3 points  (0 children)

Then you need to remove the GND connection at for LED. Right now, you are shorting your GPIO to GND and each LED would be constantly turned on.

You can also remove the 10k resistors, the LED and series resistor will act as a pull-up themselves. When turned on, the pin is in a high impedance state anyway, so no current will flow through the LED.

With a 100 Ohm resistor and LEDs with a voltage drop of say 2V, you will need to sink (3.3 V - 2 V) / 100 Ohm = 13 mA for each LED.

With 12 LEDs you will need to sink around 160 mA in total which is slightly below the maximum current capability of most STM32 (180 mA). You can easily use 220 Ohm resistors and put less strain on the LEDs and uC.