<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.myows.top/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.18.118.220&amp;*</id>
	<title> - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.myows.top/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=95.18.118.220&amp;*"/>
	<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=Special:Contributions/95.18.118.220"/>
	<updated>2026-05-13T14:45:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.myows.top/index.php?title=Grove_16x2_LCD_Series&amp;diff=1243</id>
		<title>Grove 16x2 LCD Series</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=Grove_16x2_LCD_Series&amp;diff=1243"/>
		<updated>2025-08-25T09:41:49Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grove - 16x2 LCD Series ===&lt;br /&gt;
16 Characters * 2 Lines&amp;lt;br&amp;gt;&lt;br /&gt;
Operating Voltage : 3.3V / 5V&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== images ===&lt;br /&gt;
&lt;br /&gt;
ici on utilise le (White on Blue) V1.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:16x2 LCD White on Blue 01.jpg|400px]] [[File:16x2 LCD White on Blue 02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== liens externes ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.seeedstudio.com/Grove-16x2_LCD_Series http://wiki.seeedstudio.com/Grove-16x2_LCD_Series LCD] wiki Grove-16x2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.seeedstudio.com/Grove-16x2-LCD-White-on-Blue.html https://www.seeedstudio.com/Grove-16x2-LCD-White-on-Blue.html] Shop Grove-16x2_LCD&lt;br /&gt;
&lt;br /&gt;
=== Connectique ===&lt;br /&gt;
interface : &amp;lt;b&amp;gt;I2C&amp;lt;/b&amp;gt;-bus&amp;lt;br&amp;gt;&lt;br /&gt;
I2C Adresse: &amp;#039;&amp;#039;&amp;#039;0X3E&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.myows.top/index.php?title=I2cScanner https://wiki.myows.top/index.php?title=I2cScanner] &amp;lt;b&amp;gt;I2cScanner&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on va chercher l&amp;#039;adresse I2C, on regarde sur l&amp;#039;écran série&lt;br /&gt;
&lt;br /&gt;
Scanning...&lt;br /&gt;
I2C device found at address 0x3E  !&lt;br /&gt;
done&amp;lt;br&amp;gt;&lt;br /&gt;
c&amp;#039;est la même indiqué par le constructeur.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:16x2 LCD White on Blue Connect 01.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Librairie Seed-Studio ===&lt;br /&gt;
install an Arduino library&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.come/Seed-Studio/Grove_LCD_RGB_Backlight https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight] &amp;lt;font = red&amp;gt;Librairie&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/archive/master.zip https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/archive/master.zip] Librairie fichier Zip&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Add Library Zip.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[HelloWorld Grove LCD| HelloWorld Grove LCD.ino]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Seeeduino-nano + port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; + 16x2 LCD White on Blue&amp;lt;br&amp;gt;&lt;br /&gt;
cette combinaison fonctionne avec le code suivant : &lt;br /&gt;
&lt;br /&gt;
[[File:Seeeduino-nano-connect.png|150px]]&lt;br /&gt;
[[File:Pinout Grove Shield Arduino Nano.JPG|150px]]&lt;br /&gt;
[[File:16x2 LCD White on Blue 01.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;quot;rgb_lcd.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    // set up the LCD&amp;#039;s number of columns and rows:&lt;br /&gt;
    lcd.begin(16, 2);&lt;br /&gt;
    &lt;br /&gt;
    //lcd.setRGB(colorR, colorG, colorB);&lt;br /&gt;
    &lt;br /&gt;
    // Print a message to the LCD.&lt;br /&gt;
    lcd.print(&amp;quot;hello, world!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
    // set the cursor to column 0, line 1&lt;br /&gt;
    // (note: line 1 is the second row, since counting begins with 0):&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    // print the number of seconds since reset:&lt;br /&gt;
    lcd.print(millis()/1000);&lt;br /&gt;
&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
ceci ne fonctionne pas ! &amp;amp;otimes; &amp;amp;#127822; avec : &amp;lt;br&amp;gt;&lt;br /&gt;
Seeeduino-nano + &amp;lt;br&amp;gt;&lt;br /&gt;
Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; + &amp;lt;br&amp;gt;&lt;br /&gt;
16x2 LCD White on Blue&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/johnrickman/LiquidCrystal_I2C https://github.com/johnrickman/LiquidCrystal_I2C] Librairy&lt;br /&gt;
&lt;br /&gt;
[https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;LiquidCrystal_I2C.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// I2C address of the LCD (check your specific LCD if it&amp;#039;s different)&lt;br /&gt;
#define LCD_I2C_ADDRESS 0x01&lt;br /&gt;
&lt;br /&gt;
// Define the LCD as an object&lt;br /&gt;
LiquidCrystal_I2C lcd(LCD_I2C_ADDRESS, 16, 2); // 16 columns, 2 rows&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialize the LCD&lt;br /&gt;
  lcd.init();&lt;br /&gt;
  // Turn on the backlight&lt;br /&gt;
  // lcd.backlight();&lt;br /&gt;
  // Optional: Set custom characters if needed&lt;br /&gt;
  // lcd.createChar(0, custom_char_data);&lt;br /&gt;
  // You can use the custom_char_data array from a tool like LCD-Character-Creator (https://maxpromer.github.io/LCD-Character-Creator/)&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Clear the LCD (optional)&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  // Set the cursor to the desired position (column, row)&lt;br /&gt;
  // 0,0 is the top-left corner&lt;br /&gt;
  lcd.setCursor(0, 0); &lt;br /&gt;
  // Print text to the LCD&lt;br /&gt;
  lcd.print(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
  // Optionally, delay for a period&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=Grove_16x2_LCD_Series&amp;diff=1242</id>
		<title>Grove 16x2 LCD Series</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=Grove_16x2_LCD_Series&amp;diff=1242"/>
		<updated>2025-08-24T17:46:32Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grove - 16x2 LCD Series ===&lt;br /&gt;
16 Characters * 2 Lines&amp;lt;br&amp;gt;&lt;br /&gt;
Operating Voltage : 3.3V / 5V&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== images ===&lt;br /&gt;
&lt;br /&gt;
ici on utilise le (White on Blue) V1.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:16x2 LCD White on Blue 01.jpg|400px]] [[File:16x2 LCD White on Blue 02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== liens externes ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.seeedstudio.com/Grove-16x2_LCD_Series http://wiki.seeedstudio.com/Grove-16x2_LCD_Series LCD] wiki Grove-16x2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.seeedstudio.com/Grove-16x2-LCD-White-on-Blue.html https://www.seeedstudio.com/Grove-16x2-LCD-White-on-Blue.html] Shop Grove-16x2_LCD&lt;br /&gt;
&lt;br /&gt;
=== Connectique ===&lt;br /&gt;
interface : &amp;lt;b&amp;gt;I2C&amp;lt;/b&amp;gt;-bus&amp;lt;br&amp;gt;&lt;br /&gt;
I2C Adresse: &amp;#039;&amp;#039;&amp;#039;0X3E&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.myows.top/index.php?title=I2cScanner https://wiki.myows.top/index.php?title=I2cScanner] &amp;lt;b&amp;gt;I2cScanner&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on va chercher l&amp;#039;adresse I2C, on regarde sur l&amp;#039;écran série&lt;br /&gt;
&lt;br /&gt;
Scanning...&lt;br /&gt;
I2C device found at address 0x3E  !&lt;br /&gt;
done&amp;lt;br&amp;gt;&lt;br /&gt;
c&amp;#039;est la même indiqué par le constructeur.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:16x2 LCD White on Blue Connect 01.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Librairie Seed-Studio ===&lt;br /&gt;
install an Arduino library&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.come/Seed-Studio/Grove_LCD_RGB_Backlight https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight] &amp;lt;font = red&amp;gt;Librairie&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/archive/master.zip https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/archive/master.zip] Librairie fichier Zip&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Add Library Zip.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[HelloWorld Grove LCD| HelloWorld Grove LCD.ino]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Seeeduino-nano + port I2c + 16x2 LCD White on Blue&amp;lt;br&amp;gt;&lt;br /&gt;
cette combinaison fonctionne avec le code suivant : &lt;br /&gt;
&lt;br /&gt;
[[File:Seeeduino-nano-connect.png|150px]]&lt;br /&gt;
[[File:Pinout Grove Shield Arduino Nano.JPG|150px]]&lt;br /&gt;
[[File:16x2 LCD White on Blue 01.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;quot;rgb_lcd.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    // set up the LCD&amp;#039;s number of columns and rows:&lt;br /&gt;
    lcd.begin(16, 2);&lt;br /&gt;
    &lt;br /&gt;
    //lcd.setRGB(colorR, colorG, colorB);&lt;br /&gt;
    &lt;br /&gt;
    // Print a message to the LCD.&lt;br /&gt;
    lcd.print(&amp;quot;hello, world!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
    // set the cursor to column 0, line 1&lt;br /&gt;
    // (note: line 1 is the second row, since counting begins with 0):&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    // print the number of seconds since reset:&lt;br /&gt;
    lcd.print(millis()/1000);&lt;br /&gt;
&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
ceci ne fonctionne pas ! &amp;amp;otimes; &amp;amp;#127822; avec : &amp;lt;br&amp;gt;&lt;br /&gt;
Seeeduino-nano + &amp;lt;br&amp;gt;&lt;br /&gt;
Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; + &amp;lt;br&amp;gt;&lt;br /&gt;
16x2 LCD White on Blue&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/johnrickman/LiquidCrystal_I2C https://github.com/johnrickman/LiquidCrystal_I2C] Librairy&lt;br /&gt;
&lt;br /&gt;
[https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;LiquidCrystal_I2C.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// I2C address of the LCD (check your specific LCD if it&amp;#039;s different)&lt;br /&gt;
#define LCD_I2C_ADDRESS 0x01&lt;br /&gt;
&lt;br /&gt;
// Define the LCD as an object&lt;br /&gt;
LiquidCrystal_I2C lcd(LCD_I2C_ADDRESS, 16, 2); // 16 columns, 2 rows&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialize the LCD&lt;br /&gt;
  lcd.init();&lt;br /&gt;
  // Turn on the backlight&lt;br /&gt;
  // lcd.backlight();&lt;br /&gt;
  // Optional: Set custom characters if needed&lt;br /&gt;
  // lcd.createChar(0, custom_char_data);&lt;br /&gt;
  // You can use the custom_char_data array from a tool like LCD-Character-Creator (https://maxpromer.github.io/LCD-Character-Creator/)&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Clear the LCD (optional)&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  // Set the cursor to the desired position (column, row)&lt;br /&gt;
  // 0,0 is the top-left corner&lt;br /&gt;
  lcd.setCursor(0, 0); &lt;br /&gt;
  // Print text to the LCD&lt;br /&gt;
  lcd.print(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
  // Optionally, delay for a period&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=Grove_16x2_LCD_Series&amp;diff=1241</id>
		<title>Grove 16x2 LCD Series</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=Grove_16x2_LCD_Series&amp;diff=1241"/>
		<updated>2025-08-24T17:41:59Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Grove - 16x2 LCD Series ===&lt;br /&gt;
16 Characters * 2 Lines&amp;lt;br&amp;gt;&lt;br /&gt;
Operating Voltage : 3.3V / 5V&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== images ===&lt;br /&gt;
&lt;br /&gt;
ici on utilise le (White on Blue) V1.0&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:16x2 LCD White on Blue 01.jpg|400px]] [[File:16x2 LCD White on Blue 02.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
=== liens externes ===&lt;br /&gt;
&lt;br /&gt;
[http://wiki.seeedstudio.com/Grove-16x2_LCD_Series http://wiki.seeedstudio.com/Grove-16x2_LCD_Series LCD] wiki Grove-16x2&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.seeedstudio.com/Grove-16x2-LCD-White-on-Blue.html https://www.seeedstudio.com/Grove-16x2-LCD-White-on-Blue.html] Shop Grove-16x2_LCD&lt;br /&gt;
&lt;br /&gt;
=== Connectique ===&lt;br /&gt;
interface : &amp;lt;b&amp;gt;I2C&amp;lt;/b&amp;gt;-bus&amp;lt;br&amp;gt;&lt;br /&gt;
I2C Adresse: &amp;#039;&amp;#039;&amp;#039;0X3E&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.myows.top/index.php?title=I2cScanner https://wiki.myows.top/index.php?title=I2cScanner] &amp;lt;b&amp;gt;I2cScanner&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
on va chercher l&amp;#039;adresse I2C, on regarde sur l&amp;#039;écran série&lt;br /&gt;
&lt;br /&gt;
Scanning...&lt;br /&gt;
I2C device found at address 0x3E  !&lt;br /&gt;
done&amp;lt;br&amp;gt;&lt;br /&gt;
c&amp;#039;est la même indiqué par le constructeur.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:16x2 LCD White on Blue Connect 01.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
=== Librairie Seed-Studio ===&lt;br /&gt;
install an Arduino library&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.come/Seed-Studio/Grove_LCD_RGB_Backlight https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight] &amp;lt;font = red&amp;gt;Librairie&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/archive/master.zip https://github.com/Seeed-Studio/Grove_LCD_RGB_Backlight/archive/master.zip] Librairie fichier Zip&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Add Library Zip.png|400px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[HelloWorld Grove LCD| HelloWorld Grove LCD.ino]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Seeeduino-nano + port I2c + 16x2 LCD White on Blue&amp;lt;br&amp;gt;&lt;br /&gt;
cette combinaison fonctionne avec le code suivant : &lt;br /&gt;
&lt;br /&gt;
[[File:Seeeduino-nano-connect.png|150px]]&lt;br /&gt;
[[File:Pinout Grove Shield Arduino Nano.JPG|150px]]&lt;br /&gt;
[[File:16x2 LCD White on Blue 01.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
#include &amp;quot;rgb_lcd.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
rgb_lcd lcd;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
const int colorR = 255;&lt;br /&gt;
const int colorG = 0;&lt;br /&gt;
const int colorB = 0;&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{&lt;br /&gt;
    // set up the LCD&amp;#039;s number of columns and rows:&lt;br /&gt;
    lcd.begin(16, 2);&lt;br /&gt;
    &lt;br /&gt;
    //lcd.setRGB(colorR, colorG, colorB);&lt;br /&gt;
    &lt;br /&gt;
    // Print a message to the LCD.&lt;br /&gt;
    lcd.print(&amp;quot;hello, world!&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
    // set the cursor to column 0, line 1&lt;br /&gt;
    // (note: line 1 is the second row, since counting begins with 0):&lt;br /&gt;
    lcd.setCursor(0, 1);&lt;br /&gt;
    // print the number of seconds since reset:&lt;br /&gt;
    lcd.print(millis()/1000);&lt;br /&gt;
&lt;br /&gt;
    delay(100);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
ceci ne fonctionne pas ! &amp;amp;otimes; &amp;amp;#127822; avec : &amp;lt;br&amp;gt;&lt;br /&gt;
Seeeduino-nano + &amp;lt;br&amp;gt;&lt;br /&gt;
Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; + &lt;br /&gt;
16x2 LCD White on Blue&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/johnrickman/LiquidCrystal_I2C https://github.com/johnrickman/LiquidCrystal_I2C] Librairy&lt;br /&gt;
&lt;br /&gt;
[https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c https://www.arduinolibraries.info/libraries/liquid-crystal-i2-c]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;LiquidCrystal_I2C.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// I2C address of the LCD (check your specific LCD if it&amp;#039;s different)&lt;br /&gt;
#define LCD_I2C_ADDRESS 0x01&lt;br /&gt;
&lt;br /&gt;
// Define the LCD as an object&lt;br /&gt;
LiquidCrystal_I2C lcd(LCD_I2C_ADDRESS, 16, 2); // 16 columns, 2 rows&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  // Initialize the LCD&lt;br /&gt;
  lcd.init();&lt;br /&gt;
  // Turn on the backlight&lt;br /&gt;
  // lcd.backlight();&lt;br /&gt;
  // Optional: Set custom characters if needed&lt;br /&gt;
  // lcd.createChar(0, custom_char_data);&lt;br /&gt;
  // You can use the custom_char_data array from a tool like LCD-Character-Creator (https://maxpromer.github.io/LCD-Character-Creator/)&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  // Clear the LCD (optional)&lt;br /&gt;
  lcd.clear();&lt;br /&gt;
  // Set the cursor to the desired position (column, row)&lt;br /&gt;
  // 0,0 is the top-left corner&lt;br /&gt;
  lcd.setCursor(0, 0); &lt;br /&gt;
  // Print text to the LCD&lt;br /&gt;
  lcd.print(&amp;quot;Hello, World!&amp;quot;);&lt;br /&gt;
  // Optionally, delay for a period&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1240</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1240"/>
		<updated>2025-08-22T15:26:46Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1239</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1239"/>
		<updated>2025-08-22T15:25:18Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1238</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1238"/>
		<updated>2025-08-22T15:24:11Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1237</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1237"/>
		<updated>2025-08-22T15:23:09Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* U8g2 for Seeeduino boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1236</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1236"/>
		<updated>2025-08-22T15:22:15Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* U8g2 for Seeeduino boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1235</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1235"/>
		<updated>2025-08-22T15:21:53Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* U8g2 for Seeeduino boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/ &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1234</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1234"/>
		<updated>2025-08-22T15:20:25Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1233</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1233"/>
		<updated>2025-08-22T15:19:54Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-RA4M1 &amp;lt;br&amp;gt;&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
(Pilote SH1107G) (128 × 128 pixels) &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1232</id>
		<title>XIAO-ESP32S3</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1232"/>
		<updated>2025-08-22T15:09:52Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Internet_Clock [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-ESP32S3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|250px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 2.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 Front.PNG|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:XIAO-ESP32S3 Onboard.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 1.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 2.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to Tools &amp;gt; Board &amp;gt; Boards Manager..., type the keyword &amp;lt;b&amp;gt;esp32&amp;lt;/b&amp;gt; in the search box, select the latest version of esp32, and install it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 3.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
search for xiao in the development board on the left. select &amp;lt;b&amp;gt;XIAO_ESP32S3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 4.PNG|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 5.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
[https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html] &amp;lt;font color=red&amp;gt;shop&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.seeedstudio.com/xiao_esp32s3_getting_started https://wiki.seeedstudio.com/xiao_esp32s3_getting_started] &amp;lt;font color=red&amp;gt;wiki&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hello World! [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED-Display-0-96-SSD1315.png|175px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3 &amp;lt;br&amp;gt;&lt;br /&gt;
OLED-Display-0-96-SSD1315  - Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8x8lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8x8.begin();&lt;br /&gt;
  u8x8.setFlipMode(1);   // set number from 1 to 3, the screen word will rotary 180&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8x8.setFont(u8x8_font_chroma48medium8_r);&lt;br /&gt;
  u8x8.setCursor(0, 0);&lt;br /&gt;
  u8x8.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Internet_Clock [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3 &amp;lt;br&amp;gt;&lt;br /&gt;
OLED Display 1.12 - Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Internet_Clock-XIAO-OLED_Display_1.12| Internet_Clock-XIAO-OLED_Display_1.12]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sur l&amp;#039;écran série on a l&amp;#039;heure, mais que du texte sur l&amp;#039;OLED&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// change next line to use with another board/shield&lt;br /&gt;
// #include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
// #include &amp;lt;WiFi101.h&amp;gt; // for WiFi 101 shield or MKR1000&lt;br /&gt;
// #include &amp;lt;WiFi.h&amp;gt; // for WiFi shield&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const char *ssid     = &amp;quot;&amp;lt;SSID&amp;gt;&amp;quot;;&lt;br /&gt;
const char *password = &amp;quot;&amp;lt;PASSWORD&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
&lt;br /&gt;
// You can specify the time server pool and the offset (in seconds, can be&lt;br /&gt;
// changed later with setTimeOffset() ). Additionally you can specify the&lt;br /&gt;
// update interval (in milliseconds, can be changed using setUpdateInterval() ).&lt;br /&gt;
&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;europe.pool.ntp.org&amp;quot;, 3600, 60000);&lt;br /&gt;
&lt;br /&gt;
// Initialize OLED display &lt;br /&gt;
U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  while ( WiFi.status() != WL_CONNECTED ) {&lt;br /&gt;
    delay ( 500 );&lt;br /&gt;
    Serial.print ( &amp;quot;.&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update();&lt;br /&gt;
  Serial.println(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  u8g2.firstPage();&lt;br /&gt;
  do {&lt;br /&gt;
    u8g2.setFont(u8g2_font_ncenB18_tr);&lt;br /&gt;
&lt;br /&gt;
    u8g2.setCursor(0, 64);&lt;br /&gt;
    u8g2.print(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  } while ( u8g2.nextPage() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Send the buffer to the display&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1231</id>
		<title>XIAO-ESP32S3</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1231"/>
		<updated>2025-08-22T15:06:31Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Internet_Clock [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-ESP32S3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|250px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 2.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 Front.PNG|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:XIAO-ESP32S3 Onboard.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 1.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 2.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to Tools &amp;gt; Board &amp;gt; Boards Manager..., type the keyword &amp;lt;b&amp;gt;esp32&amp;lt;/b&amp;gt; in the search box, select the latest version of esp32, and install it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 3.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
search for xiao in the development board on the left. select &amp;lt;b&amp;gt;XIAO_ESP32S3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 4.PNG|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 5.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
[https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html] &amp;lt;font color=red&amp;gt;shop&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.seeedstudio.com/xiao_esp32s3_getting_started https://wiki.seeedstudio.com/xiao_esp32s3_getting_started] &amp;lt;font color=red&amp;gt;wiki&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hello World! [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED-Display-0-96-SSD1315.png|175px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3 &amp;lt;br&amp;gt;&lt;br /&gt;
OLED-Display-0-96-SSD1315  - Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8x8lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8x8.begin();&lt;br /&gt;
  u8x8.setFlipMode(1);   // set number from 1 to 3, the screen word will rotary 180&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8x8.setFont(u8x8_font_chroma48medium8_r);&lt;br /&gt;
  u8x8.setCursor(0, 0);&lt;br /&gt;
  u8x8.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Internet_Clock [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3 &amp;lt;br&amp;gt;&lt;br /&gt;
OLED-Display-0-96 - Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Internet_Clock-XIAO-OLED_Display_1.12| Internet_Clock-XIAO-OLED_Display_1.12]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sur l&amp;#039;écran série on a l&amp;#039;heure, mais que du texte sur l&amp;#039;OLED&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// change next line to use with another board/shield&lt;br /&gt;
// #include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
// #include &amp;lt;WiFi101.h&amp;gt; // for WiFi 101 shield or MKR1000&lt;br /&gt;
// #include &amp;lt;WiFi.h&amp;gt; // for WiFi shield&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const char *ssid     = &amp;quot;&amp;lt;SSID&amp;gt;&amp;quot;;&lt;br /&gt;
const char *password = &amp;quot;&amp;lt;PASSWORD&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
&lt;br /&gt;
// You can specify the time server pool and the offset (in seconds, can be&lt;br /&gt;
// changed later with setTimeOffset() ). Additionally you can specify the&lt;br /&gt;
// update interval (in milliseconds, can be changed using setUpdateInterval() ).&lt;br /&gt;
&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;europe.pool.ntp.org&amp;quot;, 3600, 60000);&lt;br /&gt;
&lt;br /&gt;
// Initialize OLED display &lt;br /&gt;
U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  while ( WiFi.status() != WL_CONNECTED ) {&lt;br /&gt;
    delay ( 500 );&lt;br /&gt;
    Serial.print ( &amp;quot;.&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update();&lt;br /&gt;
  Serial.println(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  u8g2.firstPage();&lt;br /&gt;
  do {&lt;br /&gt;
    u8g2.setFont(u8g2_font_ncenB18_tr);&lt;br /&gt;
&lt;br /&gt;
    u8g2.setCursor(0, 64);&lt;br /&gt;
    u8g2.print(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  } while ( u8g2.nextPage() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Send the buffer to the display&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1230</id>
		<title>XIAO-ESP32S3</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1230"/>
		<updated>2025-08-22T15:02:49Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Hello World! [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-ESP32S3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|250px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 2.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 Front.PNG|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:XIAO-ESP32S3 Onboard.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 1.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 2.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to Tools &amp;gt; Board &amp;gt; Boards Manager..., type the keyword &amp;lt;b&amp;gt;esp32&amp;lt;/b&amp;gt; in the search box, select the latest version of esp32, and install it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 3.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
search for xiao in the development board on the left. select &amp;lt;b&amp;gt;XIAO_ESP32S3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 4.PNG|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 5.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
[https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html] &amp;lt;font color=red&amp;gt;shop&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.seeedstudio.com/xiao_esp32s3_getting_started https://wiki.seeedstudio.com/xiao_esp32s3_getting_started] &amp;lt;font color=red&amp;gt;wiki&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hello World! [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED-Display-0-96-SSD1315.png|175px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3 &amp;lt;br&amp;gt;&lt;br /&gt;
OLED-Display-0-96-SSD1315  - Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8x8lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8x8.begin();&lt;br /&gt;
  u8x8.setFlipMode(1);   // set number from 1 to 3, the screen word will rotary 180&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8x8.setFont(u8x8_font_chroma48medium8_r);&lt;br /&gt;
  u8x8.setCursor(0, 0);&lt;br /&gt;
  u8x8.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Internet_Clock [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Internet_Clock-XIAO-OLED_Display_1.12| Internet_Clock-XIAO-OLED_Display_1.12]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sur l&amp;#039;écran série on a l&amp;#039;heure, mais que du texte sur l&amp;#039;OLED&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// change next line to use with another board/shield&lt;br /&gt;
// #include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
// #include &amp;lt;WiFi101.h&amp;gt; // for WiFi 101 shield or MKR1000&lt;br /&gt;
// #include &amp;lt;WiFi.h&amp;gt; // for WiFi shield&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const char *ssid     = &amp;quot;&amp;lt;SSID&amp;gt;&amp;quot;;&lt;br /&gt;
const char *password = &amp;quot;&amp;lt;PASSWORD&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
&lt;br /&gt;
// You can specify the time server pool and the offset (in seconds, can be&lt;br /&gt;
// changed later with setTimeOffset() ). Additionally you can specify the&lt;br /&gt;
// update interval (in milliseconds, can be changed using setUpdateInterval() ).&lt;br /&gt;
&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;europe.pool.ntp.org&amp;quot;, 3600, 60000);&lt;br /&gt;
&lt;br /&gt;
// Initialize OLED display &lt;br /&gt;
U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  while ( WiFi.status() != WL_CONNECTED ) {&lt;br /&gt;
    delay ( 500 );&lt;br /&gt;
    Serial.print ( &amp;quot;.&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update();&lt;br /&gt;
  Serial.println(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  u8g2.firstPage();&lt;br /&gt;
  do {&lt;br /&gt;
    u8g2.setFont(u8g2_font_ncenB18_tr);&lt;br /&gt;
&lt;br /&gt;
    u8g2.setCursor(0, 64);&lt;br /&gt;
    u8g2.print(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  } while ( u8g2.nextPage() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Send the buffer to the display&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1229</id>
		<title>XIAO-ESP32S3</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1229"/>
		<updated>2025-08-22T15:01:47Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Hello World! [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-ESP32S3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|250px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 2.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 Front.PNG|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:XIAO-ESP32S3 Onboard.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 1.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 2.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to Tools &amp;gt; Board &amp;gt; Boards Manager..., type the keyword &amp;lt;b&amp;gt;esp32&amp;lt;/b&amp;gt; in the search box, select the latest version of esp32, and install it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 3.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
search for xiao in the development board on the left. select &amp;lt;b&amp;gt;XIAO_ESP32S3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 4.PNG|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 5.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
[https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html] &amp;lt;font color=red&amp;gt;shop&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.seeedstudio.com/xiao_esp32s3_getting_started https://wiki.seeedstudio.com/xiao_esp32s3_getting_started] &amp;lt;font color=red&amp;gt;wiki&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hello World! [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED-Display-0-96-SSD1315.png|175px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3 - Port &amp;lt;b&amp;gt;I2c&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
OLED-Display-0-96-SSD1315&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8x8lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8x8.begin();&lt;br /&gt;
  u8x8.setFlipMode(1);   // set number from 1 to 3, the screen word will rotary 180&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8x8.setFont(u8x8_font_chroma48medium8_r);&lt;br /&gt;
  u8x8.setCursor(0, 0);&lt;br /&gt;
  u8x8.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Internet_Clock [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Internet_Clock-XIAO-OLED_Display_1.12| Internet_Clock-XIAO-OLED_Display_1.12]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sur l&amp;#039;écran série on a l&amp;#039;heure, mais que du texte sur l&amp;#039;OLED&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// change next line to use with another board/shield&lt;br /&gt;
// #include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
// #include &amp;lt;WiFi101.h&amp;gt; // for WiFi 101 shield or MKR1000&lt;br /&gt;
// #include &amp;lt;WiFi.h&amp;gt; // for WiFi shield&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const char *ssid     = &amp;quot;&amp;lt;SSID&amp;gt;&amp;quot;;&lt;br /&gt;
const char *password = &amp;quot;&amp;lt;PASSWORD&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
&lt;br /&gt;
// You can specify the time server pool and the offset (in seconds, can be&lt;br /&gt;
// changed later with setTimeOffset() ). Additionally you can specify the&lt;br /&gt;
// update interval (in milliseconds, can be changed using setUpdateInterval() ).&lt;br /&gt;
&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;europe.pool.ntp.org&amp;quot;, 3600, 60000);&lt;br /&gt;
&lt;br /&gt;
// Initialize OLED display &lt;br /&gt;
U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  while ( WiFi.status() != WL_CONNECTED ) {&lt;br /&gt;
    delay ( 500 );&lt;br /&gt;
    Serial.print ( &amp;quot;.&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update();&lt;br /&gt;
  Serial.println(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  u8g2.firstPage();&lt;br /&gt;
  do {&lt;br /&gt;
    u8g2.setFont(u8g2_font_ncenB18_tr);&lt;br /&gt;
&lt;br /&gt;
    u8g2.setCursor(0, 64);&lt;br /&gt;
    u8g2.print(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  } while ( u8g2.nextPage() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Send the buffer to the display&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1228</id>
		<title>XIAO-ESP32S3</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-ESP32S3&amp;diff=1228"/>
		<updated>2025-08-21T14:48:25Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Internet_Clock [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-ESP32S3&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|250px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 2.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO-ESP32S3 Front.PNG|450px]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:XIAO-ESP32S3 Onboard.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 1.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 2.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to Tools &amp;gt; Board &amp;gt; Boards Manager..., type the keyword &amp;lt;b&amp;gt;esp32&amp;lt;/b&amp;gt; in the search box, select the latest version of esp32, and install it.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 3.PNG|500px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
search for xiao in the development board on the left. select &amp;lt;b&amp;gt;XIAO_ESP32S3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 4.PNG|500px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino-IDE XIAO-ESP32S3 5.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
[https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html] &amp;lt;font color=red&amp;gt;shop&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://wiki.seeedstudio.com/xiao_esp32s3_getting_started https://wiki.seeedstudio.com/xiao_esp32s3_getting_started] &amp;lt;font color=red&amp;gt;wiki&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hello World! [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED-Display-0-96-SSD1315.png|175px]]&lt;br /&gt;
&lt;br /&gt;
Grove Base for XIAO&amp;lt;br&amp;gt;&lt;br /&gt;
XIAO-ESP32S3&amp;lt;br&amp;gt;&lt;br /&gt;
OLED-Display-0-96-SSD1315&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Hello World!&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8x8lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8X8_SSD1306_128X64_NONAME_HW_I2C u8x8(/* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);   // OLEDs without Reset of the Display&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8x8.begin();&lt;br /&gt;
  u8x8.setFlipMode(1);   // set number from 1 to 3, the screen word will rotary 180&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8x8.setFont(u8x8_font_chroma48medium8_r);&lt;br /&gt;
  u8x8.setCursor(0, 0);&lt;br /&gt;
  u8x8.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Internet_Clock [Code] ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO-ESP32S3 1.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Internet_Clock-XIAO-OLED_Display_1.12| Internet_Clock-XIAO-OLED_Display_1.12]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sur l&amp;#039;écran série on a l&amp;#039;heure, mais que du texte sur l&amp;#039;OLED&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;NTPClient.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;SPI.h&amp;gt;&lt;br /&gt;
#include &amp;lt;Wire.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// change next line to use with another board/shield&lt;br /&gt;
// #include &amp;lt;ESP8266WiFi.h&amp;gt;&lt;br /&gt;
// #include &amp;lt;WiFi101.h&amp;gt; // for WiFi 101 shield or MKR1000&lt;br /&gt;
// #include &amp;lt;WiFi.h&amp;gt; // for WiFi shield&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;WiFi.h&amp;gt;&lt;br /&gt;
#include &amp;lt;WiFiUdp.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
const char *ssid     = &amp;quot;&amp;lt;SSID&amp;gt;&amp;quot;;&lt;br /&gt;
const char *password = &amp;quot;&amp;lt;PASSWORD&amp;gt;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
WiFiUDP ntpUDP;&lt;br /&gt;
&lt;br /&gt;
// You can specify the time server pool and the offset (in seconds, can be&lt;br /&gt;
// changed later with setTimeOffset() ). Additionally you can specify the&lt;br /&gt;
// update interval (in milliseconds, can be changed using setUpdateInterval() ).&lt;br /&gt;
&lt;br /&gt;
NTPClient timeClient(ntpUDP, &amp;quot;europe.pool.ntp.org&amp;quot;, 3600, 60000);&lt;br /&gt;
&lt;br /&gt;
// Initialize OLED display &lt;br /&gt;
U8G2_SH1107_SEEED_128X128_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(){&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
  WiFi.begin(ssid, password);&lt;br /&gt;
  while ( WiFi.status() != WL_CONNECTED ) {&lt;br /&gt;
    delay ( 500 );&lt;br /&gt;
    Serial.print ( &amp;quot;.&amp;quot; );&lt;br /&gt;
  }&lt;br /&gt;
  timeClient.begin();&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
void loop() {&lt;br /&gt;
  timeClient.update();&lt;br /&gt;
  Serial.println(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  u8g2.firstPage();&lt;br /&gt;
  do {&lt;br /&gt;
    u8g2.setFont(u8g2_font_ncenB18_tr);&lt;br /&gt;
&lt;br /&gt;
    u8g2.setCursor(0, 64);&lt;br /&gt;
    u8g2.print(timeClient.getFormattedTime());&lt;br /&gt;
&lt;br /&gt;
  } while ( u8g2.nextPage() );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Send the buffer to the display&lt;br /&gt;
  delay(1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1227</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1227"/>
		<updated>2025-08-21T14:32:31Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Play with RGB LEDs [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1226</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1226"/>
		<updated>2025-08-21T14:32:12Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Blink [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1225</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1225"/>
		<updated>2025-08-21T14:31:48Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Blink [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1224</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1224"/>
		<updated>2025-08-21T14:31:16Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Liens externes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1223</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1223"/>
		<updated>2025-08-21T14:30:59Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1222</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1222"/>
		<updated>2025-08-21T14:30:25Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1221</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1221"/>
		<updated>2025-08-21T14:29:28Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1220</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1220"/>
		<updated>2025-08-21T14:28:43Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1219</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1219"/>
		<updated>2025-08-21T14:26:36Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Play with RGB LEDs [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1218</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1218"/>
		<updated>2025-08-21T14:25:02Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Liens externes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1217</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1217"/>
		<updated>2025-08-21T14:23:47Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Blink [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1216</id>
		<title>XIAO-RA4M1</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=XIAO-RA4M1&amp;diff=1216"/>
		<updated>2025-08-21T14:22:47Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Blink [Code] */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Support ===&lt;br /&gt;
&lt;br /&gt;
XIAO-RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Renesas RA4M1&amp;lt;br&amp;gt;&lt;br /&gt;
build-in RGB LED &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Preferences, and fill &amp;quot;Additional Boards Manager URLs&amp;quot; with the url below: https://files.seeedstudio.com/arduino/package_renesas_1.2.0_index.json&lt;br /&gt;
&lt;br /&gt;
type the keyword RA4M1&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 1.PNG|250px]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XIAO RA4M1 2.PNG|400px]]&lt;br /&gt;
[[File:XIAO RA4M1 3.PNG|350px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Liens externes ====&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/Seeed-XIAO-RA4M1-p-5943.html&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.seeedstudio.com/getting_started_xiao_ra4m1/&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Blink [Code] ===&lt;br /&gt;
&lt;br /&gt;
Navigate to File &amp;gt; Examples &amp;gt; 01.Basics &amp;gt; Blink, open the program.&amp;lt;br&amp;gt;&lt;br /&gt;
https://wiki.myows.top/index.php?title=Blink_Examples_01-Basics&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
&lt;br /&gt;
——&lt;br /&gt;
&lt;br /&gt;
=== Play with RGB LEDs [Code] ===&lt;br /&gt;
&lt;br /&gt;
Changer la couleur de la LED entre le rouge, le vert et le bleu&amp;lt;br&amp;gt;&lt;br /&gt;
LED user allumé&amp;lt;br&amp;gt;&lt;br /&gt;
LED  RGB change de couleur, mais lumiere très forte&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bibliothèque :&lt;br /&gt;
https://github.com/adafruit/Adafruit_NeoPixel&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Adafruit_NeoPixel.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define LED_PIN RGB_BUILTIN  // Define the pin for the built-in RGB LED&lt;br /&gt;
#define NUM_PIXELS 1         // Number of WS2812 LEDs&lt;br /&gt;
&lt;br /&gt;
Adafruit_NeoPixel pixels(NUM_PIXELS, LED_PIN, NEO_GRB + NEO_KHZ800);&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(PIN_RGB_EN, OUTPUT); // Set up the power pin&lt;br /&gt;
  digitalWrite(PIN_RGB_EN, HIGH); //Turn on power to the LED&lt;br /&gt;
  pixels.begin();  // Initialize the NeoPixel library&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
    // Transition from Red to Green&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(255 - i, i, 0));  // Red decreases, Green increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Green to Blue&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(0, 255 - i, i));  // Green decreases, Blue increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  // Transition from Blue to Red&lt;br /&gt;
  for (int i = 0; i &amp;lt;= 255; i++) {&lt;br /&gt;
    pixels.setPixelColor(0, pixels.Color(i, 0, 255 - i));  // Blue decreases, Red increases&lt;br /&gt;
    pixels.show();&lt;br /&gt;
    delay(10);  // Adjust delay for smoothness&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adjust delay for smoothness : &lt;br /&gt;
Ajustez le délai pour plus de fluidité&lt;br /&gt;
&lt;br /&gt;
=== Hello Word [Code] &amp;amp; OLED Display 1.12 ===&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
https://wiki.myows.top/index.php?title=OLED_Display_1.12#Code_Hello_World.21_.28u8g2.29&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1215</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1215"/>
		<updated>2025-08-21T13:59:55Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
C’est une démo complète avec des courbes, des carrés, etc.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1214</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1214"/>
		<updated>2025-08-21T13:44:25Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
On va afficher la phase &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
sur 4 lignes, avec un police de caractères différente à chaque ligne&lt;br /&gt;
et sur la 5eme ligne on affiche un symbole.&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1213</id>
		<title>U8g2 for Seeeduino boards</title>
		<link rel="alternate" type="text/html" href="https://wiki.myows.top/index.php?title=U8g2_for_Seeeduino_boards&amp;diff=1213"/>
		<updated>2025-08-21T13:03:55Z</updated>

		<summary type="html">&lt;p&gt;95.18.118.220: /* Code 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== U8g2 for Seeeduino boards ==&lt;br /&gt;
&lt;br /&gt;
=== Code 1 ===&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,10,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB18_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,40,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setFont(u8g2_font_pieceofcake_mel_tr); // choose a suitable font&lt;br /&gt;
  u8g2.drawStr(0,60,&amp;quot;Hello World!&amp;quot;);  // write something to the internal memory&lt;br /&gt;
  u8g2.setCursor(40, 80);&lt;br /&gt;
  u8g2.setFont(u8g2_font_ncenB08_tr); // choose a suitable font&lt;br /&gt;
  u8g2.print(&amp;quot;Hello World!&amp;quot;);&lt;br /&gt;
   u8g2.setFont(u8g2_font_unifont_t_symbols);&lt;br /&gt;
  u8g2.drawGlyph(40, 100, 0x2603);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 2 ===&lt;br /&gt;
&lt;br /&gt;
Ce code permet d’afficher le logo de Seeed Studio&lt;br /&gt;
&lt;br /&gt;
Pour plus d’information voir l’article de Elaine Wu &lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
static const unsigned char logo_2018_horizontal_bits[] = {&lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x02, 0x00, 0xC0, 0x40, 0x00, &lt;br /&gt;
  0x00, 0x80, 0x02, 0x80, 0x00, 0x40, 0x00, 0x80, 0x00, 0x00, 0x38, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x80, 0x00, 0x00, 0xE0, 0x0F, 0xF8, 0x07, 0xF8, 0x07, 0xF8, &lt;br /&gt;
  0x07, 0xF0, 0x39, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0xF0, 0x3F, 0xFC, &lt;br /&gt;
  0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x3B, 0x00, 0x00, 0x20, 0x80, 0x02, &lt;br /&gt;
  0x00, 0x38, 0x18, 0x3E, 0x1E, 0x3E, 0x1E, 0x3E, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x10, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0E, 0x3C, 0x0F, 0x3C, 0x0F, &lt;br /&gt;
  0x3C, 0x1F, 0x3F, 0x00, 0x00, 0x10, 0x00, 0x01, 0x04, 0x78, 0x00, 0x0F, &lt;br /&gt;
  0x38, 0x0F, 0x38, 0x0F, 0x38, 0x0F, 0x3C, 0x00, 0x00, 0x28, 0x00, 0x06, &lt;br /&gt;
  0x00, 0xF8, 0x07, 0xEF, 0x3F, 0xDF, 0x3F, 0xF7, 0x3F, 0x07, 0x3C, 0x02, &lt;br /&gt;
  0x10, 0x28, 0x00, 0x04, 0x04, 0xF0, 0x1F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, &lt;br /&gt;
  0xBF, 0x07, 0x38, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0xC0, 0x3F, 0xFF, &lt;br /&gt;
  0x7F, 0xFF, 0x7F, 0xFF, 0xBF, 0x07, 0x3C, 0x08, 0x18, 0x10, 0x00, 0x06, &lt;br /&gt;
  0x02, 0x00, 0x38, 0x0F, 0x00, 0x07, 0x00, 0x07, 0x00, 0x07, 0x3C, 0x00, &lt;br /&gt;
  0x00, 0x28, 0x00, 0x00, 0x04, 0x00, 0x78, 0x0F, 0x00, 0x0F, 0x00, 0x0F, &lt;br /&gt;
  0x00, 0x0F, 0x3C, 0x00, 0x20, 0x10, 0x00, 0x06, 0x04, 0x38, 0x38, 0x1E, &lt;br /&gt;
  0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x1F, 0x3F, 0x04, 0x18, 0x28, 0x00, 0x01, &lt;br /&gt;
  0x01, 0xF8, 0x3F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFC, 0x1F, 0xFE, 0x3F, 0x00, &lt;br /&gt;
  0x00, 0x20, 0x00, 0x04, 0x02, 0xF8, 0x1F, 0xF8, 0x0F, 0xF8, 0x0F, 0xF8, &lt;br /&gt;
  0x1F, 0xFC, 0x3B, 0x01, 0x60, 0x10, 0x00, 0x82, 0x02, 0xC0, 0x07, 0xE0, &lt;br /&gt;
  0x03, 0xE0, 0x03, 0xE0, 0x03, 0xF0, 0x39, 0x00, 0x40, 0x20, 0x00, 0x42, &lt;br /&gt;
  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0xA0, 0x60, 0x80, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x80, 0xB0, &lt;br /&gt;
  0x00, 0x58, 0x80, 0x60, 0x10, 0x40, 0x00, 0x00, 0x03, 0x88, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x02, 0x00, 0x48, 0x00, 0xD8, 0x88, 0x64, 0x14, 0x40, 0x00, 0x10, &lt;br /&gt;
  0x21, 0x88, 0x00, 0x00, 0x00, 0x09, 0x20, 0x28, 0x00, 0x98, 0x95, 0x2A, &lt;br /&gt;
  0xDE, 0x7D, 0xDD, 0x2E, 0x7B, 0xBB, 0x36, 0x00, 0x00, 0x04, 0x00, 0x04, &lt;br /&gt;
  0x00, 0x50, 0x9F, 0x2A, 0xD6, 0x57, 0xAD, 0x3A, 0x91, 0xAB, 0x17, 0x00, &lt;br /&gt;
  0x00, 0x50, 0x80, 0x02, 0x00, 0x50, 0x99, 0x6E, 0xD4, 0x75, 0xEF, 0x1A, &lt;br /&gt;
  0xAF, 0xBB, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, &lt;br /&gt;
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, };&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();&lt;br /&gt;
  Serial.begin(115200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawXBM(0,0, 128, 32, logo_2018_horizontal_bits);&lt;br /&gt;
  u8g2.sendBuffer();          // transfer internal memory to the display&lt;br /&gt;
  //Serial.println(sizeof(ironman_bits));&lt;br /&gt;
  Serial.println(&amp;quot;work&amp;quot;);&lt;br /&gt;
  delay(1000);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Code 3 ===&lt;br /&gt;
&lt;br /&gt;
https://www.seeedstudio.com/blog/2019/07/05/u8g2-for-seeeduino-boards/&lt;br /&gt;
&lt;br /&gt;
[[File:Grove Base for XIAO 1.PNG|200px]]&lt;br /&gt;
[[File:XIAO RA4M1 4.PNG|125px]]&lt;br /&gt;
[[File:OLED Display 96x96 recto.jpg|150px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Grove Base for XIAO&amp;lt;/b&amp;gt; | &lt;br /&gt;
XIAO-RA4M1 |&lt;br /&gt;
Grove - OLED Display 1.12 inches (&amp;lt;b&amp;gt;Port I2c&amp;lt;/b&amp;gt;) (Pilote SH1107G) (128 × 128 pixels) |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;Arduino.h&amp;gt;&lt;br /&gt;
#include &amp;lt;U8g2lib.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
U8G2_SH1107_SEEED_128X128_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);&lt;br /&gt;
&lt;br /&gt;
void setup(void) {&lt;br /&gt;
  u8g2.begin();  // start a display.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
void drawPixels()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  for(int i = 0; i &amp;lt; 100; i++){&lt;br /&gt;
    // generate 100 points randomly&lt;br /&gt;
    u8g2.drawPixel(random(128), random(128));&lt;br /&gt;
    u8g2.sendBuffer();&lt;br /&gt;
    delay(5);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawLines()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawLine(0,0, u8g2.getDisplayWidth(), u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth(),0, 0, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(0, u8g2.getDisplayHeight()/2, u8g2.getDisplayWidth(), u8g2.getDisplayHeight()/2);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawLine(u8g2.getDisplayWidth()/2,0, u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawBoxes()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawBox(0, 0, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(0, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth()/2-5,u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, u8g2.getDisplayHeight()/2+5, u8g2.getDisplayWidth(),u8g2.getDisplayHeight());&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawBox(u8g2.getDisplayWidth()/2+5, 0, u8g2.getDisplayWidth(),u8g2.getDisplayHeight()/2-5);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawFrames()&lt;br /&gt;
{&lt;br /&gt;
  u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-10, u8g2.getDisplayHeight()/2-10, 20, 20);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-20, u8g2.getDisplayHeight()/2-20, 40, 40);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-30, u8g2.getDisplayHeight()/2-30, 60, 60);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-40, u8g2.getDisplayHeight()/2-40, 80, 80);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
  delay(1000);&lt;br /&gt;
  u8g2.drawFrame(u8g2.getDisplayWidth()/2-50, u8g2.getDisplayHeight()/2-50, 100, 100);&lt;br /&gt;
  u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void drawCircles()&lt;br /&gt;
{&lt;br /&gt;
   u8g2.clearBuffer();          // clear the internal memory&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_UPPER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_LEFT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 30, U8G2_DRAW_LOWER_RIGHT);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
   delay(1000);&lt;br /&gt;
   u8g2.drawCircle(u8g2.getDisplayWidth()/2, u8g2.getDisplayHeight()/2, 50, U8G2_DRAW_ALL);&lt;br /&gt;
   u8g2.sendBuffer();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(void) {&lt;br /&gt;
&lt;br /&gt;
  drawPixels();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawLines();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawFrames();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawCircles();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
  drawBoxes();&lt;br /&gt;
  delay(2000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>95.18.118.220</name></author>
		
	</entry>
</feed>