Building add-on devices for your CPC is actually surprisingly easy. These pages cover the theory of building these devices and attaching them to your trusty CPC.
Before you actually build anything using these guidelines, please read the disclaimer.
If you're stuck for ideas, here are a few projects that I think would be cool, but I don't have time to do myself:
Please note the joystick splitter project here is not in any way related to the joystick splitter project in an old issue of Amstrad Action. Or indeed to anyone else's hardware projects. Ever. Except for the explanation of connector terminology, which was inspired by (not copied from!) a bit of that article. Sadly, this means that if there's something wrong with the design, it's my fault.
The section on the expansion port could do with explaining in more detail, but at least most of the relevant information is now there.
One other thing: The names of active low signals are conventionally written with a line over them. Due to the awkwardness of doing that notation portably in HTML, I've marked these signals with an asterisk instead.