# \[ANN\] Introducing BaremetalPi.jl - A package to access Raspberry Pi peripherals without external libraries

**URL:** <https://discourse.julialang.org/t/ann-introducing-baremetalpi-jl-a-package-to-access-raspberry-pi-peripherals-without-external-libraries/41417>\
**Category:** General Usage\
**Created:** [June 15, 2020, 12:08am UTC](https://discourse.julialang.org/t/ann-introducing-baremetalpi-jl-a-package-to-access-raspberry-pi-peripherals-without-external-libraries/41417 "2020-06-15T00:08:20Z")\
**Posts on this page:** 2\
**Page:** 4

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [April 1, 2022, 2:11am UTC](https://discourse.julialang.org/t/ann-introducing-baremetalpi-jl-a-package-to-access-raspberry-pi-peripherals-without-external-libraries/41417/61 "2022-04-01T02:11:00Z")

</div>

And we are back in the business! BaremetalPi.jl 0.1.2 is working perfectly with the Raspberry Pi Zero 2W (Manjaro Linux) and the official AArch64 Julia build.

 ![Captura de Tela 2022-03-31 às 23.09.54](https://global.discourse-cdn.com/julialang/original/3X/6/9/69d77afbbed9bdcbcdeb8132508490093b48e6bd.png)

---

<div class="post-metadata">

**Author:** ![Jake](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jake/32/46007_2.png) [@Jake](https://discourse.julialang.org/u/Jake)\
**Post date:** [March 5, 2025, 5:56pm UTC](https://discourse.julialang.org/t/ann-introducing-baremetalpi-jl-a-package-to-access-raspberry-pi-peripherals-without-external-libraries/41417/62 "2025-03-05T17:56:28Z")

</div>

I am using BaremetalPi to create a trigger signal to synchronize multiple HATS in my package [GitHub - Spectrum-Tec/MccDaqHats.jl](https://github.com/Spectrum-Tec/MccDaqHats.jl), not registered. The trigger function is:

```julia
function trigger(pin::Int; duration::Real = 0.050)
    init_gpio()
    gpio_set_mode(pin, :out)
    try
        gpio_set(pin)
        sleep(duration)
        gpio_clear(pin)
    finally
        gpio_set_mode(pin, :in)
    end
end

```

The init\_gpio function is no longer working for the PI 5 as documented [here](https://github.com/ronisbr/BaremetalPi.jl/issues/8). It seems that the PI 5 has changed the way the hardware is accessed. I am wondering if this will be addressed, or how best to address it?

[Previous page](https://discourse.julialang.org/t/ann-introducing-baremetalpi-jl-a-package-to-access-raspberry-pi-peripherals-without-external-libraries/41417.md?page=3)
