The ultimate extension module: The Ninja Board

Show us your Gamebuino clone or the last module you made.

The ultimate extension module: The Ninja Board

Postby Muessigb » Tue Jun 30, 2015 4:30 pm

Hey guys!

@adeko and I have been working on the ultimate extension board for the Gamebuino: The Ninja Board

The features
- Boosts SRAM from 2 KB to 34 KB!
- 128x64px OLED for extra status information like texts, maps, images
- Intelligent keypad matrix for text and other input on the Gamebuino; customizable by games
- ATmega328pu coprocessor @ 8 MHZ
- Plugs right into the I2C and the SPI bus of the Gamebuino (connects to the Gamebuino's top)
- Works standalone (needs 3V3 and GND)
- Leaves I2C intact (I2C ontop of SPI)
- Blazing fast hardware SPI communication
- Fully compatible with BuinoBasic
- Updateable using a special loader on the Gamebuino: Create your custom firmware!
- Arduino library for easy integration in games
- Powered right from the Gamebuino
- Hackable (e.g. make your own TVout, serial terminal, ... with it)

Estimated pricepoint:
- Bare PCB: ??EUR + shipping from Europe
- Full kit: around 20-30EUR (depending on the choosen OLED) + shipping from Europe

OLED:
Image

We are already taking preorders and hope you like it :)!
Last edited by Muessigb on Sat Aug 08, 2015 3:57 pm, edited 8 times in total.
User avatar
Muessigb
 
Posts: 45
Joined: Tue Dec 09, 2014 5:49 pm
Location: Germany

Re: The ultimate extension Module: The Ninja Board

Postby Sorunome » Tue Jun 30, 2015 9:48 pm

That sure sounds pretty awesome!
Do you have any pictures / demos of prototypes?
User avatar
Sorunome
 
Posts: 629
Joined: Sun Mar 01, 2015 1:58 pm

Re: The ultimate extension module: The Ninja Board

Postby Muessigb » Tue Jun 30, 2015 10:11 pm

Sorunome wrote:That sure sounds pretty awesome!
Do you have any pictures / demos of prototypes?

Thanks :)
We are still working on the PCB prototype, but here's a draft:
Image

And this is the splash screen:
Image
User avatar
Muessigb
 
Posts: 45
Joined: Tue Dec 09, 2014 5:49 pm
Location: Germany

Re: The ultimate extension module: The Ninja Board

Postby erico » Wed Jul 01, 2015 3:43 pm

Looks very interesting!
Probably for a more advanced user then me, but the price is tempting.
I should try first to push a game into gamebuino.

Congrats for all design guys, here is hope to see it working soon.
The memory expansion is really great.
User avatar
erico
 
Posts: 671
Joined: Thu Mar 27, 2014 9:29 pm
Location: Brazil

Re: The ultimate extension module: The Ninja Board

Postby albertinjo » Fri Jul 03, 2015 1:13 pm

Hello adeko and hello Muessigb
First of all this module of yours sounds amazing.
I can't wait to see the real thing.
Ohh and the name is just perfect "The NINJA board".

And here is one question:
Muessigb wrote:The features
- Boosts SRAM from 2 KB to 258 KB!

You said you will boost SRAM with 256KBytes of extra memory!?
Is that even possible? How do you plan to do that? I was googling this "expanding RAM" topic quite some time ago. Some people are expanding RAM on microcontrollers used on Arduino, have you ever heared of the SpiRAM project? Do you plan to use something like this?
If i understand everything correctly you are trying to expand SRAM memory on ATmega328p-au microcontroller, is that even possible??

Regards
Albert
User avatar
albertinjo
 
Posts: 98
Joined: Wed Mar 26, 2014 2:26 pm

Re: The ultimate extension module: The Ninja Board

Postby Muessigb » Fri Jul 03, 2015 7:09 pm

albertinjo wrote:Hello adeko and hello Muessigb
First of all this module of yours sounds amazing.
I can't wait to see the real thing.
Ohh and the name is just perfect "The NINJA board".

And here is one question:
Muessigb wrote:The features
- Boosts SRAM from 2 KB to 258 KB!

You said you will boost SRAM with 256KBytes of extra memory!?
Is that even possible? How do you plan to do that? I was googling this "expanding RAM" topic quite some time ago. Some people are expanding RAM on microcontrollers used on Arduino, have you ever heared of the SpiRAM project? Do you plan to use something like this?
If i understand everything correctly you are trying to expand SRAM memory on ATmega328p-au microcontroller, is that even possible??

Regards
Albert

Hello!
Great that you like the board!

About your question, yes, I have a 256KB ram chip right on the Ninja Board. Using the yet to be made library for interfacing with the Ninja Board and some yet to be done client program, you can use the full 256KB of the external RAM for global variables. The full 256KB are supported by the BuinoBasic VM (in development) aswell, which might get a garbage collector to deal with all the RAM.
Behind everything is a address demultiplexer and a SPI Ram chip from microchip. The magic happens in software.
The Gamebuino has full control over the RAM (for maximum speed), but needs to get the variables stuff done by its own (no help by the Ninja coprocessor).
I will look into the SpiRam project. Thanks for pointing it out here.

By the way, the Ninja Board interfaces with the Gamebuino over hardware SPI. It has an OLED and a keypad matrix, that can be customly changed by every game (it can be a text keyboard, an inventory selector for an adventure game, a calculator and more). The Gamebuino is even able to remotely update the firmware on the Ninja Board from the SD card. So you can write your own firmware for it and upload it using the Gamebuino (no FTDI cable or AVR-ISP programmer needed!).

The Ninja Board's coprocessor is an ATmega328p @ 8MHz aswell. All the unused pins, the I2C pins and the SPI pins are brought out, making the board easily hackable (you can add WLAN, Ethernet, PS/2, the XBox 360 Chatpad, a Joystick, Bluetooth, ... - without putting any load on the main CPU and keeping it free for the actual game or application).

I hope this explanation helps understanding the way it works and gives a better overview over some of the features.
User avatar
Muessigb
 
Posts: 45
Joined: Tue Dec 09, 2014 5:49 pm
Location: Germany

Re: The ultimate extension module: The Ninja Board

Postby albertinjo » Fri Jul 03, 2015 8:48 pm

Muessigb wrote:
albertinjo wrote:Hello adeko and hello Muessigb
First of all this module of yours sounds amazing.
I can't wait to see the real thing.
Ohh and the name is just perfect "The NINJA board".

And here is one question:
Muessigb wrote:The features
- Boosts SRAM from 2 KB to 258 KB!

You said you will boost SRAM with 256KBytes of extra memory!?
Is that even possible? How do you plan to do that? I was googling this "expanding RAM" topic quite some time ago. Some people are expanding RAM on microcontrollers used on Arduino, have you ever heared of the SpiRAM project? Do you plan to use something like this?
If i understand everything correctly you are trying to expand SRAM memory on ATmega328p-au microcontroller, is that even possible??

Regards
Albert

Hello!
Great that you like the board!

About your question, yes, I have a 256KB ram chip right on the Ninja Board. Using the yet to be made library for interfacing with the Ninja Board and some yet to be done client program, you can use the full 256KB of the external RAM for global variables. The full 256KB are supported by the BuinoBasic VM (in development) aswell, which might get a garbage collector to deal with all the RAM.
Behind everything is a address demultiplexer and a SPI Ram chip from microchip. The magic happens in software.
The Gamebuino has full control over the RAM (for maximum speed), but needs to get the variables stuff done by its own (no help by the Ninja coprocessor).
I will look into the SpiRam project. Thanks for pointing it out here.

By the way, the Ninja Board interfaces with the Gamebuino over hardware SPI. It has an OLED and a keypad matrix, that can be customly changed by every game (it can be a text keyboard, an inventory selector for an adventure game, a calculator and more). The Gamebuino is even able to remotely update the firmware on the Ninja Board from the SD card. So you can write your own firmware for it and upload it using the Gamebuino (no FTDI cable or AVR-ISP programmer needed!).

The Ninja Board's coprocessor is an ATmega328p @ 8MHz aswell. All the unused pins, the I2C pins and the SPI pins are brought out, making the board easily hackable (you can add WLAN, Ethernet, PS/2, the XBox 360 Chatpad, a Joystick, Bluetooth, ... - without putting any load on the main CPU and keeping it free for the actual game or application).

I hope this explanation helps understanding the way it works and gives a better overview over some of the features.


Hello Muessigb

Wow, the stuff you wrote sounds AMAZING!
Thanks for the well written explanation!
Now you got me interested. Is that chip of yours SRAM or SDRAM? Ohhh 256kB of RAM, I still can't believe you are saying this is actually possible, this would open many new capabilities!!!
Muessigb, do you mind a few more questions?
1)What would be the speed of that RAM chip of yours interfaced with the ATmega328?
2)That yet to be made library, it sounds AMAZING!!! Are you writing it especially for interfacing it with the ninja board? I can imagine tons of different projects I could use a 8 bit Arduino compatible MCU with RAM expanded to 258kB. Will that yet to be made library be compatible with some other projects as well? You will release it open-source? I am really interested in it!
3)8MHz? Why 8MHz is that something specific you need for your project? Or is it just for making the design simpler?
4)ATmega328p, hmm...on the picture above, there is a concept of the ninja board, hand drawn. But I can clearly see the cheap Arduino PRO MICRO board, possibly from ebay. Haha I also use this things. But.. on these boards microcontroller ATmega32u4 is used, not ATmega328p??? Why is it in the picture then? Just for decoration...or?

Anyway the NINJA BOARD sounds great, but I think I won't preorder it before I see that RAM chip interfaced with Gamebuino in action.

Regards
Albert
User avatar
albertinjo
 
Posts: 98
Joined: Wed Mar 26, 2014 2:26 pm

Re: The ultimate extension module: The Ninja Board

Postby Muessigb » Fri Jul 03, 2015 10:34 pm

albertinjo wrote:
Muessigb wrote:
albertinjo wrote:Hello adeko and hello Muessigb
First of all this module of yours sounds amazing.
I can't wait to see the real thing.
Ohh and the name is just perfect "The NINJA board".

You said you will boost SRAM with 256KBytes of extra memory!?
Is that even possible? How do you plan to do that? I was googling this "expanding RAM" topic quite some time ago. Some people are expanding RAM on microcontrollers used on Arduino, have you ever heared of the SpiRAM project? Do you plan to use something like this?
If i understand everything correctly you are trying to expand SRAM memory on ATmega328p-au microcontroller, is that even possible??

Regards
Albert

Hello!
Great that you like the board!

About your question, yes, I have a 256KB ram chip right on the Ninja Board. Using the yet to be made library for interfacing with the Ninja Board and some yet to be done client program, you can use the full 256KB of the external RAM for global variables. The full 256KB are supported by the BuinoBasic VM (in development) aswell, which might get a garbage collector to deal with all the RAM.
Behind everything is a address demultiplexer and a SPI Ram chip from microchip. The magic happens in software.
The Gamebuino has full control over the RAM (for maximum speed), but needs to get the variables stuff done by its own (no help by the Ninja coprocessor).
I will look into the SpiRam project. Thanks for pointing it out here.

By the way, the Ninja Board interfaces with the Gamebuino over hardware SPI. It has an OLED and a keypad matrix, that can be customly changed by every game (it can be a text keyboard, an inventory selector for an adventure game, a calculator and more). The Gamebuino is even able to remotely update the firmware on the Ninja Board from the SD card. So you can write your own firmware for it and upload it using the Gamebuino (no FTDI cable or AVR-ISP programmer needed!).

The Ninja Board's coprocessor is an ATmega328p @ 8MHz aswell. All the unused pins, the I2C pins and the SPI pins are brought out, making the board easily hackable (you can add WLAN, Ethernet, PS/2, the XBox 360 Chatpad, a Joystick, Bluetooth, ... - without putting any load on the main CPU and keeping it free for the actual game or application).

I hope this explanation helps understanding the way it works and gives a better overview over some of the features.


Hello Muessigb

Wow, the stuff you wrote sounds AMAZING!
Thanks for the well written explanation!
Now you got me interested. Is that chip of yours SRAM or SDRAM? Ohhh 256kB of RAM, I still can't believe you are saying this is actually possible, this would open many new capabilities!!!
Muessigb, do you mind a few more questions?
1)What would be the speed of that RAM chip of yours interfaced with the ATmega328?
2)That yet to be made library, it sounds AMAZING!!! Are you writing it especially for interfacing it with the ninja board? I can imagine tons of different projects I could use a 8 bit Arduino compatible MCU with RAM expanded to 258kB. Will that yet to be made library be compatible with some other projects as well? You will release it open-source? I am really interested in it!
3)8MHz? Why 8MHz is that something specific you need for your project? Or is it just for making the design simpler?
4)ATmega328p, hmm...on the picture above, there is a concept of the ninja board, hand drawn. But I can clearly see the cheap Arduino PRO MICRO board, possibly from ebay. Haha I also use this things. But.. on these boards microcontroller ATmega32u4 is used, not ATmega328p??? Why is it in the picture then? Just for decoration...or?

Anyway the NINJA BOARD sounds great, but I think I won't preorder it before I see that RAM chip interfaced with Gamebuino in action.

Regards
Albert

Hi Albert!

The RAM is SRAM (static ram), what means, that it doesn't need to be refreshed periodically.
The speed of the ram should be around 488KB/s with a little speed loss caused by the address decoder.
If you want to read more about the RAM, you can find the datasheet here: http://ww1.microchip.com/downloads/en/DeviceDoc/22100D.pdf
I guess this is enough anyways ;)

Well, about the library, it will be two parts:
- One part is for interfacing with the Ninja Board, which should work on any Gamebuino, Arduino and other compatible ATmega chip.
- The other part is for interfacing with the SRAM on the Arduino or other ATmega chip.
And BuinoBasic (a compact VM for ATmegas, that I am working on in the background, which is programmed in Basic and then compiled to bytecode; and which supports the SRAM natively) will support all ATmega's with enough internal SRAM for basic storage (stackpointer, address, etc.).
And yes, I will release it on GitHub, under my favorite licence: the MIT Licence.

About the speed of the ninja coprocessor, it is clocked at 8MHz, because the board should not draw to much power and because 8MHz @ 3.3v is not overclocking the processor and it is supported by the Arduino's core library. The whole Gamebuino works on 3.3v and it is overclocked by around 20% of its rated speed actually. TDLR: I just wanted to be on the safe side and keep it battery friendly.

Oh yeah, that was only a concept of course.


The board is now finally designed.
This is as small as we can get. This is alread Version 3.15 of the module.
I redid the board 3 times now, with 15 large modifications since the last redo.
Sorry for the size, I was using only through hole components to make it easy to assemble for non-smd-people.
I will, if there is any request, make a smaller board aswell, which only has a few buttons and an SRAM chip and maybe some sort of small cheap oled.

So here is a mockup of the module now:
Image

Greetings,
Benedikt
User avatar
Muessigb
 
Posts: 45
Joined: Tue Dec 09, 2014 5:49 pm
Location: Germany

Re: The ultimate extension module: The Ninja Board

Postby EatMyBlitch » Fri Aug 07, 2015 3:10 pm

where can you pre-order?
EatMyBlitch
 
Posts: 76
Joined: Tue Dec 23, 2014 4:29 pm
Location: Netherlands

Re: The ultimate extension module: The Ninja Board

Postby Muessigb » Sat Aug 08, 2015 10:09 pm

EatMyBlitch wrote:where can you pre-order?

Hey!
Awesome to hear that you want to pre-order one unit.
To preorder just send me a PM :)
User avatar
Muessigb
 
Posts: 45
Joined: Tue Dec 09, 2014 5:49 pm
Location: Germany

Next

Return to Hardware Gallery

Who is online

Users browsing this forum: No registered users and 17 guests

cron