Main Site Documentation

At wit's end with the IO60P16 module and Hydra


I’ve been trying to get this to do ANYTHING with PWM for the better part of a year now, to no avail. I’ve tried everything in my power to get this to work. From using IanLee’s driver, to trying different firmwares and such.

The error I get is:

#### Exception System.ApplicationException - 0x00000000 (1) ####
    #### Message: SoftwareI2C: Exception writing to device at address 32 on socket 14 - perhaps device is not responding or not plugged in.
    #### Gadgeteer.Interfaces.SoftwareI2C::WriteRead [IP: 0123] ####
    #### Gadgeteer.Interfaces.SoftwareI2C::Write [IP: 0017] ####
    #### Gadgeteer.Modules.GHIElectronics.IO60P16::WriteRegister [IP: 001a] ####
    #### Gadgeteer.Modules.GHIElectronics.IO60P16::MakePinOutput [IP: 0007] ####
    #### Gadgeteer.Modules.GHIElectronics.IO60P16+PWM::.ctor [IP: 007c] ####
    #### ArmControlRemote.Program::ProgramStarted [IP: 007b] ####
    #### ArmControlRemote.Program::Main [IP: 0015] ####
A first chance exception of type 'System.ApplicationException' occurred in Gadgeteer.DaisyLink.dll
An unhandled exception of type 'System.ApplicationException' occurred in Gadgeteer.DaisyLink.dll
Additional information: SoftwareI2C: Exception writing to device at address 32 on socket 14 - perhaps device is not responding or not plugged in.

I don’t know what it means, I don’t know what else to do. I’ve tried different sockets, I’ve tried throwing it against the wall (Kidding).

If Anyone can help, I need this module to function as it is a KEY component in my Senior Project for my BS.

Thank you in advance,


If all you need is extra PWMs, then I would probably give the PulseInOut module a try. This module has been a constant source of headaches… If you want to continue trying to get this module to work, then a little more info please. Which mainboard? Have you tried it as a hardware I2C module?


My only issue with getting a different module is my timeframe. I have until Friday Morning to have a functional prototype. And while GHI is very close to me, I do not believe they have a retail store. I’d have to wait for shipping.

I am using the Hydra with the latest firmware.

I ahve set it into Software I2C with the ForceManagedSoftwareI2CImplementation = true

I have tried connecting it without using the program generated. No matter what I try, it keeps saying it’s Not responding or not plugged in.


No retail store, but Gus will be along to tell you if you can knock on the door and plead for a hand delivered module.


I was really hoping you wouldn’t say that… I’ve had zero luck in the past month getting my Hydras to talk to my PC. I’ve been ignoring it and using my Cerbs. If I can get past that problem, I can help you. :frowning:


I have a Cerb too, but I REALLY need the TE_35.

It’s my Senior Project, and I really need the display for purposes related to the requirements of the project.

I think it’s sleep time. I am going to freak out if I don’t get something to happen.

I need 6 PWM outputs. The IO60P16 would be perfect, but it seems like no one can get this thing to work. Guess I wasted time and money on this module.

I’ll E-mail Gus and see if I can pop up there tomorrow and buy that module that might actually work.

Thanks guys, you’re the best.


I’d recommend showing up first thing in the morning with donuts :wink:


Have you tried the module with your Cerb? Do you get different results?

If you compile my driver using the HARDWARE_I2C compiler option and re-route your pins to accommodate an “I” socket then I can almost guarantee you that the module will work. SoftwareI2C is almost certainly your problem. Unfortunately, I’m unable to test at the moment…

See the attached pic for re-routing instructions.


@ Detroit.Mustang - the io60p16 mostly works with Pwm. The problems arise with interrupt. If you don’t need them you can use the board with Ian’s driver. It’s not very fast to change Pwm duty/freq, so it depends on your apps needing. The use of hw i2c gives best result as suggested by Ian.


It’s for servos for a robotic arm. I kind of need them to be fairly quick and accurate for the project requirements.


Considering your deadline, I’d take the donuts to Gus :wink:


SO, I rushed up to GHI today (Lucky me, being only half an hour away), picked up a PulseInOut Module and I am still having a bit of trouble.

The +5V and Gnd are not wired to the headers on the Out side? I am not measuring any voltage across them even when +5V is applied to the headers screen printed on the board. Does this one not work (ha, I said work) like the IO60P16 Module where the +5V is shared across the output headers?


I am not following the entire thread but I like to point out that the IO60P16 is not 5V tolerant, IIRC.


Per this image posted by GHI, the PWM pins are connected to the +5v and Gnd on the headers.


Those are to power the servo.


Yes sir, I understand that. I was asking if they are wired the same on the PulseInOut Module, but I guess they aren’t, as when power is applied to them, there still isn’t 5V to the outputs on the PulseInOut module.


No on pulse module the pins are connected together but not to 5v. However, there is an option to adda jumper between the pounds and 5v if you look closely.