Merge pull request #1 from sonocotta/features/rev-b-updates
Rev B changes
This commit is contained in:
37
.github/workflows/build.yml
vendored
Normal file
37
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: PlatformIO CI
|
||||||
|
|
||||||
|
on: [ push, pull_request, workflow_dispatch ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Cache pip
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
|
||||||
|
- name: Cache PlatformIO
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.platformio
|
||||||
|
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
|
||||||
|
- name: Install PlatformIO
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install --upgrade platformio
|
||||||
|
|
||||||
|
- name: Run PlatformIO
|
||||||
|
working-directory: ./firmware/t1616-starter
|
||||||
|
run: pio run
|
||||||
|
|
||||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "firmware/jtag2updi"]
|
||||||
|
path = firmware/jtag2updi
|
||||||
|
url = https://github.com/anabolyc/jtag2updi
|
||||||
16
README.md
16
README.md
@@ -70,7 +70,21 @@ Spence Konde created another great [writeup](https://github.com/SpenceKonde/AVR-
|
|||||||
|
|
||||||
Method (c) is disqualified on 1-Series chip because of RESET/UPDI pin collision, and both (a) and (b) work equally well. Difference being what is easier for you: (a) dedicate Arduino Nano board for programming or (b) do solder job on your usb-serial adapter.
|
Method (c) is disqualified on 1-Series chip because of RESET/UPDI pin collision, and both (a) and (b) work equally well. Difference being what is easier for you: (a) dedicate Arduino Nano board for programming or (b) do solder job on your usb-serial adapter.
|
||||||
|
|
||||||

|
### Revision A (Discontinued)
|
||||||
|
|
||||||
|
| Method | Connection |
|
||||||
|
|----------|------------|
|
||||||
|
| jtag2updi | 
|
||||||
|
| SerialUPDI<br/>(recommended) | 
|
||||||
|
|
||||||
|
### Revision B (Current latest)
|
||||||
|
|
||||||
|
Starting from revision B diode between TX and RX pins are included on the board, so you can use unmodified USB-Serial adapter.
|
||||||
|
|
||||||
|
| Method | Connection |
|
||||||
|
|----------|------------|
|
||||||
|
| jtag2updi | 
|
||||||
|
| SerialUPDI<br/>(recommended) | 
|
||||||
|
|
||||||
### Arduino IDE
|
### Arduino IDE
|
||||||
|
|
||||||
|
|||||||
1
firmware/jtag2updi
Submodule
1
firmware/jtag2updi
Submodule
Submodule firmware/jtag2updi added at fc3229e79a
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
#define PIN_LED PIN_PB4 // 5
|
#define PIN_LED PIN_PB4 // 5
|
||||||
#define PIN_RGB PIN_PA7
|
#define PIN_RGB PIN_PA7
|
||||||
|
#define PIN_BTN PIN_PA0
|
||||||
|
|
||||||
uint8_t seq = 0;
|
uint8_t seq = 0;
|
||||||
|
|
||||||
@@ -11,6 +12,7 @@ Adafruit_NeoPixel pixels(1, PIN_RGB, NEO_GRB + NEO_KHZ800);
|
|||||||
void setup() {
|
void setup() {
|
||||||
|
|
||||||
pinMode(PIN_LED, OUTPUT);
|
pinMode(PIN_LED, OUTPUT);
|
||||||
|
pinMode(PIN_BTN, INPUT);
|
||||||
|
|
||||||
delay(1000);
|
delay(1000);
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
@@ -19,11 +21,19 @@ void setup() {
|
|||||||
pixels.begin();
|
pixels.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t btn_state = HIGH;
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
seq++;
|
seq++;
|
||||||
|
|
||||||
Serial.print('.');
|
Serial.print('.');
|
||||||
|
|
||||||
|
if (btn_state != digitalRead(PIN_BTN)) {
|
||||||
|
btn_state = !btn_state;
|
||||||
|
Serial.print("Button state is ");
|
||||||
|
Serial.println(btn_state);
|
||||||
|
}
|
||||||
|
|
||||||
digitalWrite(PIN_LED, seq % 2);
|
digitalWrite(PIN_LED, seq % 2);
|
||||||
|
|
||||||
pixels.clear();
|
pixels.clear();
|
||||||
@@ -31,5 +41,5 @@ void loop() {
|
|||||||
pixels.setPixelColor(0, pixels.Color((0xff - seq) % 0xff, seq % 0xff, seq % 0x7f + (0xff - seq) % 0x7f));
|
pixels.setPixelColor(0, pixels.Color((0xff - seq) % 0xff, seq % 0xff, seq % 0x7f + (0xff - seq) % 0x7f));
|
||||||
pixels.show();
|
pixels.show();
|
||||||
|
|
||||||
delay(250);
|
delay(500);
|
||||||
}
|
}
|
||||||
17114
hardware/Rev B/2212-tiny1616-dev-board-b-pcb.pdf
Normal file
17114
hardware/Rev B/2212-tiny1616-dev-board-b-pcb.pdf
Normal file
File diff suppressed because it is too large
Load Diff
6794
hardware/Rev B/2212-tiny1616-dev-board-b-schematic.pdf
Normal file
6794
hardware/Rev B/2212-tiny1616-dev-board-b-schematic.pdf
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user