gpioX

About gpioX

A device that lets you connect sensors without breadboards or jumper wires,



Want to interface an ultrasonic sensor?
Normally, you'd grab a breadboard and jumper wires and manually route the sensor’s pins to the microcontroller. This device removes that entire step. It provides universal GPIO pins where any pin can be configured in software to act as 3.3 V power, GND, or a signal pin. Sensors can be connected anywhere on the board, and their pin functions are defined digitally instead of physically. This simplifies wiring, reduces setup friction, and lets users focus on understanding sensor behavior rather than pin layouts.

The Idea (Simple Analogy)

Think about your laptop. It has many different connectors such as a charging port, USB ports, Type-C, HDMI, and Ethernet. Each of these ports has a fixed purpose—you can’t plug your charger into a USB port and expect it to work, because the function of each port is decided by the hardware itself.

Now imagine a different kind of laptop where all the ports look the same. You could plug your charger into any port and it would work as a charging port. You could plug in a USB drive anywhere and that port would behave like USB port. In this imaginary laptop, the physical port no longer decides its function—software does.

That is exactly the idea behind this project, but applied to microcontrollers and sensors—connect hardware anywhere and define each pin’s role through software.

Problem with Traditional Arduino Wiring

When working with Arduino, sensors like ultrasonic modules usually have multiple pins such as VCC, GND, TRIG, and ECHO, while the required power and GPIO pins on the microcontroller are physically spread out. To get a sensor working, users typically have to:
⇢ decide which Arduino pins will provide power and ground
⇢ connect the sensor’s signal pins to suitable GPIOs using jumper wires
⇢ use a breadboard to organize and distribute these connections
This physical wiring step can be tedious and confusing, especially for beginners who are still learning how microcontroller pin layouts work.

What This Device Does?
This device replaces fixed-function pins with 10 universal GPIO pins. Each pin can be configured in software to act as:
⇢ GND
⇢ 3.3 V power
⇢ a GPIO signal

Instead of adapting your wiring to match the microcontroller’s pin layout, you simply connect the sensor to any available pins and define each pin’s role in software.
Example (OLED display):
Universal Pin 1 → GND
Universal Pin 2 → 3.3 V
Universal Pin 3 → SCL (GPIO22)
Universal Pin 4 → SCL (GPIO21)
The OLED behaves exactly as it would in a traditional Arduino setup, but without rearranging wires or worrying about physical pin placement.

Key Benefit
This shifts the workflow from
“How do I wire this sensor?”
to
“What should each pin do?”

Dumping the captures during the building process, stay tuned for deailed explanation:








some snapshots of designing the PCB in KiCad. 127 components, 5 schematic pages, 2 layer PCB, 250 vias later: