Page 1 of 1

PCB traces / pads for SPI modules

PostPosted: Sat Aug 16, 2014 2:27 pm
by deepsheet
Hello,
I'm interested in adding an SPI chip on my Gamebuino. Where can I get an SPI bus and an Enable pin on the Gamebuino (some extra GPIOs would also be nice)? I'm looking for a "clean" mod, that's why I'm asking on the forum first. Does the ICSP port sound a good solution?

Also, will I have communication issues with the display?

Thanks

Re: PCB traces / pads for SPI modules

PostPosted: Sat Aug 16, 2014 2:51 pm
by rodot
The SPI port is accessible through the ICSP port, and you have 2 GPIO through the I2C ports.
You can use several SPI devices as long as you only enable one at a time, so you won't have problem with the micro card and the screen as they are always disabled when not being refreshed.
Sorry but I don't have eagle files of the ports. I'll provide the dimensions and pin mapping for people to be able to make custom modules. You can get them from the 3D model for now.

Re: PCB traces / pads for SPI modules

PostPosted: Tue Aug 19, 2014 1:44 pm
by deepsheet
Great! It works :)

I want to free the I2C port though, because I'm planning on using it. What pins are "free" on the atmega? I could solder some wires directly on the pins ;) I need two additional IOs

Re: PCB traces / pads for SPI modules

PostPosted: Tue Aug 19, 2014 3:00 pm
by rodot
There is no free I/O, but you can use an I2C multiplexer to add some. I'll make a module for that ;)

Re: PCB traces / pads for SPI modules

PostPosted: Tue Aug 19, 2014 7:27 pm
by deepsheet
That will require the libraries to be rewritten though :(

For example, I'm using an nRF24L01 to add wireless capabilities to my Gamebuino (I want to make it a simple console for my room automation project). The device is SPI and needs two additional IOs to work. Could we make our "own" digitalWrite function that understands pins higher than 13 and maps them to the extender? That would be nice, and all libs would work using the extender without modifications.

Re: PCB traces / pads for SPI modules

PostPosted: Tue Aug 19, 2014 7:31 pm
by deepsheet
Adding to my previous post, I just found this:
http://www.elecrow.com/nrf24l01-wireles ... p-737.html

This device (it has an AVR on board 8-) ) "converts" SPI to I2C. Actually, it stands in the middle between the main microcontroller and the nrf24l01. You send bytes through I2C and it gets received in the other end. Not exactly what I expected... the nrf24l01 libraries are far better (you can even send structs!).

Re: PCB traces / pads for SPI modules

PostPosted: Wed Aug 20, 2014 7:21 am
by rodot
I haven't worked on the modules yet so I don't know if we can override Arduino's digitalWrite(). At least, we'll have a gb.digitalWrite() function.
The first module I'm planning to do is a general purpose module, including amongst other things a I/O extender with one of it's outputs used to drive a SPI nRF24L01 ;) (Disclaimer: That's not an official announcement, only what I hope to be able to do)