Skip to content

Commit 362e168

Browse files
Added OMGS3 files
Added missing NanoS3 CP shipping files
1 parent b5b20ec commit 362e168

File tree

11 files changed

+45354
-8
lines changed

11 files changed

+45354
-8
lines changed

3d models/OMGS3/OMGS3.jpg

103 KB
Loading

3d models/OMGS3/OMGS3.step

+44,268
Large diffs are not rendered by default.

Pinout Cards/OMGS3_Pin_Reference.png

643 KB
Loading

README.md

+13-8
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22

33
Assorted files for my ESP32-S3 development boards
44

5+
![logo](https://esp32s3.com/images/logo_omgs3.png)
6+
57
![logo](https://esp32s3.com/images/logo_nanos3.png)
68

79
![logo](https://esp32s3.com/images/logo_tinys3.png)
810

911
![logo](https://esp32s3.com/images/logo_feathers3.png)
1012

13+
![logo](https://esp32s3.com/images/logo_feathers3neo.png)
14+
1115
![logo](https://esp32s3.com/images/logo_pros3.png)
1216

1317

@@ -18,23 +22,25 @@ You can find out more about my ESP32-S3 boards at https://esp32s3.com
1822
In this repo you'll find the following items:
1923

2024
## 3D Models
21-
3D STEP files for each of the TinyS3, ProS3 and FeatherS3 boards
25+
3D STEP files for each of the OMGS3, NanoS3, TinyS3, ProS3 and FeatherS3 boards
2226

2327

24-
## KiCAD 6/7 Symbols
28+
## KiCAD 6/7/8 Symbols
2529
KiCAD 6 symbol files for each of the boards that you can use when integrating one of them into one of your PCB designs.
2630
NanoS3 symbol file is for KiCAD 7 or later
31+
OMGS3 symbol file is for KiCAD 8 or later
2732

28-
## KiCAD 6/7 Footprints
33+
## KiCAD 6/7 Footprints
2934
KiCAD 6 footprint files for each of the boards including both SMD and TH versions for the ProS3
3035
NanoS3 footprint file is for KiCAD 7 or later
36+
OMGS3 footprint file is for KiCAD 8 or later
3137

3238
## Schematics
33-
PDF Schematics for each of the NanoS3, TinyS3, ProS3 and FeatherS3 boards
39+
PDF Schematics for each of the OMGS3, NanoS3, TinyS3, ProS3 and FeatherS3 boards
3440

3541

3642
## Pin Reference Cards
37-
Hires pinout reference cards for each of the NanoS3, TinyS3, ProS3 and FeatherS3 boards
43+
Hires pinout reference cards for each of the OMGS3, NanoS3, TinyS3, ProS3 and FeatherS3 boards
3844

3945

4046

@@ -46,9 +52,10 @@ Please consider supporting me by buying some of my products from:
4652

4753
https://unexpectedmaker.com/shop
4854

49-
Or by buying one of my products on tindie:
55+
Or by buying one of my products on tindie or Lectronz:
5056

5157
https://www.tindie.com/stores/seonr/
58+
https://lectronz.com/stores/unexpectedmaker
5259

5360
Or by becoming a Patron:
5461

@@ -63,5 +70,3 @@ http://twitter.com/unexpectedmaker
6370
https://discord.gg/xAHpApP
6471

6572
https://www.facebook.com/unexpectedmaker/
66-
67-
https://www.instagram.com/unexpectedmaker/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import time, gc, os
2+
import neopixel
3+
import board, digitalio
4+
import nanos3
5+
6+
# Create a NeoPixel instance
7+
# Brightness of 0.3 is ample for the 1515 sized LED
8+
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.3, auto_write=True, pixel_order=neopixel.RGB)
9+
10+
# Say hello
11+
print("\nHello from Nanos3!")
12+
print("------------------\n")
13+
14+
# Show available memory
15+
print("Memory Info - gc.mem_free()")
16+
print("---------------------------")
17+
print("{} Bytes\n".format(gc.mem_free()))
18+
19+
flash = os.statvfs('/')
20+
flash_size = flash[0] * flash[2]
21+
flash_free = flash[0] * flash[3]
22+
# Show flash size
23+
print("Flash - os.statvfs('/')")
24+
print("---------------------------")
25+
print("Size: {} Bytes\nFree: {} Bytes\n".format(flash_size, flash_free))
26+
27+
print("Pixel Time!\n")
28+
29+
# Create a colour wheel index int
30+
color_index = 0
31+
32+
# Turn on the power to the NeoPixel
33+
nanos3.set_pixel_power(True)
34+
35+
# Rainbow colours on the NeoPixel
36+
while True:
37+
# Get the R,G,B values of the next colour
38+
r,g,b = nanos3.rgb_color_wheel( color_index )
39+
# Set the colour on the NeoPixel
40+
pixel[0] = ( r, g, b, 0.5)
41+
# Increase the wheel index
42+
color_index += 1
43+
44+
# Sleep for 15ms so the colour cycle isn't too fast
45+
time.sleep(0.015)
46+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# NanoS3 Helper Library
2+
# 2024 Seon Rozenblum, Unexpected Maker
3+
#
4+
# Project home:
5+
# https://nanos3.io
6+
#
7+
8+
# Import required libraries
9+
import time
10+
import board
11+
from digitalio import DigitalInOut, Direction, Pull
12+
from analogio import AnalogIn
13+
14+
# Setup the NeoPixel power pin
15+
pixel_power = DigitalInOut(board.NEOPIXEL_POWER)
16+
pixel_power.direction = Direction.OUTPUT
17+
18+
# Helper functions
19+
def set_pixel_power(state):
20+
"""Enable or Disable power to the onboard NeoPixel to either show colour, or to reduce power fro deep sleep."""
21+
global pixel_power
22+
pixel_power.value = state
23+
24+
def rgb_color_wheel(wheel_pos):
25+
"""Color wheel to allow for cycling through the rainbow of RGB colors."""
26+
wheel_pos = wheel_pos % 255
27+
28+
if wheel_pos < 85:
29+
return 255 - wheel_pos * 3, 0, wheel_pos * 3
30+
elif wheel_pos < 170:
31+
wheel_pos -= 85
32+
return 0, wheel_pos * 3, 255 - wheel_pos * 3
33+
else:
34+
wheel_pos -= 170
35+
return wheel_pos * 3, 255 - wheel_pos * 3, 0
36+
37+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import time, gc, os
2+
import neopixel
3+
import board, digitalio
4+
import omgs3
5+
6+
# Create a NeoPixel instance
7+
# Brightness of 0.25 is ample for the 1010 sized LED
8+
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.25, auto_write=True, pixel_order=neopixel.RGB)
9+
10+
# Say hello
11+
print("\nHello from OMGS3!")
12+
print("------------------\n")
13+
14+
# Show available memory
15+
print("Memory Info - gc.mem_free()")
16+
print("---------------------------")
17+
print("{} Bytes\n".format(gc.mem_free()))
18+
19+
flash = os.statvfs('/')
20+
flash_size = flash[0] * flash[2]
21+
flash_free = flash[0] * flash[3]
22+
# Show flash size
23+
print("Flash - os.statvfs('/')")
24+
print("---------------------------")
25+
print("Size: {} Bytes\nFree: {} Bytes\n".format(flash_size, flash_free))
26+
27+
print("Pixel Time!\n")
28+
29+
# Create a colour wheel index int
30+
color_index = 0
31+
32+
# Turn on the power to the NeoPixel
33+
omgs3.set_pixel_power(True)
34+
35+
# Rainbow colours on the NeoPixel
36+
while True:
37+
# Get the R,G,B values of the next colour
38+
r,g,b = omgs3.rgb_color_wheel( color_index )
39+
# Set the colour on the NeoPixel
40+
pixel[0] = ( r, g, b, 0.5)
41+
# Increase the wheel index
42+
color_index += 1
43+
44+
# Sleep for 15ms so the colour cycle isn't too fast
45+
time.sleep(0.015)
46+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# OMGS3 Helper Library
2+
# 2024 Seon Rozenblum, Unexpected Maker
3+
#
4+
# Project home:
5+
# https://omgs3.io
6+
#
7+
8+
# Import required libraries
9+
import time
10+
import board
11+
from digitalio import DigitalInOut, Direction, Pull
12+
from analogio import AnalogIn
13+
14+
# Setup the NeoPixel power pin
15+
pixel_power = DigitalInOut(board.NEOPIXEL_POWER)
16+
pixel_power.direction = Direction.OUTPUT
17+
18+
# Helper functions
19+
def set_pixel_power(state):
20+
"""Enable or Disable power to the onboard NeoPixel to either show colour, or to reduce power fro deep sleep."""
21+
global pixel_power
22+
pixel_power.value = state
23+
24+
def rgb_color_wheel(wheel_pos):
25+
"""Color wheel to allow for cycling through the rainbow of RGB colors."""
26+
wheel_pos = wheel_pos % 255
27+
28+
if wheel_pos < 85:
29+
return 255 - wheel_pos * 3, 0, wheel_pos * 3
30+
elif wheel_pos < 170:
31+
wheel_pos -= 85
32+
return 0, wheel_pos * 3, 255 - wheel_pos * 3
33+
else:
34+
wheel_pos -= 170
35+
return wheel_pos * 3, 255 - wheel_pos * 3, 0
36+
37+

0 commit comments

Comments
 (0)