We are now done with the architecture, BOM, and most of the schematic.
Our display panel's good thing is that it has all power circuits on-board, including the backlight driver. That saves us a few bucks on bucks, pun intended. BTW, Raspberry Pi CM4 also has its voltage converter on-board now. The power architecture will be very straightforward, unlike in our previous board with CM3+ and a different display.
The unpleasant surprise in the CM4 is that there are no additional GPIO pins available on top of those 28 that are exposed on the 40-pin header of regular Raspberry Pi boards. We want to preserve the header untacked, but that means we don't have any lines to use for controlling LCD and touch driver ICs. At least, there is still the I2C bus 0 available to us. We will use GPIO expander with I2C interface to partially mitigate the GPIO shortage. There is a nice SX1508B expander from Semtech with software support in the Linux kernel. It also has two separate power domains for 3.3V and 1.8V, which helps us avoid additional level shifting. Nevertheless, we are still reserving two pins, specifically GPIO 16 and 17, for time-sensitive things like the touch-sensor interrupt line and the "tearing effect" line (a vertical synchronization for the framebuffer to avoid the tearing).
The next step will be to finalize the schematic and order all the components for the first prototype.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.
Sounds exciting - are you planning to include a USB (Host) connector and an RTC w/battery holder on the carrier board..? Is there a block diagram you can share?
Are you sure? yes | no
Thank you, Manny. There will be a host USB connector, but no RTC at this time. We can add a battery-powered RTC in the second iteration if there are good use-cases for it. It's a good idea to share the block-diagram, I will do it later.
UPD: The diagram is now added to the project.
Are you sure? yes | no