我的網誌清單

2024年4月3日星期三

DIY projects

Hardware APIs - Raspberry Pi Documentation


usb starting point



usb speed 1.1 mb/s  uart bridge


The Complete Raspi Pico Pinout Guide: RP2040 Maps, Gotchas, and Wiring Standards | ElectricalFlux


Configuring a Hardware Pin Layer in the Raspberry Pi Pico SDK

In the Raspberry Pi Pico SDK, the “hardware pin layer” refers to the GPIO hardware abstraction provided by hardware_gpio and related APIs. This layer lets you configure pins without directly manipulating hardware registers Raspberry Pi+1.

1. Understand the GPIO Hardware Abstraction

The SDK organizes GPIOs into banks (e.g., Bank 0 for user GPIOs) and provides:

  • Electrical control (pull-ups/down, drive strength, slew rate) via pads_bank0_hw

  • Function multiplexing (muxing) via io_bank0_hw

  • Single-cycle I/O via sio_hw deepwiki.com

You configure pins through the hardware_gpio API in src/rp2_common/hardware_gpio/include/hardware/gpio.h.

2. Basic Pin Configuration Steps

Here’s a minimal example to set up a GPIO pin:

C
#include "pico/stdlib.h"
#include "hardware/gpio.h"

int main() {
const uint pin = 25; // Example: onboard LED pin

// Initialize the GPIO
gpio_init(pin);

// Set direction
gpio_set_dir(pin, GPIO_OUT);

// Optional: set pull-ups/down
gpio_set_pulls(pin, true, false); // pull up, no pull down

// Optional: set drive strength
gpio_set_drive_strength(pin, GPIO_DRIVE_STRENGTH_8MA);

while (true) {
gpio_put(pin, 1);
sleep_ms(250);
gpio_put(pin, 0);
sleep_ms(250);
}
}

This uses the hardware_gpio layer to control the pin GSI.

3. Advanced Pin Layer Configuration

For more control, you can directly access hardware registers:

C
#include "hardware/gpio.h"

// Example: configure pad electricals
hw_pad_set_pulls(&pads_bank0_hw[25], true, false); // pull up
hw_io_set_function(&io_bank0_hw[25], GPIO_FUNC_GPIO); // ensure GPIO function

Here:

  • pads_bank0_hw controls electrical characteristics deepwiki.com.

  • io_bank0_hw controls function select/muxing deepwiki.com.

4. Using PIO for Custom Pin Behavior

If you need programmable I/O (e.g., custom protocols), use the Programmable I/O (PIO) layer:

C
#include "hardware/pio.h"

pio_sm_config sm_config = pio_get_default_sm_config();
sm_config_set_in_shift(&sm_config, true, true); // input shift
sm_config_set_out_shift(&sm_config, true, true); // output shift
pio_sm_init(pio0, 0, &sm_config, 0);

PIO can map pins to its input/output shift registers deepwiki.com.

5. Key Tips

  • Always initialize the GPIO before use: gpio_init(pin).

  • Use gpio_set_function(pin, func) to select the correct function (GPIO, SPI, UART, etc.).

  • For board-specific pins, check PICO_DEFAULT_LED_PIN or the board’s pinout in the SDK’s boards/include Raspberry Pi.

  • The hardware abstraction hides register addresses, but you can bypass it for low-level control if needed GSI.

In short:
To configure a hardware pin layer in the Pico SDK, use hardware_gpio for standard GPIO control, pads_bank0_hw and io_bank0_hw for low-level electrical and mux settings, and hardware_pio for custom I/O behavior. This layered approach ensures you can configure pins without directly editing hardware registers while still having access to the raw hardware when needed Raspberry Pi+3.


OpenHantek and Rp2040


Yes, OpenHantek can accept a Raspberry Pi Pico (RP2040) as a USB front-end hardware device, but it requires specific firmware and a custom fork or patch of the desktop software.

Because the official, mainstream OpenHantek6022 application is built primarily for Hantek 6022BE/BL hardware, the open-source community created a bridge protocol to make the RP2040 mimic the device communication layer.


How it Works & Requirements


To make a Raspberry Pi Pico act as the front end for OpenHantek, you must utilize open-source custom projects such as the oscilloscope_rp2040 GitHub project:

1. Pico Firmware: You must flash your RP2040 with a dedicated .uf2 firmware file that configures its dual-core ARM processor to capture analog inputs and streams data via USB using the Hantek protocol.

2. OpenHantek Modification: Standard OpenHantek software may not recognize the Pico directly out of the box. You need to use a modified version/fork of OpenHantek6022 that includes RP2040 device support.

3. Signal Calibration: The RP2040 operates natively on a 0–3.3V Analog-to-Digital Converter (ADC) range. OpenHantek expects a standard ±5V range. To fix this, you must either copy a provided RP2040_0_calibration.ini file into your OpenHantek configuration directory or build an external analog conditioning circuit.


Performance & Technical Limitations


While it functions as a great budget or DIY project, the RP2040 front-end has physical performance bottlenecks compared to dedicated hardware:

• USB Speed Limits: The RP2040 relies on USB 1.1 Full Speed (12 Mbps). When pushing dual-channel capture to rates around 1 MS/s or higher, the USB bus hits its bandwidth ceiling, which can cause occasional dropped data samples.

• Bit Depth Scaling: The Pico features a 12-bit ADC, but the firmware scales the data down to 8-bit values to fit the OpenHantek protocol.

• Overclocking: To capture up to 2 MS/s, the firmware typically overclocks the RP2040 chip to 240MHz, which can slightly decrease the absolute accuracy of the ADC readings.

• 

GitHub

Pull requests · OpenHantek/OpenHantek6022 - GitHub

Comfortable display density Compact display density Instrument-style UI, Autoset, optional SCPI/MCP remote control, zh_TW locale #

• 

GitHub

Oscilloscope for the RP2040 - OpenHantek protocol · GitHub

Usage * Upload the oscilloscope.uf2 firmware to the RP2040. * Install OpenHantek. OpenHantek6022 needs RP2040 support: OpenHantek6...

• 

WizzDev

A Practical Guide to 5V and 3.3V Logic Interfacing - WizzDev

Most modern microcontrollers, such as the STM32 family, ESP32 series and RP2040 operate natively at a 3.3V logic level. However, w...



https://github.com/OpenHantek/openhantek


https://github.com/dgatf/OpenHantek6022/releases.    prebuilt available



https://github.com/dgatf/oscilloscope_rp2040#binaries


https://www.linux.com/training-tutorials/cmake-recipe-5-adding-uninstall-target-your-project/

uninstall make receipt



SSR




ssr using a moc3041 and bt138 - Other Hardware / General Electronics - Arduino Forum





(2) #EP-141 DIY 40Amp SSR (Solid State Relay). BTA41 MOC3021 - YouTube





25A Solid State Relay BTA24-600: Complete SSR Circuit Guide


Hot plate




Tim's Hot Plate





One of my "Tim's Hot-Plate" builds


https://www.hackster.io/john-bradnam/smd-reflow-hot-plate-new-version-edc02e





SMD Reflow Hot Plate (new version)






DIY SMT Hotplate Project








mini scroll saw


I never imagined building a scroll saw with a piston system





‏How to Make Simple Scroll Saw Machine



Masking tape label printer


Masking Tape Plotter | Hackaday.io




DIY Paper Tape Label printing CNC machine | Arduino + GRBL + BT + Android



Teaching Arduino to type telegrams / Habr


writing machines



UGS.   universal g-code sender


https://www.youtube.com/watch?v=JxLAqmhMSys


https://www.instructables.com/4xiDraw/


https://github.com/KnoxMakers/KM-Laser

paint brush





https://www.youtube.com/watch?v=oF84Hm22HuQ



https://www.youtube.com/watch?v=J6OHmsmRD9E




sprayer


https://www.youtube.com/watch?v=VJNljELjUUg



Induction heater


DIY 14kW Induction Heater | Molten Steel & Calcium Carbide



https://teslascience.wordpress.com/autotuning-9kw-induction-forge-version-1-2/


https://github.com/metanurb21/esp32_igbt_driver?tab=readme-ov-file


DC fan


https://www.edn.com/4-wire-pc-fan/


http://pavouk.org/hw/fan/en_fan4wire.html


https://www.hackatronic.com/brushless-dc-bldc-motor-driver-circuit-using-555-timer-ic/#google_vignette


Ten Tries - YouTube

mostly casting, pouring aluminum, making tools


Casting Furnace waste oil burner clog free operation


🔥 Homemade crucibles for CASTING and MELTING metals with your own hands


https://github.com/metanurb21/esp32_igbt_driver?tab=readme-ov-file


DIY-4kW-Induction-Heater


5 Minute DC To BLDC Motor Upgrade For MAXIMUM Best Performance | MrAviPro


How To Make 3-phase Bldc Motor Controller At Home Very Easy || Circuit Diagram Pdf Free Download


How To Make A High-Speed 40a BLDC Motor Speed Controller Without Sensor Free | MrAviPro


Brushless DC motor controller using Arduino and IR2101


CPU FAN HIGH SPEED Bldc Motor Controller MAKE At HOME | MrAviPro


Engineering_Projects/ProjectFiles/High-Speed Pen Plotter at main · IVProjects/Engineering_Projects · GitHub


Project - Fuel Injection with Teensy | Carlos Takeshita


Thermal camera diy


DIY-Thermocam | Open-source thermal imaging for everyone!





Zero Play Guide Bars - Metric and Countersunk by Rubes | Download free STL model | Printables.com

slide rails 3d files for download


[DIY]10 Jigs and Hacks to Improve Your Table Saw || somewhat I need

dimension plans at the end of the video.

https://www.youtube.com/watch?v=KwuokHAi1JQ

[DIY] 5 jigs to improve your trimmer table || Woodworking

https://www.youtube.com/watch?v=qkY2s2nWV-g


3 wood jig game changer -  dowel jig 


3 Game-Changing Jigs for Woodworking


free plan crafping diy


https://www.youtube.com/watch?v=dqusGiSDfO0


drill bit sharpening 


https://www.youtube.com/watch?v=ZTKRiQ3idZo


Yasuhiro TV

TOP 60 Router Trimmer Hacks | Japanese Woodworking


https://www.youtube.com/watch?v=RDkOLzF3PPw


10mins dowel jig


10 minutes Dowel Jig: Dowel joints got easier and quicker even by beginners (subtitle explanation)


woodworking hacks




https://www.youtube.com/watch?v=Pu7Qu-jNuPg

https://www.youtube.com/watch?v=IAba8HRfz4M


extend the capability of mini lathe


https://www.youtube.com/@Yakun1988


very good lathe tool making


https://www.youtube.com/watch?v=bSmHOu8ohwE


angle grinder 5 jigs ideas

https://www.youtube.com/watch?v=Y3huFArZ4kE


homemade tools, some good ideas


https://www.youtube.com/watch?v=zmjgVD7VcwU


best homemade tools in the past 3months


https://www.youtube.com/watch?v=JSGSh2f_2sE


3 homemade tools - blender, vise, belt gr

https://www.youtube.com/watch?v=ffGn0wa4hF0


3 homemade tools -  drill, spring, screw th


https://www.youtube.com/watch?v=UqXhRliUXxE

https://www.youtube.com/watch?v=UI4bC93Iapo


https://www.youtube.com/watch?v=GgQAmFi-eJY


https://www.youtube.com/watch?v=10roGGeU0-Q.  3 purposes, tube blender, straightener, crusher


making tapping machine ,,, I have an old bycible seat for the base

https://www.youtube.com/watch?v=97WgSkTmAMs


https://www.youtube.com/watch?v=l0d9gyGMwyw

https://www.youtube.com/watch?v=K0tn290NT4M.    change speed recycled bike gears

https://www.youtube.com/watch?v=MiufkSj2QL8

https://www.youtube.com/watch?v=MhJz2E-qfL8

https://www.youtube.com/watch?v=ir4BVcv11tc

https://github.com/kachurovskiy/modulathe


https://www.youtube.com/watch?v=lnFw8G95LGo

https://www.youtube.com/watch?v=4q4oMVtW4FI

https://www.youtube.com/watch?v=hZPB9I9ko4M

https://www.youtube.com/watch?v=HRYJI_JTdco

https://www.youtube.com/watch?v=feue9lgJGsg



item list:


this guy has many things you can make



https://www.youtube.com/watch?v=2jZwh6mvMhQ.  he sells plan on making plasma cutter

https://www.youtube.com/watch?v=RjXdC3njSUU.    using wiper motor to drive plasma cutter





metal foundry simple

https://www.youtube.com/watch?v=uPz5VidjACI

TEMS LIST

Insulating Fire Brick, 2300F... https://www.amazon.com/dp/B0848PBH82?... TNLOJI 6-Gallon Galvanized Steel... https://www.amazon.com/dp/B0FJ4JLP78?... Nelyrho 6kg Crucible Tongs Set... https://www.amazon.com/dp/B0DX751CHY?... Ceramic Fiber Insulation, 1"... https://www.amazon.com/dp/B089KTMQX3?... https://www.walmart.com/ip/5ft-Propan... https://www.walmart.com/ip/Propane-Fo...


heat insulation contruction material

https://www.youtube.com/watch?v=z4_GxPHwqkA


melting furnace

https://www.youtube.com/watch?v=P-JouCI3dn8.      aluminum, co2 cylinder crucible



joint compound- used oil+PVA+alcohol+ cement

https://www.youtube.com/watch?v=HEQCOjRRElc

https://www.youtube.com/watch?v=iUqscl4EGxQ.     acetone + plexglass= clue


seal the concrete cracks correctly

https://www.youtube.com/watch?v=Br5i8nkW5DQ.     quickrete plus backer rod


https://www.youtube.com/watch?v=SLUci2NDn1E.   gasoline+styrofoam+PVA+cement


CNC Plasma cutter

https://www.youtube.com/watch?v=yIaLJ_s8hWE.   $150 shopping links available


Mechanical work helper tools


https://www.youtube.com/watch?v=42EE_Bv_BNo.    linked chains is your friend


A lot of the ideas from here  DIY SteelBuilds

https://www.youtube.com/@DIYSteelBuilds


CNC plasma cutter 


https://www.youtube.com/watch?v=I5lIiCZCbhQ


Build an elevator from $1 motor


Building a Mechanical Battery







Build lifter over ladder





Get water from nature, no fee


Infinite Water for $12 — The Forgotten Engineering Trick


Solar Energy harvesting


My DIY Solar Generator Is WAY More Powerful Than I Thought..


Modify tape measure for better usages

Few People Know About These Hidden Tricks and Features of a Tape Measure!


Turn mini mill into cnc machine


The Best Benchtop Mill... If You Can Build It! (DMC2 Mini)


Shariff DMC2 Mini Upgrades    BLog


DMC2 Mini CNC           $2500 110v version


Turning a Cheap Mini Mill into a Capable CNC Machine


CNC machine fixing    electronic and mechanical skills


Bought a Broken CNC Lathe They Don’t Want Me to Fix


lead acid recovery  practical way. grinder blender on video


https://www.youtube.com/watch?v=PL5X2qsE7Qc.   professor Basil


https://www.youtube.com/watch?v=Cq-LSj1aV64.   clean, rinse, renew fluid, charge


https://www.youtube.com/watch?v=wXVB45RWn2k.  vinagar , salt , and electrolyss

HHO generators


Water into Hydrogen - Simple Hydrogen Generator from Carbon Pin   from battery carbon pins


https://www.youtube.com/watch?v=HiLH2TNdcFo.   hydrogen run electricity generator


https://www.youtube.com/watch?v=_nKihWAYrEM.   1500w hho generator , naOH from baking soda


BLOGs

https://diyfan.blogspot.com/p/downloads.html


FHEM links:

DLCD – FHEMWiki

Fhem: LCD 2004 Display with ESPEasy (Part 2) | Robin's Blog – Technology and Multimedia

Fhem: LCD 2004 display with ESPEasy as status indicator | Robin's Blog – Technology and Multimedia


Hareware hacks

https://wiki.dd-wrt.com/wik

i/index.php/Category:LaFonera_Hardware_%28en%29

https://wiki.dd-wrt.com/wiki/index.php/LaFonera_Hardware_32MB_SDRAM_MOD

https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=37578.   build Redboot

Fon 2200 flashing tutorials

https://openwrt.org/toh/fon/fonera

https://robotskirts.com/2010/01/19/la-fonera-flashing/

://github.com/ap51-flash/ap51-flash/issues/10

https://github.com/ap51-flash/ap51-flash

https://www.gargoyle-router.com/wiki/doku.php?id=fon_flash

https://www.gargoyle-router.com/wiki/doku.php?id=install_guide

https://forum.dd-wrt.com/wiki/index.php/LaFonera_Software_Upgrade-Flashing

https://wiki.dd-wrt.com/wiki/index.php/La_Fonera_Debricking

https://forum.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing

https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=15085

https://hackaday.com/tag/la-fonera/

https://www.gargoyle-router.com/phpbb/viewtopic.php?t=11657

https://forum.dd-wrt.com/wiki/index.php/LaFonera_Software_Flashing#google_vignette

https://myfonblog.blogspot.com/2008/08/hacking-la-fonera-part-1-dd-wrt.html

GPS Archives - John's Tech Blog (hagensieker.com)

GPS Archives - John's Tech Blog (hagensieker.com)

(2) justanengineer - YouTube

(2) Easy One - YouTube     ESP32 internet radio

Power on reset circuits:

c64DTV power on reset circuit | Evan's Techie-Blog (wordpress.com)

digital logic - How would I externally drive the Reset signal alongside a classic Power-On Reset circuit? - Electrical Engineering Stack Exchange

The Least Interesting Circuit in the World - Jason Sachs (embeddedrelated.com)



Power-On Reset (jacobsa.github.io)


S2 booted from SD card beeglebone black circuittry page 268



On power up, these pins are read by the processor to determine the boot order. S2 is used to change the level of one bit from HI to LO which changes the boot order.

Always Boot from SD Card

"...move R68 to R93 if you want to make the board boot from SD by default."

ref: https://stackoverflow.com/questions/33030802/fix-the-boot-order-emmc-on-a-beagle-bone-black

A latching switch would be nice. Onboard flash is built in obsolescence.

Instructions

Put some leaded solder on both sides of R68 (bottom of board, the silkscreen is misplaced, but just count down the line). Use hot air to remove R68, being careful not to use too much air flow which will knock the resistor off your bench, onto the floor. The resistor is a 100K, in case you lose it.

After removing the resistor, use an iron to put small dobs of leaded solder on pad R93 (top side of board). Use hot air to heat the board until the solder is fluid, then place the 100K R onto R93, heating as necessary while being careful not to blow the resistor away.

Where are the registers for the BBB?

AM335x_TechnicalReferenceManual.pdf

e.g. https://www.ti.com/lit/ug/spruh73q/spruh73q.pdf