I think a lot of engineers are used to doing things with independent, monolithic chips because up until the last 10 years or so, microcontrollers were expensive, hard to program and had large footprints when you added in all the external components you’d need. That’s why I love the MSP430s so much, inexpensive, zero external components (they can run full speed with the built-in oscillator) and easy to program! Like @peekay123 said, spreading the computational power around is the future. I call this method of design “Micro Distributed Computing” and it falls straight inline with the Internet of Things mentality.
Take ThingM’s blink1 for example. It’s literally a tricolor LED you plug into a USB port. It’s running an ATtiny! I know what you’re thinking, it’s USB so it has to use an MCU of some type. Well, what about their BlinkM LEDs? They’re the same tricolor LED designed to be daisy chainable and talk over I2C. That’s literally an LED with a dedicated MCU!
So I don’t think it’s really a stretch to add MCUs to the shields I’m designing. In addition to potentially reducing the BOM cost, it also allows me to add some really cool features and get my product out the door quicker. How? Take the Power Shield, for example. Because I’m using a dedicated MCU, I’m able to add things like MPPT solar tracking, while keeping the cost and size down! I can also send the board to production before I’m finished with the firmware, since I can easily do an OTA update I’m able to get the board into your hands that much sooner.
It also allows me to add features I may have never even thought of when designing the board, six months down the road. Lastly, it makes your Spark Core that much more powerful! Take the Core Motion Shield I’m working on: Since it’ll have a dedicated MCU onboard, you can control 4 motors with just two pins (I2C); it’ll also have inputs for analog and digital IR proximity and distance sensors, great for keeping your robot from bumping into something or following a line, plus SR04/SR06/Maxbotics Ultra Sonic Rangefinders! That along is worth it to me (because I know how hard it is to deal with multiple ultrasonic sensors, since you have to use blocking code to measure a pulse width)! In addition to Robotics, the Core Motion Shield will also be supremely useful for security related stuff. You could use the motion inputs to monitor outside your house and send an alert to your phone; you could then hook the motor PWM outputs up to a larger motor controller so you can drive a gate motor, or just use a digital output to open your garage door! The Core can do what it’s good at: Making data available on the internet, while the co-processors on these shields can take care of all the time sensitive background tasks. It just makes sense to me!
Damn, that was a wall of text!
Anyway, I was thinking… You know, I think I’ve got room to add a MicroSD card holder to the Core Power Shield… I also noticed that Cypress Semiconductor’s SPI FRAM chips have identical pinouts to their SRAM chips! So I could put an unpopulated footprint on the Power Shield and allow the user to solder their own chip down if they need more storage. Wrap it all up into the Power Shield and damn son, that is a power shield!