PWM Extension

Hello everyone,

I´m doing a personal project where I´ll need to control 4 high power 20A motors (maybe 6 one day).

The Gadgeteer motor controllers are for lower powered motors in the 3A mark, so I thought that´s OK I´ll use PWM signals on the mainboard to control ESCs (electronic speed controler) to then control the motors.

Oh dear, there are only 3x PWM on my mainboard.

That´s OK :slight_smile: Easy, I´ll buy the GHI Pulse InOut module giving 8x PMW Outputs (and Inputs)

Then, I met a fantastic girl, got a house and now a baby!

So I come back to my project a while later, and oh no … the Pulse InOut module is discontinued :frowning:

I´ve looked around the net and not been about to find another PWM signal generating Gadeteer module.

Any recommendations, thoughts or advice?

Thanks in advance!


Which mainboard? I think they all have more than 4 pwm pins

Hi Gus,

I´ve got two mainboards one from LoveElectronics (3x P socket) and the FEZ Hydra (1x P socket).

I´ve answered my own question … just noticed the GHI Hub AP5 module is perfect for me with 5x P sockets!!! Wonderful, I´ll buy it now :slight_smile:

Sorry for taking your time!

Hope you have a good new year!!!


On a side note, I´ve noticed on the GHI website a mistake on the FEZ Rapter. On the specs it say PWM = 4, however later on down the page there´s only a single P socket giving PWM. I can only see one P socket on the images :slight_smile: Might be worth the website folks correcting.

If you don’t have high memory requirements, you may want to checkout the Cerberus mainboard (4 “P” sockets & 12 PWM pins).

Hi Ian,

Interesting alternative! I could use the Cerberus as a sensor data collection board and pass the data down to my other mainboard to do the “heavy” computations.

Thanks for the alternative, very useful indeed as one UK supplier of GHI products say they won´t stock the Hub AP5 module :frowning:

I might have to pay the international delivery charge on the AP5 … or buy the Cerberus board :slight_smile:

Thank you and hope you have a happy new year!


@ DPY81 - The Cerberus is a powerful little board. Unless you’re running a big display, you may find that it will do everything you need. Good luck! I’m looking forward to seeing what you’re building.

Hi Ian,

Purely for fun, I´m building a quadcopter drone that is capable of autonomous take-off, flight by following me around and then landing.

Just on the basics at the moment in getting the machine to fly, it´s certainly a lot of fun!

I´ll need quite a few sensors (gyros, accelerometer, compass, GPS, ultrasound and barometer) plus control 4 motors with PWM and an XBee.

I looked at the Arduino which would be easier with the sensors connectivity however ease of C# and debugging was a no-brainer for me especially when it comes to the complicated flight control.

I´m sure the C# event handlling will massively similify the control system :slight_smile:

Maybe in the end it will be easier with an Arduino sensor processing board with Gadgeteer doing the flying, however for the moment I think it´s best to stay all within Gadgeteer if I can :slight_smile:



@ DPY81 - That’s funny. The exact same project is what got me involved in NETMF several years ago. I never got mine to fly but others have since then. Check out this thread.

Good luck!

Came across this video a while back and thought it was amazing.

Quite a setup though.


@ Sprigo - Nevertheless, IMPRESSIVE !!!

Cheers Ian, good to know the gadgeteer system is capable (with care) of real time applications!

With all the sensors the project needs I’ll reckon even the most generous mainboard will run run out of “I” sockets so I’ll have to hack my own I2C module to talk to the multiple sensors. Wish there were more sensors out there that could be daisy chained!

The thing running around my mind is that it might be best to get a G400 board. All the PWMs I need, many gpio plus easy to access to direct I2C to solder and not hack own daisychain code.

The real monkey is the many of the I2C components have fixed addresses :frowning: In my deluxe design there’ll be many sensors and I was hoping to access them all of them on I2C, of course difficult if the manufacturers hard code the same address on sensors of the same type!

I think it’ll end up easier using the sensor’s chip select (extra microcontroller or use G400 gpio) and using SPI comms.

My gut feeling is that although the end/best solution is a G400, best to prototype on a Gadgeteet mainboard/sockets as much as possible before getting one :slight_smile:

Any thoughts?

The MPU6050 or MPU9150 series would be a good choice (I think the 9150 also has SPI interface).

Edit : It’s the MPU9250 which has the I2C/SPI Interface.

1 Like

The direction I have decided to go with my quad is to use an off the shelf $20 Naze32 based micro for basic flight functions and then use NETMF for the more interesting stuff. Unfortunately, my Naze32 is still in the box and I haven’t had time to play with the quad in quite a while but I feel like steering & balancing are CPU intensive enough that it deserves its own micro and using something that’s proven like the Naze32 takes a lot of the work that others have already done off my plate and lets me focus on interesting stuff like automatically locating a specific license plate in a parking lot, etc.

Depending on how many sensors and what you’re doing, it might make sense for you to roll your own DaisyLink module. I’d probably go with SPI with the GPIO CS, though.

1 Like