What are the CyberBrick shield pinouts/connections?

Hi, I’m in the process of designing a display shield for the CyberBrick Controller core, and I’m trying to keep it in the same style as the RC transmitter and receiver with mounting holes in the corners and with the same connectors where it makes sense.

For that I would really love to learn a little more about the connections, specifically how the connections are on the 3 pin analog input connectors and the 2 pin digital ones on the transmitter. I think I have found the rest of the connectors in the released 3D models and the PDF documentation, though I have made some assumptions that the castellated pads and labels for those match the pins that mates with the shield.

I’m also very curious as to which pins goes to which connector. I can kind of guess that pin 0-5 are the analog inputs, as those match up with the pin capabilities of the ESP32-C3, but I won’t be able to fit all, and would like to follow naming as much as possible.

The shield that I’m designing will have a small OLED display (128x64 pixels) and two buttons. For further expansion, there is also a Qwiic/StemmaQT connector with I2C in addition to 3 of the analog input connectors and a battery connector.


(The 3D model of the display itself isn’t totally accurate in the render, as it will stay within the PCB outline and fit nicely in a case)

I’m hoping that I have simply overlooked the information, but if not, I would really appreciate a few hints from someone with knowledge about the connections or someone that has a shield and can measure it with a multimeter.

3 Likes

The recent announcement stated that design documents will be released on May 7.

https://www.kickstarter.com/projects/makerworld/cyberbrick-beyond-bricks/posts/4362137

Arh… thanks!

I know patience is a virtue, but I’ll probably just make a qualified guess on the pinouts, order some PCBs and fix my mistakes in software, at least for the first revision.

Luckily the ESP32-C3 is somewhat flexible and many functions can be connected to different pins using the pinmux.

True if you’re using I2C for the interface. I’m disappointed in the lateness as well, but…

I expect that the hardware documentation will be anemic. All they’re claiming is releasing the ‘API’. But a bit of sleuthing should reveal most necessary info…

I have decided to go with GPIO6 for SDA and GPIO7 for SCL and then put the two buttons on GPIO9 and GPIO10. I have put 10K pull-up on those and hope there isn’t already a strong pull-up on the core for those pins. If there is another 10K it will probably be ok, or I can leave out the resistors on the shield

If I remember correctly, GPIO9 is used for boot selection on the ESP32-C3 and I can see that being handy on an accessible button, at least for development.

Based on the layout, my guess is that GPIO3 is L1, GPIO4 is L2 and GPIO5 is L3 on the transmitter shield and similarly, GPIO0, GPIO1 and GPIO2 are R1, R2 and R3 respectively.

For the 3 pin SH1.0 connectors, my guess is that pin 1 is the signal, pin 2 is 3V3 and pin 3 is GND. That kind of matches the similar connector for the WS2812 on the receiver shield.

I have received the PCBs and managed to solder up a few of them. I’m still not 100% sure on the pinout and don’t have a controller core yet to test, so I will wait a little releasing the files, but I tested it with I2C via the QWIIC connector and that seemed to work, at least for the OLED screen, the buttons aren’t hooked up to that.





5 Likes

Nice work! I love that others are already beginning to expand the ecosystem.

Thanks!

As soon as I receive my hardware, I’ll run some checks that I have done it correctly, and maybe fix some things. I have already found the first little bug, so a rev. 1.1 will probably happen in the near future. When the design is verified, I’ll share the files for others to make their own.

1 Like

Again, great work! BTW, do we know if the design files (for CyberBrick) were ever released?

I haven’t seen electronics schematics or detailed pinouts, but I have received my kits now and will have a detailed look at it and try to compile at least a pinout, which could be useful for hacking on this directly (without Bambu Lab firmware) and/or in Micropython (the Bambu Lab provided one).

Personally I would like to expand the electronics side and maybe design more shields, sensors or input modules. Besides the display shield above, I already have a few additional designs more or less done, just pending compatibility checks and a prototype run.

Hi, are you planning to sell these shields?

I don’t think so, handling shipping and such is a bit of a hassle, but when I have verified functionality, I’ll share the details (KiCad files, BOM, etc.) for anybody to make their own, or maybe @CyberBrick / @MakerWorld would like to put some in production and sell them in the store. I would definitely be open for that.

Nice shield, for anyone wondering. Here is the pinout I’ve sussed out for the transmitter shield.
L1 = Pin(0)
L2 = Pin(1)
L3 = Pin(2)
R1 = Pin(3)
R2 = Pin(4)
R3 = Pin(5)

Still working on figuring out the digital switches, maybe later today. Unfortunately documentation is still painfully lacking on this ecosystem.

If you are talking about CyberBrick X12 transmitter shield, see: Where is documentation on building applications for Cyberbrick? - #30 by xrk

1 Like

AYO! Thank you! you just saved me a bunch of work! I greatly appreciate that!

1 Like