meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.


Previous revision
raspberry:index [2026/07/07 22:57] (current) – [Raspberry topics on lamaPLC] vamsan
Line 1: Line 1:
 +====== lamaPLC: Raspberryes ======
  
 +The RP2040 is a small, specially engineered silicon chip developed by Raspberry Pi to serve as the central controller for electronic devices.
 +
 +The Raspberry Pi Pico is a compact green circuit board centered on the RP2040 chip, featuring a USB port, storage memory, and pin connections. This design allows for easy connection to a computer, enabling programming to control electronics such as sensors, lights, and motors.
 +
 +^Feature^RP2040 (The Chip)^Pi Pico (Standard)^Pi Pico H^Pi Pico W^Pi Pico WH^[[#rp2040-zero|RP2040-Zero]]^RP2040-ETH|
 +^Manufacturer|Raspberry Pi|Raspberry Pi|Raspberry Pi|Raspberry Pi|Raspberry Pi|Waveshare|Waveshare|
 +^Dimensions|7 × 7 mm|51 × 21 mm|51 × 21 mm|51 × 21 mm|51 × 21 mm|23.5 × 18 mm|51 × 21 mm|
 +^Flash Storage|0 MB|2 MB|2 MB|2 MB|2 MB|2 MB|4 MB|
 +^USB Connector|None|Micro-USB|Micro-USB|Micro-USB|Micro-USB|USB Type-C|USB Type-C|
 +^Wireless (Wi-Fi/BT)|None|None|None|2.4GHz Wi-Fi & BT 5.2|2.4GHz Wi-Fi & BT 5.2|None|None|
 +^Wired Network|None|None|None|None|None|None|RJ45 Ethernet Port|
 +^Header Pins|None|Unsoldered (Bare pads)|Pre-soldered|Unsoldered (Bare pads)|Pre-soldered|Unsoldered (Castellated)|Unsoldered|
 +^Debug Connector|None|None|3-pin JST-SH|None|3-pin JST-SH|None|None|
 +^Onboard Light|None|Green LED|Green LED|Green LED|Green LED|RGB NeoPixel|None|
 +^Usable GPIO Pins|30|26|26|26|26|29|14|
 +^Logic Voltage (GPIO)|3.3V|3.3V|3.3V|3.3V|3.3V|3.3V|3.3V|
 +^Input Voltage (VBUS/VIN)|N/A (Requires exact 1.1V & 3.3V)|1.8V to 5.5V|1.8V to 5.5V|1.8V to 5.5V|1.8V to 5.5V|5.0V (via USB-C or 5V pin)|5.0V (via USB-C or 5V pin)|
 +^Software Support|C/C++, MicroPython, CircuitPython|C/C++, MicroPython, CircuitPython|C/C++, MicroPython, CircuitPython|C/C++, MicroPython, CircuitPython|C/C++, MicroPython, CircuitPython|C/C++, MicroPython, CircuitPython|C/C++, MicroPython (with special build)|
 +^Network Libraries|None|None|None|network (Wi-Fi), bluetooth|network (Wi-Fi), bluetooth|None|wiznet / custom CH9120 drivers|
 +^Primary Usage|Custom circuit design & commercial products|Learning code, DIY hobbies, basic automation|Prototyping without a soldering iron|Smart home, wireless IoT, web servers|Wireless IoT without a soldering iron|Tiny gadgets, wearable tech, macro pads|Hardwired network devices, industrial IoT|
 +
 +==== RP2040-Zero ====
 +{{ :raspberry:rp2040_zero_01.png?120|RP2040-Zero}}
 +The RP2040-Zero is an ultra-compact, low-cost microcontroller development board designed by Waveshare. It is built around the Raspberry Pi RP2040 silicon chip, squeezing the processing power of a standard Raspberry Pi Pico into a tiny form factor roughly the size of a postage stamp.
 +
 +More information from the board: https://www.waveshare.com/wiki/RP2040-Zero
 +
 +=== RP2040-Zero Core Hardware Specifications ===
 +
 +  * **Processor:** Dual-core ARM Cortex-M0+ clocked at 133 MHz.
 +  * **Memory:** 264 KB of internal SRAM and 2 MB of onboard Flash storage for code.
 +  * **USB Interface:** Upgraded USB Type-C port for programming and power.
 +  * **Onboard LED:** Features a single WS2812 RGB LED (NeoPixel) that can be programmed to any color.
 +  * **Pins:** Breaks out 29 GPIO pins (20 via outer pin headers, and 9 via solder pads on the back).
 +
 +=== RP2040-Zero Pinout ===
 +
 +{{ :raspberry:rp2040_zero_02.png |RP2040-Zero Pinout}}
 +
 +=== RP2040-Zero I²C communication ===
 +
 +**Primary Hardware I²C Pin Pairs on RP2040-Zero**
 +
 +The main pins for hardware I²C on the Waveshare RP2040-Zero are **GP0 (SDA) / GP1 (SCL)** or GP4 (SDA) / GP5 (SCL): \\
 +
 +''i2c = machine.I2C(0, scl=machine.Pin(1), sda=machine.Pin(0))''
 +
 +Since the RP2040 chip has a versatile digital network matrix (pin multiplexing), nearly any GPIO pin can be configured for I²C. Nevertheless, the typical hardware blocks (I²C_0 and I²C_1) are most straightforwardly accessed with the configurations below.
 +
 +^Hardware Block^SDA (Data)^SCL (Clock)^Location on RP2040-Zero|
 +^I²C_0 (Standard)|GP0|GP1|Top-left edge pins.|
 +^I²C_1|GP4|GP5|Left edge, mid-bottom pins.|
 +^I²C_1 (Alternative)|GP26|GP27|Bottom edge pins (Shared with ADC0/ADC1).|
 +
 +**Key Electrical Requirements**
 +
 +  * Pull-up Resistors: The RP2040-Zero does not include onboard pull-up resistors for the I²C lines. You must add external 4.7 kΩ resistors connected to 3.3V unless your peripheral module (sensor/display) already includes them.
 +  * Voltage Limits: The RP2040 is strictly 3.3V logic compatible. Connecting a 5V I²C device directly to these pins without a logic level shifter can permanently damage the controller.
 +
 +===== Raspberry topics on lamaPLC =====
 +{{topic>raspberry}}
 +
 +{{tag>raspberry RP2040 RP2040_zero RP2040_eth Pi_Pico_H Pi_Pico_W Pi_Pico_WH raspberry_Pi_Pico i2c microcontroller}}
 +
 +This page has been accessed for: Today: {{counter|today}}, Until now: {{counter|total}}