All Projects → nopnop2002 → Raspberry-ssd1306

nopnop2002 / Raspberry-ssd1306

Licence: other
ssd1306 Command Line Tool for Raspberry Pi

Programming Languages

c
50402 projects - #5 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Raspberry-ssd1306

NR1-UI
Userinterface for Volumio (RaspberryPi) with ssd1322 and ssd1306 oled display, spectrum bargraph, progress bar, LED functions, Standby-functions, 4 Buttons and Rotary Encoder.
Stars: ✭ 29 (-14.71%)
Mutual labels:  i2c, raspberrypi, spi, oled, ssd1306
Esp8266 Oled Ssd1306
Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32
Stars: ✭ 1,590 (+4576.47%)
Mutual labels:  i2c, spi, ssd1306, sh1106
Raspberrysharp
A .NET/Mono IO Library for Raspberry Pi This library is a complete refactoring of Raspberry-Sharp libraries, merged into one library and updated to RB3, CM3 and RB3+
Stars: ✭ 41 (+20.59%)
Mutual labels:  i2c, raspberrypi, spi
Rppal
A Rust library that provides access to the Raspberry Pi's GPIO, I2C, PWM, SPI and UART peripherals.
Stars: ✭ 463 (+1261.76%)
Mutual labels:  i2c, raspberrypi, spi
Periph
Go·Hardware·Lean
Stars: ✭ 1,700 (+4900%)
Mutual labels:  i2c, spi, ssd1306
io
Go drivers for pheripheral I/O on Linux.
Stars: ✭ 20 (-41.18%)
Mutual labels:  i2c, spi
MPU-9250-Sensors-Data-Collect
MPU9250 (MPU6500 + AK8963) I2C Driver in Python for Raspbery PI
Stars: ✭ 51 (+50%)
Mutual labels:  i2c, raspberrypi
ssd1306-esp-idf-i2c
Sample code for driving 128x64 OLED display (SSD1306 driver) via ESP-IDF's I2C master driver
Stars: ✭ 93 (+173.53%)
Mutual labels:  i2c, ssd1306
embedded-sht
Embedded SHT Drivers for Sensirion Temperature and Humidity Sensors - Download the Zip Package from the Release Page
Stars: ✭ 53 (+55.88%)
Mutual labels:  i2c, raspberrypi
Drivers
TinyGo drivers for sensors and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.
Stars: ✭ 250 (+635.29%)
Mutual labels:  i2c, spi
rpi
Microcontroller projects (RPi, Arduino, ATTiny85, ESP, Pico, STM8/32)
Stars: ✭ 76 (+123.53%)
Mutual labels:  i2c, spi
esp-01-WiFi-Scanner-ESP-01-OLED-I2C-Display
Scanner WiFi avec écran OLED I2C (SSD1306) sur un ESP-01 (ESP8266)
Stars: ✭ 21 (-38.24%)
Mutual labels:  i2c, ssd1306
awesome-embedded-swift
⚡️🛠🧰 A curated list for Embedded and Low-Level development in the Swift programming language.
Stars: ✭ 57 (+67.65%)
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 (-26.47%)
Mutual labels:  i2c, spi
ninjaberry
Ninjaberry: Raspberry Pi UI for @bettercap
Stars: ✭ 39 (+14.71%)
Mutual labels:  raspberrypi, oled
BME680
Arduino Library to access the Bosch BME680 - temperature, pressure, humidity and gas sensor
Stars: ✭ 30 (-11.76%)
Mutual labels:  i2c, spi
gfx demo
GFX Demo for Arduino and the ESP-IDF
Stars: ✭ 63 (+85.29%)
Mutual labels:  i2c, spi
SerialTransfer
Arduino library to transfer dynamic, packetized data fast and reliably via Serial, I2C, or SPI
Stars: ✭ 273 (+702.94%)
Mutual labels:  i2c, spi
esp8266-oled-ssd1306-font-creator
Font creator for the esp8266-oled-ssd1306 library
Stars: ✭ 22 (-35.29%)
Mutual labels:  oled, ssd1306
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (+17.65%)
Mutual labels:  i2c, spi

Raspberry-ssd1306

ssd1306 Command Line Tool for RaspberryPi.
This may works with other boards like OrangePi/NanoPi.

You can operate from command line.
You can choose Hardware-SPI/Software-SPI/I2C Interface.

Software requirement

  • WiringPi Library
    This project uses the wiringPiSetup() function to initialize GPIOs.
    If you use it on a board other than the RPI board, you may need to change the WiringPi number.
    As far as I know, there are these libraries.
    • WiringPi for OrangePi
    • WiringPi for BananaPi
    • WiringPi for NanoPi
    • WiringPi for Pine-64

Command line parameters

+1 String : String for #1 line(with External Font)
+2 String : String for #2 line(with External Font)
+3 String : String for #3 line(with External Font)
+4 String : String for #4 line(with External Font)
+a String : String for #1 line(with Internal Font)
+b String : String for #2 line(with Internal Font)
+c String : String for #3 line(with Internal Font)
+d String : String for #4 line(with Internal Font)
-1 : delete #1 line
-2 : delete #2 line
-3 : delete #3 line
-4 : delete #4 line
+R n : Set inverse mode #n Line
-R n : Unset inverse mode #n Line
+U n : Set underline mode #n Line
-U n : Unset underline mode #n Line
+L : Scroll Up 1Line
-L : Scroll Down 1Line
P1 n : Set start colum n to line#1
P2 n : Set start colum n to line#2
P3 n : Set start colum n to line#3
P4 n : Set start colum n to line#4
r : remove all string
s : show display

You can use within script.
#!/bin/bash
./oled r
./oled +1 "ABCDEFG"
./oled +2 "abcdefg"
./oled +3 "1234567"
./oled +4 "Hello World!!"
sudo ./oled s


Wire connection for Hardware SPI

OLED RPi Pin# WiringPi#
Gnd -- Gnd
VCC -- 3.3V
D0 -- SCLK #23
D1 -- MOSI #19
RES -- GPIO18 #12 1(*)
DC -- GPIO17 #11 0(*)
CS -- CS0 #24

(*)You can change to another pin.
#define RST 1 // You can change
#define DC 0 // You can change


Wire connection for Software SPI

OLED RPi Pin# WiringPi#
Gnd -- Gnd
VCC -- 3.3V
D0 -- SCLK #23 14(*)
D1 -- MOSI #19 12(*)
RES -- GPIO18 #12 1(*)
DC -- GPIO17 #11 0(*)
CS -- CS0 #24 10(*)

(*)You can change to another pin.
#define MOSI 12 // You can change
#define SCLK 14 // You can change
#define RST 1 // You can change
#define DC 0 // You can change
#define CS 10 // You can change


Wire connection for I2C

OLED RPi Pin#
Gnd -- Gnd
VCC -- 3.3V
SCK -- SCL #5
SDA -- SDA #3

Install SSD1306 for Hardware SPI (128x64)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DSPI
bash ./test.sh

OLED-128x64


Install SSD1306 for Hardware SPI (128x32)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DSPI -DX32

The number of lines which can be indicated is only 2 lines.
OLED-128x32


Install SH1106 for Hardware SPI (128x64)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DSPI -DOFFSET=2
bash ./test.sh

Left:1.3 inch SH1106
Right:0.96 inch SSD1306
OLED-SH1106


Install SSD1306 for Software SPI (128x64)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DSOFT_SPI
bash ./test.sh

Install SSD1306 for Software SPI (128x32)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DSOFT_SPI -DX32

Install SH1106 for Software SPI (128x64)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DSOFT_SPI -DOFFSET=2
bash ./test.sh

Install SSD1306 for I2C (128x64)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DI2C
bash ./test.sh

OLED-1


Install SSD1306 for I2C (128x32)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DI2C -DX32

The number of lines which can be indicated is only 2 lines.
oled-3


Install SH1106 for I2C (128x64)

git clone https://github.com/nopnop2002/Raspberry-ssd1306
cd Raspberry-ssd1306
cc -o oled oled.c fontx.c -lwiringPi -lpthread -DI2C -DOFFSET=2
bash ./test.sh

Left:1.3 inch SH1106
Right:0.96 inch SSD1306
OLED-SH1106


Change font style

You can choose the font style.
Please change here.

  // You can change font file
  Fontx_init(fx,"./fontx/ILGH16XB.FNT","./fontx/ILGZ16XB.FNT"); // 16Dot Gothic
//  Fontx_init(fx,"./fontx/ILMH16XB.FNT","./fontx/ILMZ16XB.FNT"); // 16Dot Mincyo

Font File

You can add your original fonts.
The format of the font file is the FONTX format.
Your font file is put in fontx directory.

Please refer this page about FONTX format.


Font File Editor(FONTX Editor)

There is a font file editor.
This can be done on Windows 10.
Developer page is here.

FontxEditor

This tool uses the following as default fonts:

  • fontx/ILGH16XB.FNT // 8x16Dot Gothic
  • fontx/ILMH16XB.FNT // 8x16Dot Mincyo

Changing this file will change the font.


Left : OrangePi + SPI Module
Right : RaspberryPi + I2C Module
oled-2


OLED-1

OLED-2

Line1-2 : External Font
Line3-4 : Internal Font
OLED-4

Underline and Invert
OLED-5

Set start colum
OLED-6

OLED-7


RaspberryPi ZERO HAT + OLED
RaspberryPi-ZERO

OrangePi ZERO HAT + OLED
zero-hat-7

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].