Portable console

We are now a team of 3 working on the v2.0, I think it's enought. But if you have any idea, don't hesitate to share them :slight_smile:

Your problem is that WProgram.h has been renamed since Arduino 1.0
You can solve it by replacing

#include "WProgram.h"

by

#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif

in arduino-1.0\libraries\ST7735R\ST7735.h

R0D0T,
You are getting a lot out of the Arduino UNO here, do you have anything planned for the upcoming Due ?

Duane B

I can't wait to have a Due...
A version 2 of the console is under development, a well finished one, with smt lipo, vibrator, joystick and all that stuff in a very compact size. Il will come with a complete library that handle frame rate, playing music from sd card, diplaying images and sprites... A lot of work, I don't know when I'll finish it.
But when the Due will be released, I'll make a V3.0 with a 3.2" touch screen, an IMU, a 16bits port for an high refreshment rate, etc.... ok, I'm perhaps dreaming, but it would be marvelous.

Rodot:
I can't wait to have a Due...
A version 2 of the console is under development, a well finished one, with smt lipo, vibrator, joystick and all that stuff in a very compact size. Il will come with a complete library that handle frame rate, playing music from sd card, diplaying images and sprites... A lot of work, I don't know when I'll finish it.
But when the Due will be released, I'll make a V3.0 with a 3.2" touch screen, an IMU, a 16bits port for an high refreshment rate, etc.... ok, I'm perhaps dreaming, but it would be marvelous.

I take it you've seen the Uzebox, right?

http://belogic.com/uzebox/index.asp

That's all done with a 644 (ie, like a Sanguino) - I should think with a Due you could way more than that!

Rodot:
But when the Due will be released, I'll make a V3.0 with a 3.2" touch screen, an IMU, a 16bits port for an high refreshment rate, etc.... ok, I'm perhaps dreaming, but it would be marvelous.

Note, the Due has the same breakout board size at the Mega. and is 1.3" (3.3cm) longer than the Uno. I don't know if the extra length would affect the playability of your console.

Hi R0d0t,

Are you still developing this console ?

I was planning to build an LED Game over the christmas holidays, something like the old grandstand games I used to play as a kid based on LED Matix, but for the cost of a few to colour matrix I can get 1.8 or 2.2 inch TFT Displays.

What was your experience with these, could you for example run something with a large number of separately animated sprites like a galaxians clone running with reasonable refresh ?

Thanks

Duane B

rcarduino.blogspot.com

cr0sh:
I take it you've seen the Uzebox, right?

Nop, but I was aware of Gameduino : http://excamera.com/sphinx/gameduino/ (amost the same thing)

cr0sh:
I should think with a Due you could way more than that!

I prefer to do something really small (407515mm), cheap (<25$ batteries included), and Do It Yourselfable (Nothing below 0805 for the smd). The arduino due ALONE costs about 50$ and is huge (even without stacking a shield)... what do you thing about that ? If I want more power, I'll go develop games on android :stuck_out_tongue:

DuaneB:
Are you still developing this console ?

I've been working on other projects these times (3D printer, 64*64 led matrix...) but I'm back. I started drawing schematics this morning (and learn how to use the software yesterday night hehe). The inactivity is although because I trusted a guy who said he was interested in drawing electronics... two months later, he has done nothing, so I'm back as a lone wolf, as ever :wink:

DuaneB:
What was your experience with these, could you for example run something with a large number of separately animated sprites like a galaxians clone running with reasonable refresh ?

No, you can't. The screen's communication is based on SPI, so it's veeery slow (but convenient). On my snake game for exemple, I don't refresh the whole screen at each frame : I only rease few pixels of the tail and draw few new pixels on the head. Don't even think about scrolling, animated sprite (or just a few) or overlay text. Moreover sprites uses a lot of RAM. I think you should try a 3.2" screen (240*320px) on 8 or 16 bits parallel bus. But be carefull, they run @3.3V. You can although overclock you arduino to 20mhz instead of 16mhz :wink: I hope this helps :slight_smile:

Hi R0d0t,

Thanks for the update - too bad I clicked buy already, will still find a use for the screen though.

I will take a look at the gameduino and also, if your back at this, do you have an alternative screen in mind ? can't guarantee that I will contribute anything, but happy to plod along in parallel, after all, the idea of these projects is that people will build them.

EDIT: Looked at the gameduino - too expensive.

Duane B

Rodot, I know from your blog that you believe the Esplora may have stole your thunder. I'm not affiliated with them so I don't know their thoughts but I bought an Esplora to play with and hack.

I was looking at the pins used and documented the "display header". I used it for an XBee then realized it was a near fit for the Adafruit 1.8" TFT display.

So today I put the display on then looked for cool games for such hardware. I found your platform jumping game which I thought was way cool.

I ported the code to work on Esplora. The pins must be mapped for the Esplora hardware and a couple of Esplora specific function calls but otherwise it was pretty compatible.

The code is at GitHub - TheKitty/EsploraApps: Applications for the Arduino Esplora

I hope to post a blog post on this (fully crediting your work as I did in the code), is that ok??

I was designing the second version of my "gameboy", exactly like the esplora (but thinner, with screen and LiPo included). So I really feel they stole me the idea, and I canceled this project as explained here r0d0t's stuff.

@TheKitty : I'm glad you used my code, you can put it on your blog if you put a link to the original project r0d0t's stuff thank you :slight_smile:
But I don't think I'll post the code of the snake game, because it's very, very messy. What do you want to know about it ?

@DuaneB : 3.2" screens with 8 or 16 bit parallel communication should be fine for gaming. But check that there is an arduino lib before.

@Rodot - Thank you!! Of course I am going to gush over the fact that it is your project and code and I'll link to the Hackaday, your blog, and the Youtube (which shows the gameplay).

My contribution was making the mapping of the hardware to the Esplora and a couple of library issues. The code works well but might lack your polish (you can see on Github at the previous link).

If you don't want to publish the other game, that's fine as it is yours. Maybe you'll want to publish the game in time.

I'd like to see your hardware creativity more, just as others here have encouraged you. It's a shame the Arduino team came so close to your hardware set. I actually think your idea with LiPo is better - my next task is "strapping on" a LiPo solution to the Esplora which will be ugly as it appears to really want USB power and many people want a wireless solution (standalone or radio).

My article is now up at The 21st Century Digital Home: First Self-Contained Arduino Esplora Game. Thanks again, Mike

Hi,
Esplora does make things a bit less interesting in the short term, I was planning something similar for this lot -

However in the medium term it might open up our projects to more people, I want people to build my projects and if Esplora helps then it must be a good thing.

Rodot, its your design talent that blows us away, your take on conways 'game of life' is exceptional, why mess around with screens and batteries when you can can be genuinely creative - I hope you stick around and do more on the Arduino platforms.

Duane B

rcarduino.blogspot.com

Rodot:
Thank you very much !
The screen module costs 13$ on eBay (search "1.8 LCD module"), and the screen alone costs 7$. The library is this one : http://www.bestelecs.com/download/lcd/1.8SPI.zip.
I don't know if I will do an instructable, there is a lot of information in the video, and doing instructable take a lot of time, and I'm not sure people are interested in that...

I suspect the secret to its coolness is in the programming, not in connecting a screen to the SPI interface :slight_smile:

You project is a nice one, its a shame to see your ideas clobbered like that. Maybe there is still some room for you.
There is some differences that you can exploit. Especially if you are making a standalone, not a shield.

The 328 can do 20MIPS throughput. whereas the 32U4 is only 16MIPS, even have the crystal removable/switchable and then people can select an external clock.

Seems the 328 has 4 less instructions, whatever they are.
Plus many other differences...

If you are still / were considering a big screen project, I'm working on a library for a 3.2" on a mega 2560 that could help you achieve a nice result. My goal for the library is to actually make a game out of it.

Either way, I'm sure there is something your platform could incorporate that will elevate it well above the performance of the esplora. They may have gotten theirs out first, but this also means you can 'esplore' it and create a better system.

R0D0T, your game of life would make a good game for the Esplora too if it could be modified to use the 32U4's 2.5KB SRAM. While I'm good at some translations, I've looked at the SRAM code a bit and I don't know exactly how much you might be using with the external chip.

I hope you stick around and do more on the Arduino platforms

@DuaneB : I'll maybe get back working on my Game Buino... but right now I've to make my 3D printer... print. I've been working for 2 months on it, because of the very poor quality of parts (nozzle leaking, smooth rods not smooth, broken bearings, burning MOFSETs...).

If you are still / were considering a big screen project, I'm working on a library for a 3.2" on a mega 2560

@pYro_65 : The mega 2560 has more flash, more ram (good for gaming), more pins (to connect a 16b parallel screen instead of SPI) and you can adress external ram (yeaaaaah). But it's very, very expensive compared to a atmega 328. That's why I chose to do a cheap gaming platform first (to practice PCB routing too), and maybe later, if I want more power, I'll move on ARM 80Mhz 32bit stuff (but it's very difficult to hand solder).

your game of life would make a good game for the Esplora too if it could be modified to use the 32U4's 2.5KB SRAM

@TheKitty : your world is 128128 wide = 16k cells. My algorithm uses 1 byte per cell (you can use 1 bit per cell but it's far, far slower). So you need 16kB of RAM, so I used an external SPI ram. You can use a smaller world (3232 = 1k) and magnify it if you want to spare ram, but it will be far less cool.

Rodot:

If you are still / were considering a big screen project, I'm working on a library for a 3.2" on a mega 2560

@pYro_65 : The mega 2560 has more flash, more ram (good for gaming), more pins (to connect a 16b parallel screen instead of SPI) and you can adress external ram (yeaaaaah). But it's very, very expensive compared to a atmega 328. That's why I chose to do a cheap gaming platform first (to practice PCB routing too), and maybe later, if I want more power, I'll move on ARM 80Mhz 32bit stuff (but it's very difficult to hand solder).

That's understandable, If you find an AVR you like my library is easily transposable to any 8 bit AVR with at least 2x 8-bit wide IO ports. With a little modification it can support non-parallel interfaces, a large amount of speed will be lost, but will still be optimal.
The 1284 for example, has 16k ram and is available in through hole. From maniacbugs site it appears it has 2 free ports and is less than half the price of the 2560.

Anyway I shouldn't advertise my library until I release it, I'm just keen to do some collaborative work. A game is the fundamental reason behind my need for a new graphics driver. So keep that in mind if you ever re-ignite your project.

The new Due is $20 less than the mega and is wicked fast. Perhaps you'd have a good system with it?

Hello TheKitty,
My project is to design a handheld console you can build yourself on the cheap, and the Due's chip is too expansive and too tiny to be hand soldered. And I don't want to make a shield, because I want it to be 10 mm thick battery included. You don't need a lot of power to make cool games, look at my snake : it runs very smoothly at 50 FPS (and the more power consuming is the AI with a lot of trigonometry & floats). Everything is about optimization.

Edit : I will soon get back on PCB drawing to build a first prototype. But that's the first PCB I draw, so I'm not very fast :slight_smile: