Portable console

Hi,
I have updated the link, I had a look around your site also, you have some nice projects across a wide range of disciplines

Duane B

rcarduino.blogspot.com

Something big is coming your way...

Reminds me of Doodle jump. I got it for free as a OVI store gift for my Nokia phone(5230)s60v5 .

Wow really really cool ,I will def look at building one :slight_smile:

Here is my new gaaaaaame !

This one use 100% of your arduino (CPU, flash & RAM).

PS : I still recruit people to make a handeld console v2.0
PPS the screen can be found here : http://stores.ebay.com/electronics-lee

Awesome Project! I just placed an order to get the screen online. What are you looking for in v2.0 I may be able to help (however my time is very limited)

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...
Here is another project I made with this screen module : r0d0t's stuff

I downloaded the 1.8SPI lib but for some reason I cannot get it to verify with the arduino code. What IDE version did you use?

Error in IDE 1.0 & IDE 1.0.1

In file included from doudeul4.cpp:1:
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:6:22: error: WProgram.h: No such file or directory
In file included from doudeul4.cpp:1:
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:57: error: expected )' before 'CS' D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:59: error: expected )' before 'CS'
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:64: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:65: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:65: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:65: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:66: error: 'int16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:66: error: 'int16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:66: error: 'int16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:66: error: 'int16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:66: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:67: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:68: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:68: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:69: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:69: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:70: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:70: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:71: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:71: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:72: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:72: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:72: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:73: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:73: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:74: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:74: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:74: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:74: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:75: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:76: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:76: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:76: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:76: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:77: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:78: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:78: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:78: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:79: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:80: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:80: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:80: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:81: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:83: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:83: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:84: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:84: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:85: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:85: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:86: error: 'uint16_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:86: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:88: error: 'uint8_t' does not name a type
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:89: error: 'uint8_t' does not name a type
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:91: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:91: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:91: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:91: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:92: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:93: error: 'uint8_t' does not name a type
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:96: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:97: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:107: error: 'uint8_t' has not been declared
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:110: error: 'uint8_t' does not name a type
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:111: error: 'uint8_t' does not name a type
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:112: error: 'uint8_t' does not name a type
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:114: error: 'uint8_t' does not name a type
In file included from doudeul4.cpp:2:
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:55: error: redefinition of 'class ST7735'
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:55: error: previous definition of 'class ST7735'
doudeul4:16: error: no matching function for call to 'ST7735::ST7735(int, int, int)'
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:55: note: candidates are: ST7735::ST7735()
D:\Users\Mike\Dropbox\Arduino\arduino-1.0\libraries\ST7735/ST7735.h:55: note: ST7735::ST7735(const ST7735&)

Thanks

amazing work! Congrats and thanks for sharing.

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