Skip to content

MehrResearch/rp2040hw

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rp2040hw

Low-level access to RP2040 hardware registers in MicroPython using uctypes

What's it good for?

The Raspberry Pi RP2040 microcontroller powers a range of versatile and very powerful development boards, including the Raspberry Pi Pico and the Pimoroni Tiny 2040.The RP2040 Python SDK doesn't cover the chip's full hardware capabilities. Direct register access using the modules in this package allows full control of RP2040's low-level operations using Micropython.

Status

The following shows progress towards bindings for all documented RP2040/RP2350 registers, with sections shown in brackets. Please feel free to contribute new bindings or open an issue/submit a PR if you find any bugs.

RP2040

  • Core
    • Bus fabric (2.1.5)
    • Cortex-M0+ (2.4.8)
    • Chip-level reset (2.12.8)
    • Power-on state machine (2.13.5)
    • Subsystem resets (2.14.3)
    • Clocks (2.15.7)
    • Crystal oscillator (2.16.7)
    • Ring oscillator (2.17.8)
    • PLL (2.18.4)
    • Sysinfo (2.20.2)
    • Syscfg (2.21.2)
  • DMA (2.5.7)
  • GPIO (2.19.6)
  • PIO (3.7)
  • Peripherals
    • USB (4.1.4)
    • UART (4.2.8)
    • I2C (4.3.17)
    • SPI (4.4.4)
    • PWM (4.5.3)
    • Timer (4.6.5)
    • Watchdog (4.7.6)
    • RTC (4.8.6)
    • ADC (4.9.6)
    • SSI (4.10.13)

RP2350

Modules specifically adapted for the RP2350.

  • PIO (11.7)
  • DMA (12.6.10)

Credits

  • jbentham for implementing uctypes access to some of RP2040's registers (here), which inspired this project.

About

Low-level access to RP2040 hardware registers in Micropython using uctypes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages