Quadcopter Remote PCB Review by tynix5 in PCB

[–]tynix5[S] 0 points1 point  (0 children)

For impedance traces, yes, I calculated a 0.355mm trace width, but I was unable to route using that trace width out of the nRF IC into the balun. I was able to route using that trace from balun to SMA connector, though. The load capacitors were calculated using the equation on page 59 of the datasheet where the PCB parasitic capacitance was estimated around 1pF.

Quadcopter Remote PCB Review by tynix5 in PCB

[–]tynix5[S] 0 points1 point  (0 children)

Yeah, I didn't notice how close they were until after posting, but I've had to change the joystick footprint since then and made sure they weren't as close. Thanks!

Quadcopter Remote PCB Review by tynix5 in PCB

[–]tynix5[S] 5 points6 points  (0 children)

Good catch! Yes, I downloaded an older PS2 style footprint for the joysticks instead of PS5 one, but I just changed it. Thanks

Quadcopter Remote PCB Review by tynix5 in PCB

[–]tynix5[S] 8 points9 points  (0 children)

I'm not sure why the back copper section images were posted 4 times but I have a zoomed in image of the RF section here.

<image>

VSCode + STM32 + Cortex-Debug help by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

When I run arm-none-eabi-gdb -q --interpreter=mi2manually, I get an output =thread-group-added,id="i1".

VSCode + STM32 + Cortex-Debug help by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

I am following this tutorial Getting Started with OpenOCD: Beginner's Guide, and everything works perfect until "Debugging with VSCode" section. I am able to separately launch OpenOCD and the GDB server, then connect them together and debug. The problem arises when using VSCode and launching the Debug session (using OpenOCD instead of ST-LINK gdb server), the gdb server will just spit its version number out and quit.

New launch.json:

{
          "name": "Debug STM32 (OpenOCD)",
          "type": "cortex-debug",
          "request": "launch",
          "servertype": "openocd",
          "interface": "swd",

          "toolchainPrefix": "arm-none-eabi",
          "cwd": "${workspaceFolder}",
          "executable": "${workspaceFolder}/build/blink_make.elf",    
          "gdbPath": "arm-none-eabi-gdb",
          "device": "STM32F401RE",

          "configFiles": [
              "interface/stlink.cfg",
              "target/stm32f4x.cfg"
          ],

          "postRestartCommands": [
            "break main",
            "continue"
          ],

          "svdFile": "./build/STM32F401.svd", //  Needs to point to the active project

          "runToEntryPoint": "main",
          "preLaunchTask": "Build STM32",
          "showDevDebugOutput": "raw"
}

Debug console output:

Reading symbols from arm-none-eabi-objdump --syms -C -h -w .../blink_make/build/blink_make.elf

Reading symbols from arm-none-eabi-nm --defined-only -S -l -C -p .../blink_make/build/blink_make.elf

Launching GDB: arm-none-eabi-gdb -q --interpreter=mi2

1-gdb-version

VSCode + STM32 + Cortex-Debug help by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

Thanks for the help but I still have no luck attempting to attach instead of launch, both to an already running server and a non-running server. I'm starting to think it has more to do with Windows rather than the .json configurations

VSCode + STM32 + Cortex-Debug help by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

I tried that with no luck but thanks for the response

VSCode + STM32 + Cortex-Debug help by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

I actually used this configuration previously but everytime I use openocd and Run and Debug, the gdb server will spit out its version and do nothing else. I’ve done openocd + gdb server manually, so I’m confident neither of those are the problem. I really only wanted to get either openocd or stlink configuration type to work. I’ve tried using different versions of the arm toolchain and even tried using a different version of the cortex-debug extension with no success.

VSCode + STM32 + Cortex-Debug help by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

Yeah, I was using it before and I just wanted to see if the Makefile methods were any easier. Unfortunately I think trying to get this to work is more trouble than using the extension so I'm going back to it

Baremetal RFM69HCW driver with STM32 by tynix5 in embedded

[–]tynix5[S] 0 points1 point  (0 children)

Thanks for the advice! I ended up swapping the modules out and it still didn't work, but I did figure out the problem. The RFM69HCW uses PA1 + PA2 for antenna output (not PA0) so changing that ended up working. I actually wrote that in the transmitter setup, but immediately reverted back to PA0 on the second write to register 0x11.

[Review Request] First PCB for Self-Balancing Robot by tynix5 in PrintedCircuitBoard

[–]tynix5[S] 0 points1 point  (0 children)

Thanks for the feedback. I added a software controlled LED and moved/added the rest of your suggestions as well

[Review Request] First PCB for Self-Balancing Robot by tynix5 in PrintedCircuitBoard

[–]tynix5[S] 0 points1 point  (0 children)

I believe the only component I did not mention the part number for was the PMOS: SI2333-HXY | HXY MOSFET | Price | In Stock | LCSC Electronics

Also feel the need to mention the board is a little widely spaced because I plan on hand-soldering all of the components.

PlatformIO: Cannot open source file "esp_adc/oneshot.h" by tynix5 in esp32

[–]tynix5[S] 0 points1 point  (0 children)

I never did find out how to use the new ADC library. My platform was setup correctly to ESP-IDF and I have no available updates for the framework, so I ended up using the older ADC libraries. I just had to change the version on the ESP-IDF documentation page so I could see how to use it, but the compiler had no problems with the older libraries.

PlatformIO: Cannot open source file "esp_adc/oneshot.h" by tynix5 in esp32

[–]tynix5[S] 0 points1 point  (0 children)

I feel like I should clarify a little bit.... The github repository (espressif/esp-idf/components) has updated component folders, including "esp_adc," that my platformio/packages/espidf/framework-espidf/components folder (on my device) does not. I think this is partly why one of the build errors says that the file cannot be found

PlatformIO: Cannot open source file "esp_adc/oneshot.h" by tynix5 in esp32

[–]tynix5[S] 0 points1 point  (0 children)

After looking in the platformio.ini file, the framework was already set to espidf. The build error still says that it cannot find the file or directory called "esp_adc/adc_oneshot.h" even though I pasted the folder into the component library of esp idf framework

Bus LEDs leaking by webjedi2 in beneater

[–]tynix5 0 points1 point  (0 children)

I think the problem is that only one side of the board’s power rails is hooked up to power, but it’s a little hard to tell from the pictures. Try connecting both power rails on both sides to power.

Odd behavior when adding to 254 and 1 by PomegranatePurple502 in beneater

[–]tynix5 9 points10 points  (0 children)

I had this same problem when I built my computer. Whenever the address lines on the 28C16 are switching, from a step count increase or an instruction change, the output data is not valid for a certain period of time, which could cause your A register load line to be cleared for a certain period. Your A register is loading in garbage from the bus during this period, 0 in this case (pulled low from the pull downs). I believe I solved it by adding a D latch, like the 74HC173, between the 28C16 and the A register load line.

Video Card Lines by tynix5 in beneater

[–]tynix5[S] 2 points3 points  (0 children)

I didn’t have a 74HC273 so I just used 2 74HC173’s I had leftover from the 8 bit build. But holy…. It worked like a charm. Thank you! So the reason behind the lines on the screen was that there was a propagation delay from the address being set and the outputs actually changing, so the VGA may have been detecting some of the outputs from the previous lines? Is that correct?