Skip to content

OpenJBOD RP2040

TheGuyDanish edited this page Oct 11, 2024 · 3 revisions

Introduction

The OpenJBOD RP2040 is a mini-ITX-compatible board, the main features of which include:

  • An RP2040 microcontroller
  • A PCI-e slot for powering standalone SAS expanders with 3.3v and 12v power
  • A W5500 NIC
  • The ability to control a power supply via the ATX-24 header
  • An EMC2301 fan controller with attached headers

The board is licensed under the CERN-OHL-P-2.0 license, with the KiCad and production files available on GitHub.

How to use

If you need to flash software onto your board (for example if it was shipped without software or if you ordered a batch from a PCB house yourself) you should plug the board into USB and do this first before installing it in a case. Note that you can still do it in a case, but it is easier to do outside of it.

If your board is already flashed, you will just need to install it into your case, plug in the 24-pin ATX connector and the board will power on when the power supply is turned on.

From here, you can continue to the OpenJBOD Software configuration (link here when the article is written)

Development

The OpenJBOD RP2040 board was designed with KiCad 8.0.2. Please ensure your version of KiCad is at least 8.0.2 to prevent issues opening the project. While there is no specific style-guide, you should as best as possible match the existing schematic formatting if you plan to contribute changes to the project.

Pins

The pins of the RP2040 in use for the OpenJBOD are as follows:

Pin Name Function
GPIO0 (W5500) SPI0 RSTn
GPIO1 (W5500) SPI0 INTn
GPIO2 (W5500) SPI0 SCK
GPIO3 (W5500) SPI0 MOSI/TX
GPIO4 (W5500) SPI0 MISO/RX
GPIO5 (W5500) SPI0 CSn
GPIO6 Drives the Yellow LED through a transistor. LED lights when output is high.
GPIO8 (EMC2301) I2C SDA
GPIO9 (EMC2301) I2C SCL
GPIO10 (EMC2301) I2C/SMBus Alert pin
GPIO11 (External temperature probe header) Data pin for 1-wire bus. Read using DS18B20 instructions. Can be used at the same time as GPIO18/T1_DATA
GPIO12 Power button signal. Pulled to ground by either front panel or rear-side power button presses.
GPIO13 (ATX) Latch Reset - Set high to disable the power supply latch. Only keep this high for a short moment before setting back low.
GPIO14 (ATX) Latch Set - Set high to enable the power supply latch. Only keep this high for a short moment before setting back low.
GPIO15 (ATX) Latch Output - This input is high when the power supply latch is on, indicating the power supply should be on.
GPIO16 (Serial console) UART TX
GPIO17 (Serial console) UART RX
GPIO18 (Onboard temperature probe) Data pin for 1-wire bus. Read using DS18B20 instructions. Can be used at the same time as GPIO11/T2_DATA
GPIO25 (USB Sensing) This input is high when USB is plugged into the board.

All other GPIO pins not mentioned are unconnected/floating.

Clone this wiki locally