
TO bus voltage bargraph
jmkasunich/TO-bus-voltage-bargraph
PCB for a two-terminal bus-powered bar graph display

KiCAD etc files for the ICA 2026 PCB badge.
Game Studies 1.0 2026 is an open-source printed circuit board by natpoor, from the natpoor/badge_ICA2026 repository on GitHub. It is a 2-layer board of 150.3 × 105.1 mm with 17 parts on 38 nets, routed with 105 tracks and 16 vias.
It is built around the ATMEGA328PB-AU, TL3300DF160Q and AA3528LSECKT/J3, with the AA3528LSYCKT/J3, AA3528LVBS/D and AA3528LZGCKT among its other parts. Its parts include 6 resistors, 4 diodes, 2 switches, 1 capacitor and 1 IC. It belongs with the lEDs and displays boards and the AVR (ATmega, ATtiny) boards of this library.
KiCAD etc files for the ICA 2026 PCB badge. I am not entirely sure which files to place here, as I read some varying info on the web, so, best guess.
These files should get you a game-controller shaped blinking badge (four LEDs, colors/positions matching the Xbox controller), based on the ATMEGA 328PB chip. Has a Sleep button and a Mode button (to change blink patterns). Wants a 3v coin battery (2025/2032), and uses a connector off the programmer from Tag-Connect. Only has SMD components (so no THT on the back to catch on clothing, it's a badge to be worn).
My coding is mostly Python and R scripts (linear), and I learned just before event-loop programming took hold, so my code works but I have been told it is a bit odd and there are better ways to do it. Next time!
Should have enough files for...
Badge - shape, art, components and layout (so the schematic, layout, and program files).
BOM - Bill Of Materials (the parts to order).
Code - Arduino / C++ code (the .ino file).
None of this would have happened without a lot of helpful people - posts to forums about schematics and code, sample working schematics (I copied the Arduino Uno schematic to start), some help from friends and relatives who know this material, and help from some people on the Arduino forum about the sleep code for the chip.
Fall 2026 Update
While debugging the 2027 code (for the 2027 badge), we used Claude Code because some things that had worked in the 2026 code weren’t working. We discovered some errors in the 2026 code that either didn’t effect things or worked via a bit of random luck (specifically the pin assignments for the LEDs).
I can’t actually test these changes on the 2026 badges because I gave all of them away! Which was great. But the changes work well enough in the 2027 code. So I’m not updating the code for 2026, although if I ever ordered more of those badges I would and then I could test it.
LED pins should be…
const int some_led = PIN_PD0
…otherwise they aren’t quite assigned correctly except in some cases, but that’s not intentionally it’s just the two naming schemes happen to align briefly. That is, if you use the “PD0” code/location/name, you have to use “PIN_” in front of it.
Also, from Claude, and assuming no hallucinations, but these changes all seem to not negatively affect the 2027 board:
The analog comparator is never turned back on. ACSR |= (0 << ACD) does nothing. It should be...
ACSR &= ~(1 << ACD);
[That’s annoying since I got that code from somewhere official looking.]
The brown-out detector isn't actually turned off during sleep. sleep_bod_disable() only lasts a few clock cycles before sleep has to start, and the ADC/ACSR lines in between use up that window. Use this order:
ADCSRA &= ~(1<<ADEN);
ACSR |= (1<<ACD);
sleep_enable();
sleep_bod_disable();
sleep_mode();
Wake-up interrupt names. These work by luck. PD3 is PCINT19. Writing PCINT3 into PCMSK2 happens to set the same bit, but..
bitSet(PCMSK2, PCINT19)
is clearer.
The 328PB also has a fourth pin-change group, so the "clear all flags" line should be:
PCIFR = 0x0F
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | RC0805JR-0710KL | YAGEO resistors 10kohm:RESC2012X60N | R5, R6 |
| 2 | TL3300DF160Q | E-Switch TL3300DF160Q:SW_TL3300DF160Q | S1, S2 |
| 1 | 3x2 M | Tag Connect footprint data:Tag-Connect_TC2030-IDC-NL_2x03_P1.27mm_Vertical | ICSP1 |
| 1 | AA3528LSECKT/J3 | LED_SMD:Kingbright LED_AA3528LSECKT&slash_J3 | LED2 |
| 1 | AA3528LSYCKT/J3 | LED_SMD:Kingbright LED_AA3528LSYCKT&slash_J3 | LED1 |
| 1 | AA3528LVBS/D | LED_SMD:Kingbright LED_AA3528LVBS&slash_D | LED4 |
| 1 | AA3528LZGCKT | LED_SMD:Kingbright LED_AA3528LZGCKT | LED3 |
| 1 | ATMEGA328PB-AU | footprints:32A_MCH | U1 |
| 1 | BH-67D-5 | BH_67D_5:BAT_BH-67D-5 | BT1 plus side up |
| 1 | C0603X7R101-104KNE | Venkel capacitor:CAP_C0603_VEN | C1 |
| 1 | LOGO | Artwork:ICA SA Springbok smaller | G*** |
| 1 | RC0805FR-07178RL | YAGEO 0740R2L:RC0805N_YAG | R3 |
| 1 | RC0805FR-0740R2L | YAGEO 0740R2L:RC0805N_YAG | R4 |
| 1 | RC0805FR-07549RL | YAGEO 0740R2L:RC0805N_YAG | R2 |
| 1 | RC0805FR-0786R6L | YAGEO 0740R2L:RC0805N_YAG | R1 |

jmkasunich/TO-bus-voltage-bargraph
PCB for a two-terminal bus-powered bar graph display



Karpova-Lab/pyControl-D-Series-Breakout
A breakout board for use with pyControl behavior control framework

ECE477Group13/hardware_pcb
GitHub backup of PCB design files (Schematic and Board files)



kiu/lofence
LoFence is a LoRaWAN capable IoT electric fence monitoring system running on the The Things Network.
It measures 150.3 × 105.1 mm and has 2 copper layers, 1.6 mm thick.
17 parts, built around the ATMEGA328PB-AU, TL3300DF160Q, AA3528LSECKT/J3 and AA3528LSYCKT/J3. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the natpoor/badge_ICA2026 repository on GitHub, at the commit this page was made from: the board is Game_Studies_1.0_2026.kicad_pcb and its schematic Game_Studies_1.0_2026.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask natpoor before reusing the design.