Git Product home page Git Product logo

ft81x_arduino_driver's Introduction

FT81x Arduino Driver

build-badge docs-badge

High quality display module for many Arduino project ideas!

Hardware

Hardware

Schematics, KiCad files and Gerber files can be found inside the hardware folder in this repository.

The board is compatible with this display.

The complete hardware is available for sale on Tindie.

Highlights

  • 4 inch 480x480 pixel TFT display
  • up to 24 bit color support
  • 19 built-in fonts
  • built-in widgets (e.g. buttons, gauges, clock)
  • hardware support for JPEG and PNG
  • built-in sound effects (audio circuitry required)
  • bitmap support with 1 MByte graphics RAM
  • open source Arduino library with many example sketches
  • compatible with 3.3V and 5V logic levels

Supported Boards

The hardware and software has been tested with the following boards:

  • ✔️ Arduino Uno (ATmega328P)
  • ✔️ Arduino Nano (ATmega328)
  • ✔️ Arduino Nano Every (ATMega4809)
  • ✔️ Arduino Due (AT91SAM3X8E)
  • ✔️ NodeMCU-32S (ESP32)
  • ✔️ Teensy 4.0 (ARM Cortex M7)

If your board is missing and has full Arduino support chances are that it's fully supported by this library, too.

If you have tested additional boards (successfully or unsuccessfully) feel free to contact me or open an issue.

Features

[x] Line [x] Circle [x] Rectangle
[x] Gradient [x] Text [x] Bitmap images
[x] Animated spinner [x] Sound effects [x] Buttons
[x] Analog clock [x] Gauge [x] Line strip
[x] JPEG support [x] PNG support [x] Scrollbar
[x] Audio playback [x] Progress bar [ ] Custom fonts
[ ] Dial [ ] Toggle [ ] Video playback
[ ] Keys

Usage

#include "FT81x.h"

FT81x ft81x = FT81x(10, 9, 8);

void setup() {
    SPI.begin();
    ft81x.begin();

    ft81x.beginDisplayList();
    ft81x.clear(FT81x_COLOR_RGB(0, 0, 0));
    ft81x.drawText(240, 200, 31, FT81x_COLOR_RGB(255, 255, 255), FT81x_OPT_CENTER, "Hello World\0");
    ft81x.swapScreen();
}

For more information see the numerous example sketches as well as the API Documentation.

Getting Started

For more information on how to get started with the display driver board, please refer to the Getting Started Guide.

License Summary

Software

MIT License

Hardware

The hardware is licensed under CERN-OHL-S v2.

oshwa-mark

ft81x_arduino_driver's People

Contributors

bcorwen avatar blazer82 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ft81x_arduino_driver's Issues

Image.ino

Hello Raphael.
Would you please tell me how did you get array of image data in const uint8_t jpegData[] PROGMEM = {...};
Is there any program for convert jpeg/png images to array?

Best regards,
Sergey

Unable to draw rectangle

Hello blazer82,

I've built my own FT81x driver board, following your excellent design, and have got the display up and running with some of the examples from your library.

However, in starting to draw my own screens, I find that the rectangles are not displaying at all.

For example:
ft81x.drawCircle(20,20,4,FT81x_COLOR_RGB(255, 0, 0)); will draw successfully, but
ft81x.drawRect(20,20,4,4,0,FT81x_COLOR_RGB(255, 0, 0)); will not display anything.

Is there a known error in the rectangle drawing routine? It appears to correctly follow the FT81x programming guide. Could this be a fault with the driver chip or hardware fault?

bcorwen

No CS1, CS2 and DC pin

there is no CS1, CS2 and DC pin on BT 81X , there only have SCK, MISO, MOSI ,CS pin etc . how to do?

Wrong constant define: FT81x_BITMAP_LAYOUT_ARGB1555 should be 0x00, not 0x01.

Line 156 of FT81x_Arduino_Driver/src /FT81x.h is:

#define FT81x_BITMAP_LAYOUT_ARGB1555 0x1  ///< Bitmap pixel format ARGB1555

but it should be (from FT81x programming manual):

#define FT81x_BITMAP_LAYOUT_ARGB1555 0x0 

With this definition is possible to copy-paste-modify the drawBitmap function and obtain a routine with the 1-bit alpha display (quick and dirty way, but works), changing the bitmap layout command replacing FT81x_BITMAP_LAYOUT_RGB565 with FT81x_BITMAP_LAYOUT_ARGB1555:
like this:

 intermediateCmd(BITMAP_LAYOUT(FT81x_BITMAP_LAYOUT_ARGB1555, (uint32_t)width * 2, (uint32_t)height));  // only supporting one format for now

Best regards,
Dino.

No filled zones on driver board

When I open the .brd file in KiCad 5.0.2, all the filled zones on the board are gone (GND on F.Cu, +3V0 and +5V on B.Cu). The filled zones are present in the Gerbers, maybe our versions of KiCad are incompatible?

Replacements for missing components

Hello! I would like to manufacture the board for myself, but some components are unavailable both in DigiKey and Mouser where I checked. I managed to select components based on the BOM exported from the KiCad project. To stay with what is available, I had to swap some components, in particular the crystal and power ICs. I'm also unsure if there are any passives' characteristics that I need to consider (e.g. I selected everything for 16V max).

Would you be so kind to take a look at my component list and comment on the choices? Here's the link to the details, I also include a screenshot below: https://www.mouser.ca/ProjectManager/ProjectDetail.aspx?AccessID=994f0071b4
components

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.