The Compute Module is a Raspberry Pi in a more flexible form factor, intended for industrial application. CM3+ (Compute Module 3+) is the Raspberry Pi 3 B+-based revision of the original Compute Module. The big update to the CM3+ compared to the CM3 series is more eMMC Flash memory and the new heat spreader on the main processor which will let it run at full speed much faster without overheating.
The Compute Module contains the guts of a Raspberry Pi 3 B+ (the BCM2837B0 processor and 1GB RAM) as well as a 8GB eMMC Flash device (which is the equivalent of the SD card in the Pi). The Pi 3 B+ has a processor speed of 1.2GHz and runs at roughly 10 times the speed of the Pi 1 due to its quad-core CPU. This is all integrated on to a small 67.6mm x 31.1mm board which fits into a standard DDR2 SODIMM connector (the same type of connector as used for laptop memory).
The Flash memory is connected directly to the processor on the board, but the remaining processor interfaces are available to the user via the connector pins. You get the full flexibility of the BCM2837B0 SoC (which means that many more GPIOs and interfaces are available as compared to the Raspberry Pi), and designing the Module into a custom system should be relatively straightforward as the Pi Foundation has put all the tricky bits onto the Module itself.
Have some info to add for this board? Edit the source for this page here.
We use a special library called adafruit_blinka (named after Blinka, the CircuitPython mascot) to provide the layer that translates the CircuitPython hardware API to whatever library the Linux board provides.
For example, on Raspberry Pi we use the python RPi.GPIO library. For any I2C interfacing we'll use ioctl messages to the /dev/i2c device. For SPI we'll use the spidev python library, etc. These details don't matter so much because they all happen underneath the adafruit_blinka layer.