Thursday, May 28, 2015

MCP23008 8 gpio extender for Nusbio

Overview 

I just implemented a C# class to plug a 8 gpio extender named

This chip is an I2C chip therefore I need to use 2 of the Nusbio gpio (gpio0: clock, gpio1: data) to control it, but in exchange I get an extra 8 gpios.

8 - 2 + 8 = 14 GPIOs

It is possible to add more than one MCP23008 on the same bus.

I2C vs SPI

Becarefull MCP23S08 is the SPI version and for now, you need the I2C one which is MCP23008.
SPI support for the Nusbio will come in the next few weeks.

More GPIO


The chip MCP23017 is an 16 gpio extended part of the same familly. I will add support for it in the next few weeks. In some way the MCP23017 is superior because
  • It had twice more GPIO
  • 15% more expensive
  • Similar wiring
  • But it takes more space on the board



Saturday, May 16, 2015

MCP4725 12 bits digital to analog converter (DAC) controled from C#

Today I tried the MCP4725 12 bits digital to analog converter (DAC) using the Visual Studio, C# and the GDevice.

The MCP4725 is an I2C device and it worked like a charm with the I2C class.

I am using the Adafruit breakout.  The Sparkfun breakout should work, any breakout  should work.
On the breakout the 2 pull up resistor are already there.






Friday, May 15, 2015

Adafruit Small 1.2" 8x8 LED Matrix + Backpack controlled with a GDevice in C# from Visual Studio


The GDevice supports the I2C protocol and therefore allows me to control 2 Adafruit Small 1.2" 8x8  LED Matrix + Backpack or more.

Both LED matrix are on the same I2C bus.

I am using a C# from Visual Studio.






Tuesday, May 12, 2015

A picture of 2 Adafruit Small 1.2" 8x8 Bright Square Pure Green LED Matrix + Backpack, on the same i2c bus controlled by a GDevice program written in C#.

It is working. Next step getting an EEPROM to work on the same bus with the 2 LED matrix.


Tuesday, May 5, 2015

PWM api for the GDevice

I am working on the PWM API for the GDevice library.
Internally the api pre compute a buffer and send the buffer to the FT232RL, which will modulate using its own clock. Therefore it can be called hardware PWM.

The method is blocking the C# execution, but does not use any CPU.


In this sample I setup the speed to 8k baud, my buffer size is 16k.
It is kind working, though when applied to an LED I see some unexpected flickering


I still have to work on these parameters, but here is a first Video.
 
Follow Up:
After looking into it with an oscilloscope, well the modulation is completely wrong.
I guess more research on the way.




Saturday, May 2, 2015

GDevice1.0 Last Prototype Tour

I am getting close to have a first final design, my first PCB was not a complete success, but I found my enclosure. And may 3D print the front and back panel. I ordered 

Here is a video of the last prototype

Video.

GDevice LED Panel

Here is the first panel or shield I designed for the GDevice, it is my second PCB and I got it right.
  


The video.