readme
This commit is contained in:
parent
d669370c61
commit
e9b36a62fa
7 changed files with 258 additions and 1 deletions
98
README.md
98
README.md
|
|
@ -1,2 +1,98 @@
|
||||||
# badgeconf
|
# BadgeConf
|
||||||
|
|
||||||
|
**BadgeConf** is an electronic conference badge and a hands-on platform for learning [TinyGo](https://tinygo.org/) programming.
|
||||||
|
|
||||||
|
Whether you are attending a conference or just getting started with embedded development, BadgeConf gives you a real piece of hardware to hack on, complete with a ready-to-use firmware, step-by-step tutorials, and progressively more advanced examples that unlock every capability of the board.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
| Peripheral | Details |
|
||||||
|
|---|---|
|
||||||
|
| Color display | Compact full-color screen (FJ08K-S) |
|
||||||
|
| Buttons | 2 Cherry MX hot-swap mechanical switches |
|
||||||
|
| Joystick | Alps EC11E rotary encoder with push switch |
|
||||||
|
| RGB LEDs | 2 × SK6812MINI-E addressable LEDs |
|
||||||
|
| StemmQT connector | JST SH 4-pin for I2C expansion modules |
|
||||||
|
| Buzzer | 5.5 mm buzzer for audio feedback |
|
||||||
|
| Bluetooth | BLE via the nRF52840 on the nice!nano |
|
||||||
|
| USB HID | Acts as a keyboard/mouse over USB thanks to the nice!nano |
|
||||||
|
| Battery | Onboard battery cell header (2-pin 2.00 mm) |
|
||||||
|
|
||||||
|
The microcontroller is the **[nice!nano](https://nicekeyboards.com/nice-nano/)** (nRF52840), which is fully supported by TinyGo and exposes both USB HID and Bluetooth HID out of the box.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Repository layout
|
||||||
|
|
||||||
|
```
|
||||||
|
badgeconf/
|
||||||
|
├── hardware/ # KiCad PCB design files
|
||||||
|
│ └── PCB-kicad/
|
||||||
|
│ └── production/ # Gerbers, BOM, pick-and-place files
|
||||||
|
├── firmware/ # Ready-to-use TinyGo firmware (coming soon)
|
||||||
|
└── tutorials/ # Step-by-step examples (coming soon)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Getting started
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
- [TinyGo](https://tinygo.org/getting-started/) ≥ 0.32
|
||||||
|
- [Go](https://go.dev/dl/) ≥ 1.22
|
||||||
|
- A BadgeConf board (see hardware section below) or a compatible nice!nano dev board
|
||||||
|
|
||||||
|
### Flash the default firmware
|
||||||
|
|
||||||
|
```bash
|
||||||
|
tinygo flash -target=nicenano ./firmware/
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Hardware
|
||||||
|
|
||||||
|
All design files are located in [hardware/PCB-kicad/](hardware/PCB-kicad/).
|
||||||
|
Production files (Gerbers, BOM, positions) ready for fabrication are in [hardware/PCB-kicad/production/](hardware/PCB-kicad/production/).
|
||||||
|
|
||||||
|
### Bill of Materials
|
||||||
|
|
||||||
|
| Designator | Value / Part | Footprint | Qty |
|
||||||
|
|---|---|---|---|
|
||||||
|
| BT1 | Battery Cell | PinHeader 2×01 P2.00 mm Vertical | 1 |
|
||||||
|
| BZ1 | Buzzer | Buzzer 5.5 mm | 1 |
|
||||||
|
| DISPLAY1 | Display connector | PinHeader 1×08 P2.54 mm Vertical | 1 |
|
||||||
|
| H1, H2, H3, H4 | Mounting Hole | M2 | 4 |
|
||||||
|
| LED1, LED2 | YS-SK6812MINI-E | SK6812MINI-E | 2 |
|
||||||
|
| R1, R2 | Resistor | Axial DIN0207 L6.3 mm D2.5 mm P10.16 mm | 2 |
|
||||||
|
| STEMMAQT1 | StemmQT connector | JST SH SM04B-SRSS-TB 1×04 P1.00 mm | 1 |
|
||||||
|
| SW1, SW2B1 | Push switch | Cherry MX Hot-swap | 2 |
|
||||||
|
| SW2 | Rotary Encoder + Switch | Alps EC11E Vertical H20 mm | 1 |
|
||||||
|
| SW2B, SW2C | Key switch | Strap hole | 2 |
|
||||||
|
| U1 | nice!nano | nice_nano | 1 |
|
||||||
|
| U2 | FJ08K-S | FJ08K-S | 1 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tutorials & examples
|
||||||
|
|
||||||
|
The tutorial series walks you through every peripheral of the badge, starting from blinking an LED and ending with a Bluetooth HID device:
|
||||||
|
|
||||||
|
1. Hello, Badge! — blink the RGB LEDs
|
||||||
|
2. Drawing on the display — TinyGo + TinyDraw
|
||||||
|
3. Reading buttons and the joystick
|
||||||
|
4. Playing sounds with the buzzer
|
||||||
|
5. I2C expansion via StemmQT
|
||||||
|
6. Going wireless — BLE advertisements and GATT services
|
||||||
|
7. USB HID — turn the badge into a keyboard
|
||||||
|
|
||||||
|
*(Tutorials are coming soon — contributions welcome!)*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
See [LICENSE](LICENSE).
|
||||||
|
|
|
||||||
Binary file not shown.
BIN
hardware/PCB-kicad/production/badgeconf.zip
Normal file
BIN
hardware/PCB-kicad/production/badgeconf.zip
Normal file
Binary file not shown.
13
hardware/PCB-kicad/production/bom.csv
Normal file
13
hardware/PCB-kicad/production/bom.csv
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
Designator,Footprint,Quantity,Value,LCSC Part #
|
||||||
|
BT1,PinHeader_2x01_P2.00mm_Vertical,1,Battery_Cell,
|
||||||
|
BZ1,buzzer 5.5mm,1,Buzzer,
|
||||||
|
DISPLAY1,PinHeader_1x08_P2.54mm_Vertical,1,Conn_01x08_Socket,
|
||||||
|
"H1, H2, H3, H4",M2_HOLE_v2,4,MountingHole,
|
||||||
|
"LED1, LED2",YS-SK6812MINI-E,2,YS-SK6812MINI-E,
|
||||||
|
"R1, R2",R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal,2,R,
|
||||||
|
STEMMAQT1,JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal,1,Conn_01x04_Socket,
|
||||||
|
"SW1, SW2B1",CherryMX_Hotswap,2,SW_PUSH,
|
||||||
|
SW2,RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm,1,RotaryEncoder_Switch,
|
||||||
|
"SW2B, SW2C",strap_hole,2,KEY_SWITCH,
|
||||||
|
U1,nice_nano,1,nice_nano,
|
||||||
|
U2,FJ08K-S,1,fj08k-s,
|
||||||
|
19
hardware/PCB-kicad/production/designators.csv
Normal file
19
hardware/PCB-kicad/production/designators.csv
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
BT1:1
|
||||||
|
BZ1:1
|
||||||
|
DISPLAY1:1
|
||||||
|
H1:1
|
||||||
|
H2:1
|
||||||
|
H3:1
|
||||||
|
H4:1
|
||||||
|
LED1:1
|
||||||
|
LED2:1
|
||||||
|
R1:1
|
||||||
|
R2:1
|
||||||
|
STEMMAQT1:1
|
||||||
|
SW1:1
|
||||||
|
SW2:1
|
||||||
|
SW2B:1
|
||||||
|
SW2B1:1
|
||||||
|
SW2C:1
|
||||||
|
U1:1
|
||||||
|
U2:1
|
||||||
|
113
hardware/PCB-kicad/production/netlist.ipc
Normal file
113
hardware/PCB-kicad/production/netlist.ipc
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
P CODE 00
|
||||||
|
P UNITS CUST 0
|
||||||
|
P arrayDim N
|
||||||
|
317GND VIA MD0118PA00X+028214Y-013017X0236Y0000R000S3
|
||||||
|
3173V3 VIA MD0118PA00X+014719Y-029293X0236Y0000R000S3
|
||||||
|
3173V3 VIA MD0118PA00X+042519Y-019435X0236Y0000R000S3
|
||||||
|
3173V3 VIA MD0118PA00X+014850Y-024532X0236Y0000R000S3
|
||||||
|
317SK6812MINI-E VIA MD0118PA00X+044850Y-011855X0236Y0000R000S3
|
||||||
|
317SCL VIA MD0118PA00X+014708Y-030017X0236Y0000R000S3
|
||||||
|
317SDA VIA MD0118PA00X+015794Y-027949X0236Y0000R000S3
|
||||||
|
317ROT_B VIA MD0118PA00X+023879Y-016694X0236Y0000R000S3
|
||||||
|
317SW_1 VIA MD0118PA00X+044078Y-023775X0236Y0000R000S3
|
||||||
|
317SW_2 VIA MD0118PA00X+043679Y-019559X0236Y0000R000S3
|
||||||
|
317BATIN VIA MD0118PA00X+013794Y-017285X0236Y0000R000S3
|
||||||
|
317SCK VIA MD0118PA00X+030494Y-016894X0236Y0000R000S3
|
||||||
|
317BUZZER BZ1 -1 D0630PA00X+015435Y-030600X1000Y0000R000S0
|
||||||
|
317GND BZ1 -2 D0630PA00X+017600Y-030600X1000Y0000R000S0
|
||||||
|
367N/C H3 D1693UA00X+015354Y-033858X1693Y0000R000S0
|
||||||
|
317ROT_A SW2 -A D0394PA00X+043602Y-013189X0787Y0787R000S0
|
||||||
|
317ROT_B SW2 -B D0394PA00X+043602Y-015157X0787Y0000R000S0
|
||||||
|
317GND SW2 -C D0394PA00X+043602Y-014173X0787Y0000R000S0
|
||||||
|
317N/C SW2 -MP D0591PA00X+046555Y-011969X1260Y0787R000S0
|
||||||
|
317N/C SW2 -MP D0591PA00X+046555Y-016378X1260Y0787R000S0
|
||||||
|
317ROT_BTN SW2 -S1 D0394PA00X+049311Y-015157X0787Y0000R000S0
|
||||||
|
317GND SW2 -S2 D0394PA00X+049311Y-013189X0787Y0000R000S0
|
||||||
|
327GND Stemma-1 A01X+013956Y-028907X0236Y0610R090S2
|
||||||
|
3273V3 Stemma-2 A01X+013956Y-029301X0236Y0610R090S2
|
||||||
|
327SDA Stemma-3 A01X+013956Y-029694X0236Y0610R090S2
|
||||||
|
327SCL Stemma-4 A01X+013956Y-030088X0236Y0610R090S2
|
||||||
|
327N/C Stemma-MP A01X+012430Y-028395X0472Y0709R090S2
|
||||||
|
327N/C Stemma-MP A01X+012430Y-030600X0472Y0709R090S2
|
||||||
|
367N/C SW1 D0748UA00X+044654Y-029134X0748Y0000R000S0
|
||||||
|
367N/C SW1 D1181UA00X+045154Y-028134X1181Y0000R000S0
|
||||||
|
367N/C SW1 D1614UA00X+046654Y-029134X1614Y0000R270S0
|
||||||
|
367N/C SW1 D1181UA00X+047654Y-027134X1181Y0000R000S0
|
||||||
|
367N/C SW1 D0748UA00X+048654Y-029134X0748Y0000R000S0
|
||||||
|
327SW_1 SW1 -1 A02X+043864Y-028134X1004Y0984R180S1
|
||||||
|
327GND SW1 -2 A02X+048954Y-027134X1004Y0984R180S1
|
||||||
|
3173V3 R1 -1 D0315PA00X+030400Y-018800X0630Y0000R180S0
|
||||||
|
317SDO R1 -2 D0315PA00X+026400Y-018800X0630Y0000R180S0
|
||||||
|
367N/C H4 D1693UA00X+047638Y-033858X1693Y0000R000S0
|
||||||
|
367N/C SW2b1 D0748UA00X+044654Y-021260X0748Y0000R000S0
|
||||||
|
367N/C SW2b1 D1181UA00X+045154Y-020260X1181Y0000R000S0
|
||||||
|
367N/C SW2b1 D1614UA00X+046654Y-021260X1614Y0000R270S0
|
||||||
|
367N/C SW2b1 D1181UA00X+047654Y-019260X1181Y0000R000S0
|
||||||
|
367N/C SW2b1 D0748UA00X+048654Y-021260X0748Y0000R000S0
|
||||||
|
327SW_2 SW2b1 -1 A02X+043864Y-020260X1004Y0984R180S1
|
||||||
|
327GND SW2b1 -2 A02X+048954Y-019260X1004Y0984R180S1
|
||||||
|
317SH}P0.06-PAD1) U1 -1 D0430PA00X+013370Y-017717X0690Y0000R000S0
|
||||||
|
317SH}P0.08-PAD2) U1 -2 D0430PA00X+014370Y-017717X0690Y0000R000S0
|
||||||
|
317GND U1 -3 D0430PA00X+015370Y-017717X0690Y0000R000S0
|
||||||
|
317GND U1 -4 D0430PA00X+016370Y-017717X0690Y0000R000S0
|
||||||
|
317SDA U1 -5 D0430PA00X+017370Y-017717X0690Y0000R000S0
|
||||||
|
317SCL U1 -6 D0430PA00X+018370Y-017717X0690Y0000R000S0
|
||||||
|
317ROT_BTN U1 -7 D0430PA00X+019370Y-017717X0690Y0000R000S0
|
||||||
|
317ROT_A U1 -8 D0430PA00X+020370Y-017717X0690Y0000R000S0
|
||||||
|
317ROT_B U1 -9 D0430PA00X+021370Y-017717X0690Y0000R000S0
|
||||||
|
3171-P0.11-PAD10) U1 -10 D0430PA00X+022370Y-017717X0690Y0000R000S0
|
||||||
|
317SW_1 U1 -11 D0430PA00X+023370Y-017717X0690Y0000R000S0
|
||||||
|
317SW_2 U1 -12 D0430PA00X+024370Y-017717X0690Y0000R000S0
|
||||||
|
317BLK U1 -13 D0430PA00X+024370Y-011717X0690Y0000R000S0
|
||||||
|
317CS U1 -14 D0430PA00X+023370Y-011717X0690Y0000R000S0
|
||||||
|
317SK6812MINI-E U1 -15 D0430PA00X+022370Y-011717X0690Y0000R000S0
|
||||||
|
317DC U1 -16 D0430PA00X+021370Y-011717X0690Y0000R000S0
|
||||||
|
317RES U1 -17 D0430PA00X+020370Y-011717X0690Y0000R000S0
|
||||||
|
317VR_Y U1 -18 D0430PA00X+019370Y-011717X0690Y0000R000S0
|
||||||
|
317VR_X U1 -19 D0430PA00X+018370Y-011717X0690Y0000R000S0
|
||||||
|
317BUZZER U1 -20 D0430PA00X+017370Y-011717X0690Y0000R000S0
|
||||||
|
3173V3 U1 -21 D0430PA00X+016370Y-011717X0690Y0000R000S0
|
||||||
|
317(U1-RST-PAD22) U1 -22 D0430PA00X+015370Y-011717X0690Y0000R000S0
|
||||||
|
317GND U1 -23 D0430PA00X+014370Y-011717X0690Y0000R000S0
|
||||||
|
317BATIN U1 -24 D0430PA00X+013370Y-011717X0690Y0000R000S0
|
||||||
|
317SCK U1 -31 D0430PA00X+022370Y-016717X0690Y0000R000S0
|
||||||
|
317SDO U1 -32 D0430PA00X+022370Y-015717X0690Y0000R000S0
|
||||||
|
3171-P1.07-PAD33) U1 -33 D0430PA00X+022370Y-014717X0690Y0000R000S0
|
||||||
|
317N/C U1 -34 D0430PA00X+023090Y-016607X0690Y0000R000S0
|
||||||
|
317N/C U1 -35 D0430PA00X+023090Y-015607X0690Y0000R000S0
|
||||||
|
317N/C U1 -36 D0430PA00X+023090Y-014607X0690Y0000R000S0
|
||||||
|
317N/C U1 -37 D0430PA00X+012370Y-011717X0690Y0000R000S0
|
||||||
|
317N/C U1 -38 D0430PA00X+012370Y-017717X0690Y0000R000S0
|
||||||
|
317GND DISPLA-1 D0394PA00X+027953Y-009449X0669Y0669R270S0
|
||||||
|
3173V3 DISPLA-2 D0394PA00X+028953Y-009449X0669Y0000R270S0
|
||||||
|
317SCK DISPLA-3 D0394PA00X+029953Y-009449X0669Y0000R270S0
|
||||||
|
317SDO DISPLA-4 D0394PA00X+030953Y-009449X0669Y0000R270S0
|
||||||
|
317RES DISPLA-5 D0394PA00X+031953Y-009449X0669Y0000R270S0
|
||||||
|
317DC DISPLA-6 D0394PA00X+032953Y-009449X0669Y0000R270S0
|
||||||
|
317CS DISPLA-7 D0394PA00X+033953Y-009449X0669Y0000R270S0
|
||||||
|
317BLK DISPLA-8 D0394PA00X+034953Y-009449X0669Y0000R270S0
|
||||||
|
367N/C H1 D1693UA00X+015354Y-009449X1693Y0000R000S0
|
||||||
|
367N/C U2 D0630UA00X+013275Y-020977X0630Y0000R000S0
|
||||||
|
367N/C U2 D0630UA00X+018000Y-025701X0630Y0000R000S0
|
||||||
|
317GND U2 -1 D0433PA00X+016425Y-019953X0600Y0000R000S0
|
||||||
|
317VR_X U2 -2 D0433PA00X+015637Y-019953X0600Y0000R000S0
|
||||||
|
3173V3 U2 -3 D0433PA00X+014850Y-019953X0600Y0000R000S0
|
||||||
|
3173V3 U2 -4 D0433PA00X+019023Y-024126X0600Y0000R000S0
|
||||||
|
317VR_Y U2 -5 D0433PA00X+019023Y-023339X0600Y0000R000S0
|
||||||
|
317GND U2 -6 D0433PA00X+019023Y-022552X0600Y0000R000S0
|
||||||
|
317(U2-SW-A-PAD7) U2 -7 D0433PA00X+018236Y-020189X0600Y0000R000S0
|
||||||
|
317(U2-SW-B-PAD8) U2 -8 D0433PA00X+018787Y-020741X0600Y0000R000S0
|
||||||
|
367N/C H2 D1693UA00X+047638Y-009449X1693Y0000R000S0
|
||||||
|
3173V3 R2 -1 D0315PA00X+036400Y-018800X0630Y0000R180S0
|
||||||
|
317SCK R2 -2 D0315PA00X+032400Y-018800X0630Y0000R180S0
|
||||||
|
317BATIN BT1 -1 D0315PA00X+023400Y-019313X0531Y0531R090S0
|
||||||
|
317GND BT1 -2 D0315PA00X+023400Y-020100X0531Y0000R090S0
|
||||||
|
3273V3 LED1 -1 A02X+045177Y-022953X0669Y0394R180S1
|
||||||
|
327ET-(LED1-DOUT) LED1 -2 A02X+045177Y-023504X0669Y0394R180S1
|
||||||
|
327GND LED1 -3 A02X+047343Y-023504X0669Y0394R180S1
|
||||||
|
327SK6812MINI-E LED1 -4 A02X+047343Y-022953X0669Y0394R180S1
|
||||||
|
3273V3 LED2 -1 A02X+045374Y-030827X0669Y0394R180S1
|
||||||
|
327ED2-DOUT-PAD2) LED2 -2 A02X+045374Y-031378X0669Y0394R180S1
|
||||||
|
327GND LED2 -3 A02X+047539Y-031378X0669Y0394R180S1
|
||||||
|
327ET-(LED1-DOUT) LED2 -4 A02X+047539Y-030827X0669Y0394R180S1
|
||||||
|
999
|
||||||
16
hardware/PCB-kicad/production/positions.csv
Normal file
16
hardware/PCB-kicad/production/positions.csv
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
Designator,Mid X,Mid Y,Rotation,Layer
|
||||||
|
BT1,59.436,-50.054,270.0,bottom
|
||||||
|
BZ1,41.954,-77.724,0.0,top
|
||||||
|
DISPLAY1,79.89,-24.0,90.0,top
|
||||||
|
LED1,117.5,-59.0,0.0,bottom
|
||||||
|
LED2,118.0,-79.0,0.0,bottom
|
||||||
|
R1,72.136,-47.752,180.0,top
|
||||||
|
R2,87.376,-47.752,180.0,top
|
||||||
|
STEMMAQT1,33.4472,-74.924,270.0,top
|
||||||
|
SW1,117.8785,-71.735,0.0,top
|
||||||
|
SW2,118.0,-36.0,0.0,top
|
||||||
|
SW2B,49.982,-24.13,0.0,top
|
||||||
|
SW2B1,117.8785,-51.735,0.0,top
|
||||||
|
SW2C,109.982,-24.13,0.0,top
|
||||||
|
U1,46.66,-37.38,0.0,top
|
||||||
|
U2,41.0,-58.0,0.0,top
|
||||||
|
Loading…
Reference in a new issue