All Projects → wuhanstudio → u8g2-arm-linux

wuhanstudio / u8g2-arm-linux

Licence: other
U8g2 for arm linux - a monochrome graphics library

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to u8g2-arm-linux

tinyfont
Text library for TinyGo displays
Stars: ✭ 37 (+0%)
Mutual labels:  arm, i2c, spi
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+24408.11%)
Mutual labels:  arm, i2c, spi
Ch341 Store
Documents and Software Related to the famous CH341a used in I2C/SPI Flash Programmers also called as Bios Programmers
Stars: ✭ 225 (+508.11%)
Mutual labels:  i2c, spi
Sniffrom
A tool for passive data capture and reconnaissance of serial flash chips. It is used in conjunction with a Saleae logic analyzer to reconstruct flash memory contents and extract contextual information about device operations.
Stars: ✭ 234 (+532.43%)
Mutual labels:  i2c, spi
awesome-embedded-swift
⚡️🛠🧰 A curated list for Embedded and Low-Level development in the Swift programming language.
Stars: ✭ 57 (+54.05%)
Mutual labels:  i2c, spi
Nf Interpreter
⚙️ nanoFramework Interpreter, CLR, HAL, PAL and reference target boards
Stars: ✭ 168 (+354.05%)
Mutual labels:  i2c, spi
Diozero
Java Device I/O library that is portable across Single Board Computers. Tested with Raspberry Pi, Odroid C2, BeagleBone Black, Next Thing CHIP, Asus Tinker Board and Arduinos. Supports GPIO, I2C, SPI as well as Serial communication. Also known to work with Udoo Quad.
Stars: ✭ 167 (+351.35%)
Mutual labels:  i2c, spi
Drivers
TinyGo drivers for sensors and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
Stars: ✭ 250 (+575.68%)
Mutual labels:  i2c, spi
Powershell Iot
Interact with I2C, SPI & GPIO devices using PowerShell Core!
Stars: ✭ 106 (+186.49%)
Mutual labels:  i2c, spi
rpi
Microcontroller projects (RPi, Arduino, ATTiny85, ESP, Pico, STM8/32)
Stars: ✭ 76 (+105.41%)
Mutual labels:  i2c, spi
arduino-bme280
💧 Arduino library for Bosch Sensortec BME280 – combined temperature, pressure, humidity sensor. The library allows using the sensor over I2C or SPI on any board that supports Arduino.
Stars: ✭ 25 (-32.43%)
Mutual labels:  i2c, spi
BME680
Arduino Library to access the Bosch BME680 - temperature, pressure, humidity and gas sensor
Stars: ✭ 30 (-18.92%)
Mutual labels:  i2c, spi
Ofxgpio
Library C++ for raspberrypi and orangepi, GPIO interfaces compatible with openframeworks.
Stars: ✭ 155 (+318.92%)
Mutual labels:  i2c, spi
Periph
Go·Hardware·Lean
Stars: ✭ 1,700 (+4494.59%)
Mutual labels:  i2c, spi
Johnny Five
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Stars: ✭ 12,498 (+33678.38%)
Mutual labels:  i2c, spi
Esp32 Mpu Driver
ESP32 full library for all MPU6000 MPU6050 MPU6500 MPU9150 MPU9250 with SPI and I2C support and more.
Stars: ✭ 111 (+200%)
Mutual labels:  i2c, spi
Gopi
Raspberry Pi Go Language Interface
Stars: ✭ 82 (+121.62%)
Mutual labels:  i2c, spi
Esp8266 Oled Ssd1306
Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32
Stars: ✭ 1,590 (+4197.3%)
Mutual labels:  i2c, spi
io
Go drivers for pheripheral I/O on Linux.
Stars: ✭ 20 (-45.95%)
Mutual labels:  i2c, spi
SerialTransfer
Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, or SPI
Stars: ✭ 273 (+637.84%)
Mutual labels:  i2c, spi

U8g2 for arm-linux

CircleCI

Quick Start

$ cd u8g2-arm-linux
$ make CC=gcc CXX=g++
$ ls bin/

Check wiki here for set-up

Introduction

U8g2 is a monochrome graphics library for embedded devices, and I ported it onto arm linux.

It should work fine on virtually all devices running linux with i2c, spi support, since no libraries pertaining to specific platforms has been used, yet you need to choose right compilers for your devices.

Todo list

[●] Hardware I2C
[●] Hardware SPI
[●] Software I2C
[●] Software SPI
[●] 8080 mode
[●] Add C++ wrapper
[●] Faster GPIO by tracking fd
[●] Better build system
[●] Upstream the port
[  ] Replace sysfs with gpiod
[  ] Benchmark

Gallery

Nanopi
http://wiki.friendlyarm.com/wiki/index.php/NanoPi

Nanopi


Nanopi

Nanopi NEO
http://wiki.friendlyarm.com/wiki/index.php/NanoPi_NEO

Nanopi-Neo

Raspberry Pi ZERO
https://www.raspberrypi.org/products/raspberry-pi-zero/

Raspi-Zero

Raspberry Pi 2 B+
https://www.raspberrypi.org/products/raspberry-pi-2-model-b/

Raspi2-B+

Orange Pi ZERO
http://www.orangepi.org/orangepizero/

orangepi-zero

Lichee Pi NANO
http://nano.lichee.pro/

licheepi-nano

C-SKY
https://c-sky.github.io/docs/gx6605s.html

csky-ck610

How to compile

First, clone this repo:

$ git clone https://github.com/wuhanstudio/u8g2-arm-linux.git

$ cd u8g2-arm-linux

Change cross-compiler in Makefile under each example directory according to your board.

# Chosse proper compiler for your PI
# NanoPi:             arm-linux-gnueabi-gcc
# Raspberry Pi Zero:  arm-linux-gnueabi-gcc

# Raspberry Pi 2:     arm-linux-gnueabihf-gcc
# OrangePi Zero:      arm-linux-gnueabihf-gcc
# NanoPi NEO:         arm-linux-gnueabihf-gcc
# NanoPi NEO Plus 2:  arm-linux-gnueabihf-gcc
# C-SKY:              csky-linux-gcc	
CC = arm-linux-gnueabihf-gcc

For cross-compile:

arm-linux-gnueabi-gcc   for armv6  
arm-linux-gnueabihf-gcc for armv7

For native-compile (compile on your board), simply use:

CC = gcc

Finally, time to compile:

$ make

How to run

Before running, you can check your I2C graphic devices using i2c-tools:

$ sudo apt-get install i2c-tools

List your devices:

$ ls /dev/i2c*
/dev/i2c-0 /dev/i2c-1

Probe your devices on bus 0:

$ i2cdetect -y -r 0


For cross-compile, you can change ip address in Makefile:

# IP Address of your PI	
[email protected]

Then upload generated binary file onto your board:

$ make upload

Related Projects

Contact

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].