The booby-trapped DevTerm GPIO

I made another table that maps EXT pins to the core modules:

  • R01 is a peripheral beast.
  • CM3 has the best HAT compatibility.
  • A06 least flexible but fine
  • A04 ??? still no schematic
  • CM4 ??? no adapter board schematic

Yeah, not useful or applicable. The GPIO documentation that you would find on some place like Raspberry Pi’s site is completely missing and what is there seems to be aimed at the game shell.

To do it right you’d need to create a map for each compute module so that not only the primary function is documented but also the source pin (ie, where on the SOC it terminates). And to go a step above document all of the possible functions.

But since the GPIO is all used up perhaps you should just document what they tie to on the main board (basically like @yatli has done), on the off chance someone wants to do some debugging. Otherwise there is no point in this connector.


Yeah, I had noticed there does appear to be a second I2C bus available on the camera port. I’ll have to check the IDs of all the other peripherals on that module. And then find parts to make a break our for it… It might work. Assuming I’m successful at getting a time source plumbed in I was going to document that in another thread. I wanted to leave this one about documenting the GPIO connector.

Splendid work! Both of these have gone into my documentation folder. I don’t suppose you could provide the source spread sheet in an Open Document file (ods)?

There you go:

Hide nothing :slight_smile:

1 Like

Thank you very much!

Does that apply to CM4? It has a WiFi module on-board, so it shouldn’t need to waste its GPIOs for that, right?
Raspberry Pi 4 Model B somehow manages to have WiFi plus the whole GPIO header, so the Raspi chip definitely can handle it.

Hmm… I wonder what fun one could have with dual WiFi… :laughing:

To my knowledge there is only one “main board” for the DevTerm. This means that the mother board WiFi will continue to interact on those lines unless you do something physical (cut traces, …) to stop it.

I see. So current DevTerm users who have a CM4 in it, don’t use the integrated WiFi circuit / antenna but the external one, on the mainboard?

Not sure, according to the CM4 adapter store page you need to have a CM4 that has wireless itself, so i don’t think you are gonna get your dual WiFi. Maybe they are using these lines for other stuff?

I didn’t say that. I said:

That’s all about hardware. I don’t know about the software. I don’t own a CM4 and I don’t know what OS your using or how its configured. So I won’t even make a guess.

The point is that the GPIO lines on the mainboard are taken. That seemed to be your question. I haven’t looked at the schematics for the CM4 adapter (you should) but I can only see a couple of scenarios:

  1. those GPIO lines are being supplied by the CM4, but they are physically attached to the MB WiFi. In which case you physically have two WiFi adapters that you may be able to use.

  2. those lines aren’t being supplied by the CM4, in which case you don’t have them anyways.

The net result: no GPIO. ::sigh::

I confess i have not looked at the product. But it doesn’t change the fact that the DevTerm MB still has a WiFi chip on it and its still connected to the GPIO lines that are still connected to the GPIO (debug) header. Plugging different modules into the MB will not change that. Only changing the MB will.

See the two possible scenarios in my reply to @dav3.

Its kind of a bummer if its scenario 2. Not sure what I would do with duial-WiFi but its always nice when there is an unexpected feature you might someday find a use for. :))

How about cutting the traces to the MB WiFi and then being able to freely use the GPIO (not just debug anymore) header?

That was exactly my idea. I was thinking of kapton tape over the contacts I dont want the motherboard using, then just solder wires to the top part of those pads. Easily reversed, and the adapter board is only like $20 in case I fail.

1 Like

Is it possible? Depends on your skills, tools and whether or not the traces are accessible, ie not on an internal layer, under a chip, … Technically if one is skilled and tooled well enough you could probably lift the WiFi chip from the MB…

For the CM4 is there really any reason to lift motherboard WiFi chip or cut traces on the motherboard? Im still pretty new to hardware mods like this so im wondering if im missing something.

The CM4 attaches to an adapter that then plugs in to the SODIMM socket on the motherboard, that means all of the connections are right there in the open on the edge of the adapter. My idea is to solder jumper wires to the very top of the GPIO pads and cover the rest of the pad with solder mask or kapton tape so they never get to the motherboard in the first place. I figure this way my motherboard is fully functional for other cores.

Is there any reason this wouldn’t work compared to cutting the traces on the motherboard or lifting that chip?

It would probably be the cleanest to just remove the MB WiFi chip altogether.

It is a trivial procedure with a hot air station, and does not require much more difficult micro soldering, scraping etc.

If you do not have access to hot air, even just removing power from the MB WiFi (cut one single trace) may suffice actually. If the chip does not power on, no data is transmitted and the bus is free to use for GPIO.

But this is all theory. :wink:

Yes, hijacking the signals would work as long as they don’t make the connection to the MB. But to make sure that doesn’t happen you still need to cut the traces on the adapter before they get to the connector or after they leave the connector on the MB, assuming they are accessible. You’ll have to check the schematic for the MB, adapter board and compare them to the physical boards to see if it can be pulled off.

In short you need to study the schematics and physical boards to see if this can be done.

And there is still the question of whether or not the adapter board exports the needed signals to the MB socket. This is called in to question by what you mentioned about needing a CM4 with WiFi. This is all moot if those signals are buried on BGA pins of the SOC. Most SOCs I’ve looked at use BGA pins. I’d have to look at the CM4 to know if it does.

I don’t understand; if we power down (cutting power or GND trace) or remove the WiFi module from the MB, the GPIOs on the 40-pin GPIO header are going to be free to use, no?

You mean balls?

It’s nice / comforting to see though, that the CM4 has a nice antenna connector just like the Clockworkpi MB, so you can still connect antennas (maybe even the included one) and get good reception.

It may be worth breaking that connector out to the shell’s outside to connect a beefier antenna via SMB, though. Applies to the MB WiFi, as well, of course.

Another question, referring back to the original post: can’t you use the “52 Pins extension module interface”? Is there anything preventing you to use that for the RTC?

From what I can tell here, GPIO28 through GPIO44 are free to use on the PCIe slot, right?

And if you do remove the WiFi chip, you get full 19 GPIOs free on the “40-pin GPIO header”:

If you end up needing the MB WiFi module after all, you can get a second MB for just $39. Then you’d have one WiFi MB and one non-WiFi with 19 free GPIOs.

Another idea: if you populate the mini PCIe slot for a 4G module and don’t want to lose MB WiFi, you do get another audio port on that 4G module. So you could remove the MB audio and get 4 GPIOs, in case that’s enough for you:

Yes, if you remove the WiFi module you gain the GPIOs. But that wasn’t the question @USFrozen was asking. I would also say that I would have some concern that an unpowered WiFi module sitting on those lines might inject some noise. But my understanding of how the chips are actually made is extremely minimal, so it could very well be a good solution.

Assuming that the CM4 adapter is actually providing those signals. I have not attempted to verify that either.

Yes, I want the printer, speakers and USB ports so I want to leave the “ext module” intact and connected. The I2C bus for the EXT module is brought out on the camera port. I don’t see anything on that board interfering with address 68H. Since I have no desire to have a camera my plan is to tap into that. Its just going to take more time, ducking and probably more creativity.

To clarify my specific needs: I just need access to an I2C bus… which is usually stupid simple. Imagine my surprise after finding and ordering pieces to work with these awful connectors that it didn’t work. Turns out the devices on the MB attached to the I2C bus also use address 68H. And there is nothing I can do about that.

The whole point of this topic was to start the discussion about what GPIO was actually still available on the so-called GPIO connector and to act as a warning for others looking to take advantage of it. Mission accomplished!

“Balls” / “pins” same difference. :laughing: I italicized the word because its not the exact correct word to use. But even novice readers will likely understand what I wrote.