Gamebuino META - Hardware docs (CPU, video chip, etc.)

Development

dreamer3

9 months ago

I wanted to compile a list of all the technical documentation/resources to anyone wanting to hack on the core library or really push the hardware to it's limits:

CPU: ARM Cortex m0+ / Amtel ATSAMD21???

I put the ??? because I"m not sure of the exact hardware variant chip we're using - but I'm also not sure it matters (as long as it's not the L variant, which has different Atmel reference docs).

Video: ST7735

The ST7735 is a single-chip controller/driver for 262K-color, graphic type TFT-LCD. 

  • http://www.displayfuture.com/Display/datasheet/controller/ST7735.pdf (2.1mb)
  • VSYNC is not connected - Rodot: TDLR: We don't have VSYNC but it's not a problem. (https://gamebuino.com/community/topic/will-vsync-from-the-display-controller-be-connected-to-the-mcu)
  • Interface is 3 or 4 line serial over SPI, which means write-only. You can't read the VRAM on the chip.
  • Regardless of the API video mode (80x64, 160x128, RGB or indexed etc) chosen the core library internally drives the chip using the RGB565 (16 bit) data transfer mode, allowing 65k potential colors.  When using indexed color the conversion is done on the fly as the data is sent to the video hardware.
  • The chip also supports 12-bit and 18-bit color data transfer modes.  I'm not sure why you'd ever need 18 but 12 could prove useful if anyone wanted to really push the frame rate. (reduces the data you have to push over SPI by 25%).  Note: It should be pretty easy to test benefits here by just modifying the library to downsample 16 bit to 12bit before it sends it over the wire - to test the potential gains. [12 bit is only 4,096 colors]
  • For libraries to bridge simpler platforms with reduced/lesser graphics requirements (Arduboy, black and white, etc.) faster frame rates should be easily possible.  (by using 12-bit mode and only pushing the relevant part of the screen 60+ FPS should easily be possible)

Buttons

The 8 hardware button/switches are directly wired over the SPI bus (CS pin=25).  You transmit a byte and then the byte you receive in response is the real-time button state (one bit per button).

---

So far this is all I've got.  I could zip everything up but I'm not sure about the attachment limits here.  When I work on a project like this I typically download all the PDFs once into a local folder so I have them handy for easy access.

If I've gotten any of the links or details wrong, please let me know.  This is more for people who want to hack on the core library or push the hardware to it's limits - or do crazy things.  You probably don't need to know any of this to write a basic app using the Gamebuino API.  

Though I do think the ST7735 reference might still be useful for people wanting to do slightly non-standard things with the graphics hardware.

BitMachine

NEW 9 months ago

Exactly what I was looking for. Thank you!

dreamer3

9 months ago

No problem.  This is everything that I wish had been in one place when I first discovered the META, so glad to know it's useful to others.

dreamer3

NEW 9 months ago

BitMachine BitMachine

No problem.  This is everything that I wish had been in one place when I first discovered the META, so glad to know it's useful to others.

BitMachine

NEW 8 months ago

I'm wondering why they decided to go with ATSAMD21(Arduino Zero) instaed of ATSAM3X8E(Arduino Due)?

48 vs 84 MHz
32 vs 96 SRAM

256 vs 512 Flash


I imagine that the Due will run better in full resolution(160x128) then the Zero. 160x128 is really close to the game boy's 160x144 resolution and 3xSRAM will give more space for cool graphics.

Any idea? Maybe cost?!

DFX2KX

8 months ago

cost, basically, and Programming on a limited RAM budget builds good programming habits.

Though now that you've made me aware of that chip, I'm going to eye it for backpack graphics accelerator possibilities.

DFX2KX

NEW 8 months ago

BitMachine BitMachine

cost, basically, and Programming on a limited RAM budget builds good programming habits.

Though now that you've made me aware of that chip, I'm going to eye it for backpack graphics accelerator possibilities.

Aurélien Rodot

NEW 8 months ago

The DUE chip is super expensive and Arduino gave up on it a while ago, to focus on the Zero. The first prototypes of the Gamebuino META were named Gamebuino DUE... guess why. Today you'd be better off using a Raspberry Pi Zero instead.

BitMachine

8 months ago

Thank you for taking the time to answer my question. I checked the prices and you are right. In farnell.com ATSAM3X8E is €6,97 vs €2,20 for ATSAMD21(100+).

I agree with DFX2KX that the limited RAM will be fun. I just hope that the full screen resolution mode will be useful.

I really like what I have seen so far.


BitMachine

NEW 8 months ago

Aurélien Rodot Aurélien Rodot

Thank you for taking the time to answer my question. I checked the prices and you are right. In farnell.com ATSAM3X8E is €6,97 vs €2,20 for ATSAMD21(100+).

I agree with DFX2KX that the limited RAM will be fun. I just hope that the full screen resolution mode will be useful.

I really like what I have seen so far.


DFX2KX

NEW 8 months ago

7 euros? youch. indeed, that's approaching low-end android/linux SoC territory.

I agree with DFX2KX that the limited RAM will be fun. I just hope that the full screen resolution mode will be useful.

Well, depending on the day you ask me, it's either fun or infuriating. :D. There is a certain beauty about wondering where you can optimize individual bits here and there. Given the amount of ram on tap with the META, I think most of us will have to go out or our way to push the hardware if we want to run up against that RAM limitation.

That said, that's exactly what people did with the classic from the moment we got our hands on them.

You must be logged in in order to post a message on the forum

Log in