Saturday, December 12, 2020

Raspberry Pi Compute Module 4

 While we were snoozing, the Raspberry Pi Foundation released the Compute Module 4. This is a serious upgrade from the previous Compute Module. The main thing it provides to us is an option for on-board Wi-Fi with a u.FL connector for an antenna. This means that we don't need to design our wireless solution any more; it's done for us!

With that in mind, and given that we are using Wi-Fi not XBee for wireless, it is now possible to design a simpler version of the awesome display board that Jeremy built! For the new version, I'm looking at a serious downgrade, in favor of simplicity, for some important items. Yes, sometimes less is more.

First, I'm dropping the adjustment knobs and just using a row of clicky buttons. Yes it is just like the cheapy monitor controls on your cheapy monitor. But it also saves valuable space. Anything that helps us fit into a crowded instrument panel on an airplane is a net win.

The previous design also had a very clever microcontroller to make sure the brightness adjustment worked even when the Pi was booting up. In the new one I'm just hooking up a Pi GPIO to the brightness PWM input, and calling it a day. I might add an inverter so it's at full brightness until the Pi boots up, but yes, it will be in an indeterminate state during bootup, and hopefully we boot up quickly so this is not an issue, but for now, this just makes things simpler.

I added space for a real-time clock and a battery for it, but I'm not sure if I will populate it. We'll see. Having actual time is useful for data logging, but honestly, it's just as easy to use a sequence number or whatever and be done with it.

The CM4 has a power supply built in now, so we can lose all our power circuitry. We just get 5V input from USB or wherever, and we're good.

I've arranged for two USB-C power socket for either vertical or horizontal mounting. The USB-A socket is there for attaching peripherals, a keyboard, or anything else. If you want more than one port, use a hub. :)

Finally, I'm explicitly adding slots for two 8-position 0.1" screw terminals to allow expandability and support wired use. This all fits in with the idea that this is supposed to be a general purpose, expandable, in-vehicle display unit for all kinds of use cases.

The result is something that should be super small -- see this previous blog post where I made a mockup. This is the current state of the circuit, which is still in development. It's funny that, for all its fancy functionality, it's actually somewhat simpler than the sensor board!



No comments :

Post a Comment