# µConsole GPIO breakout board

**URL:** <https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956>\
**Category:** uConsole\
**Tags:** hardware, uart\
**Created:** [July 15, 2024, 11:39am UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956 "2024-07-15T11:39:58Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 15, 2024, 11:39am UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/1 "2024-07-15T11:39:58Z")

</div>

Okay, so here’s the deal.

According to [What are you using your uConsole for? - #33 by MHam68HC11](https://forum.clockworkpi.com/t/what-are-you-using-your-uconsole-for/10466/33) this post, apparently this breakout board should be plug and play to µConsole’s mainboard.  
There’s however no orientation of FPC marked but no biggie, one site is covered in insulator.

Thing is that plugging it the one way there’s no voltage on 3v3 nor 5v pins, plugging the other way makes my R01 core rise in temperature in mere seconds xD

I’ve:

- measured continuity between breakout pin1 and FPC pin1 - OK
- same for pin 40
- grounds are on pins 6, 9 and 14. They are connected on the board level
- FPC is straight-through, meaning that without board connected pins 6,9 and 14 aren’t connecteded, with BB they are

Lemme ask: WTF. i need UART and i need it like yesterday xD

Despite my brutality against device, everything works (i’ve unplugged 18650s once core started to burn my fingertip).  
I don’t have (spare) RPI with GPIOs to test if BB actually works, but this device is dead simple and i am positive it is working.

Let’s assume that @MHam68HC11 saw breakout board and assumed it “should work” without actual testing. What are my other options, is there ANY fpc2gpio BB which is positive for working with µConsole? I don’t feel like sketching and ordering custom PCB at JLCPCB just to have three RX,TX and GND broken out, come on xD

---

<div class="post-metadata">

**Author:** ![isaacwoods](https://avatars.discourse-cdn.com/v4/letter/i/f19dbf/32.png) [@isaacwoods](https://forum.clockworkpi.com/u/isaacwoods)\
**Post date:** [July 15, 2024, 12:23pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/2 "2024-07-15T12:23:30Z")

</div>

I have also been frustrated by this. I bought a similar board and FPC connector from Ali to test the UART, but no dice - I get 5V but not 3V3 on the breakout, and UART doesn’t seem to work either under Linux or by configuring it via baremetal (this is all on the D1-based RISC-V SoC).

I didn’t realise UART1 was routed to the Wifi module, but the schematics do confirm that this is the case, at least on the R1. Still, on baremetal I think I’m configuring the UART correctly so I still feel I should see output on the GPIO Tx/Rx even with the Wifi module at the other end, but I’m not very knowledgeable on the electronic side of things.

I may bite the bullet and roll a custom PCB to break out the extension pins to get access to UART0, but it’s a little frustrating that this is necessary. If it works, I’d be happy to send boards to people (would be from the UK).

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 15, 2024, 1:09pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/3 "2024-07-15T13:09:55Z")

</div>

I bought one of these as well, and I realized the numbering is reversed on my breakout board. Pin1 of the FPC is actually 40 on by breakout board.

That being said, it still ended up useless. There’s another thread I found here this weekend while working on my project that explains basically every single pin on that fpc already assigned and in use. I’ve tried repeatedly to get i2c to work on that port and no dice there either, I think they reassigned those pins…

I just need to find i2c and SPI inside the uconsole, I don’t much care where anymore… 🤣

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 15, 2024, 3:15pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/4 "2024-07-15T15:15:08Z")

</div>

yeah,i’ve seen your topic but lack of replies and lack of my own experience encouraged me to invest money in this BB.  
Anyway, i’ve wrote mail to Alex linking to this topic. Hope he’ll come with some official solution, it’s not the matter of price but compatibility at this point.

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 15, 2024, 3:32pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/5 "2024-07-15T15:32:40Z")

</div>

> If it works, I’d be happy to send boards to people (would be from the UK).

Shut up and take my money xD

> I didn’t realise UART1 was routed to the Wifi module, but the schematics do confirm that this is the case, at least on the R1

Sure, some Wifi/bt chip pins are attached to GPIO14/15 (which are indeed labelled as UART0 on RPI) but i highly doubt that actual UART with earlyprinkt would have any sense being sent to communications device.  
Keep in mind these are general purpose inputs/outputs, they can be configured as device achitect see it fits.

I am no expert at device trees, but i see some definitions in decompiled DTB taken from µSD’s /boot partition ([µConsole R01 device tree source - Pastebin.com](https://pastebin.com/EppLkeqJ))  
Serial0 is being referrenced in default (baked into hardware definition) stdout (line 44-46). On top it’s defined as an alias to actual uart device(line 12) and at line 344 you have probably actual hardware serial port 0 definition with pins 0x0e and 0x0f which correspond to 14 and 15. okay, i am lost 😅

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 15, 2024, 3:40pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/6 "2024-07-15T15:40:05Z")

</div>

If i am not mistaken, according to device tree i’ve posted above (lines 1143-1161) and my mere understanding of it, you’re looking for GPIOs number 33, 34 and 35, there should be located SPI0. These are broken out on 4g connector on pins 24,26,28 respectively.

First I2C port is defined in lines 1206-1222, GPIOs 38 and 39. These also are broken out on expansion connector, pins 38 and 40  
Would you mind checking this out?

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 15, 2024, 3:58pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/7 "2024-07-15T15:58:40Z")

</div>

In so called meantime i’ve found straight-through, no interconnected, no fuss fpc40-\> tht  
[https://allegro.pl/oferta/adapter-zlacza-fpc-ffc-0-5mm-40-pin-na-dip-13392467984](https://allegro.pl/oferta/adapter-zlacza-fpc-ffc-0-5mm-40-pin-na-dip-13392467984)

so i bought 8 of them. They should arrive at Thursday, then i’ll check and post my results…

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 15, 2024, 3:59pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/8 "2024-07-15T15:59:30Z")

</div>

I absolutely will, I’d like to say I’ll check it out tonight but it’s likely I’ll be a day or so before I can test it.

I’ll report back when I have some results!

-Mike

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 15, 2024, 4:00pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/9 "2024-07-15T16:00:28Z")

</div>

Just please don’t forget and neglect that, if my findings will be correct then it would mean that i am not that dumb after all xD  
See you then!

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 16, 2024, 1:09pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/10 "2024-07-16T13:09:29Z")

</div>

Ok, some results…

I had a little bit of time last night, so I went i2c hunting.

I was not able to do anything with SPI yet, but I was able to find and verify the i2c bus.

I2C DA is GPIO44, which maps to pin 50 on the EXP connector.  
I2C CL is GPIO45, which maps to pin 52 on the EXP connector.

I was able to verify this with i2cdetect, using my trusty war torn RTC i2c test peripheral.

 ![IMG_4978](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/4/4856d753e886a8e3d855d0c2c89e1e78993f0c21.jpeg)

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 16, 2024, 2:05pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/11 "2024-07-16T14:05:14Z")

</div>

Yeah, you’re probably not running R-01 core, are you?

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 16, 2024, 2:44pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/12 "2024-07-16T14:44:42Z")

</div>

You’re absolutely right, I’m not. I saw R01 in the subject and my brain immediately interpreted it as Revision 01…

I’m running a CM4 core.

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 16, 2024, 4:18pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/13 "2024-07-16T16:18:00Z")

</div>

This might explain discrepancies between your findings and my predictions.  
Would you mind sharing somewhere on Pastebin your device tree?

I order to obtain one, go to /boot and look for `*dtb` file. Then, issue  
`dtc /boot/$name-of-file.dtb -I dtb -O dts -o devicetree.source`  
we’ll dig your SPI outta there 😉

`dtc` command is provided by `device-tree-compiler` package.

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 17, 2024, 1:41pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/14 "2024-07-17T13:41:55Z")

</div>

The OS image appears to have dtb files for every pi in it, but there were 2 marked CM4 so I dumped them both.

> **[bcm2711-rpi-cm4-devicetree.source - Pastebin.com](https://pastebin.com/PDurdXk8)**
>
> Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

and

> **[bcm2711-rpi-cm4s-devicetree.source - Pastebin.com](https://pastebin.com/fzgK7Fgu)**
>
> Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

Looking through these files it looks like I have all sorts of places to probe around…

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 17, 2024, 1:46pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/15 "2024-07-17T13:46:51Z")

</div>

okay, i wasn’t specific enough ;  
in /boot/extlinux/extlinux.conf you should have line  
`ftd /some-name.dtb`

and this file is your “current in use”  
nevertheless i’ll take a look at attached sources.

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 17, 2024, 1:53pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/16 "2024-07-17T13:53:25Z")

</div>

syntax differs much from mine, but according to first attached file, all SPI lines are disabled.  
they surely can be enabled but i am too wimpy in terms of DTS understanding that writing new rule is way too much for me.  
for now at least 😉

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 17, 2024, 2:45pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/17 "2024-07-17T14:45:14Z")

</div>

I appreciate the help, I’m way inexperienced with Linux at this level.

I don’t have a /boot/extlinux directory, and no \*.conf file in /boot at all.

> **[/boot - Pastebin.com](https://pastebin.com/2tsQEDYN)**
>
> Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

My guess is the config is somehow modified by the overlays, which are specified in /boot/firmware/config.txt

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 17, 2024, 2:51pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/18 "2024-07-17T14:51:43Z")

</div>

Guess that differences between Risc-v and AArch64 are way bigger than i tought.

Well, at least at the end of the day you’ve ended up with working I2C 😉

---

<div class="post-metadata">

**Author:** ![mwaldron](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mwaldron/32/6770_2.png) [@mwaldron](https://forum.clockworkpi.com/u/mwaldron)\
**Post date:** [July 17, 2024, 3:14pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/19 "2024-07-17T15:14:10Z")

</div>

Yep, I absolutely have i2c and USB done, that’s 3 of the 5 things I wanted to add to my uConsole. Not a bad ratio actually…

I haven’t given up on SPI yet. Right now it’s enabled, and I have a spidev4.0 in /dev… so it’s there somewhere…

---

<div class="post-metadata">

**Author:** ![lis6502](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/lis6502/32/9916_2.png) [@lis6502](https://forum.clockworkpi.com/u/lis6502)\
**Post date:** [July 17, 2024, 3:45pm UTC](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956/20 "2024-07-17T15:45:36Z")

</div>

I guess at this point you should treat your µConsole more like RPI than distinct device in fancy shell.

> <https://raspberrypi.stackexchange.com/questions/107357/enable-up-to-5-spi-on-raspberry-pi-4>

this `dtcoverlay` rings me a bell, and given that in “base DT” all spidevs are disabled makes perfect sense to enable them via overlaying another tree’s branch over “main”.

Go with raspi-config command or directly messing with /boot/config.txt  
In the worst case scenario you’ll end up with µSD card that needs to be edited in some external device.

[Next page](https://forum.clockworkpi.com/t/console-gpio-breakout-board/13956.md?page=2)
