

#1 Blinkenlight
GPIO PCBs for experiments
- Size
- 52.3 × 21.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 18
- Nets
- 45
- Pads
- 70
- Tracks, vias
- 85, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 10 Apr 2023
- Updated
- 25 Apr 2024
Overview
#1 Blinkenlight is an open-source printed circuit board by Kayto, from the Kayto/AgonLight_GPIO repository on GitHub. It is a 2-layer board of 52.3 × 21.5 mm with 18 parts on 45 nets, routed with 85 tracks and 0 vias.
Its parts include 8 resistors and 1 connector.
README
README.mdAgonLight_GPIO
Background
Agon Light is a compact low-cost board that is both a microcomputer and a BASIC-programmed microcontroller. It is intended to be easily hackable and allow interfacing with the outside world. It features 20x GPIO, plus SPI, I2C, UART for serial communication and allows a great opportunity for learning and experimentation.
Introduction
This repo is intended to provide some simple add on boards for gpio examples and experiments. Although I am of the 8 bit vintage, I consider myself a novice. I enjoy hardware making as a way to better understand the inner hardware workings and to ultimately improve my coding. All is a work in progress and is open to contributions and ideas, within the stated aims and limitations of this project.
Aims
- Provide a range of simple IO hardware to aid coding in BBC BASIC.
- To be useful in gaining a general understanding of GPIO usage and real world interfacing.
- Stick to the general GPIOs only.
- Avoid cables and breadboards and try to fit a standardised form factor. In this case a plugable "faceplate" for the exiting gpio port. The board should avoid constraining any existing ports and access.
- Ideally, provide onboard visual feedback to aid learning.
- Avoid additional hardware processing on the add on board. Keeping access to the low level hardware prevents adding more complications when learning. I.e. GALs, additional controller ICs are to be avoided.
The PCBs
KiCad, Schematics and Gerbers are provided. Renders of the boards are shown in the KiCad directory. Please review before making a commitment. No warranties or support are provided. As of this date PCBs are not yet tested but I will mark as such once done.
#1 - The Blinkenlight. - tested working

Every 8 bit computer needs blinky lights. Not only do they look like good, they are useful for debugging and understanding what is going on at a bit level. The Blinkenlight PCB is pretty much the breadboard example from the official documentation but without the fiddly wires. It directly plugs into the GPIO header and provides an easily viewable "faceplate". This presents the form for future boards.
#2 - 7 segment display. - tested working

This is a single 7 segment display linked to the Port C GPIOs. Allows a simple message display with a delay. Ok its only single digits but something to build on. A caution on this is that you need a 7 segment display to suit the pin out (they do vary). Review the schematics, Pin 3 and 8 are power.I have provided a solder jumper for setting of common anode and common cathode displays. Note that for common anode the coding assumes a LOW signal for on and HIGH for off.
#3 - Double Seven

In progress.
This is a double 7 segment display linked to the Port C GPIOs for data and 2No. Port D GPIOs to do the multiplexing. To save space resistor networks are used instead of individual resistors.
#4 - Moody. - tested working

This is an RGB LED linked to the Port C GPIOs, 2No. push buttons are also provided. The two push buttons on PC_3 and PC_4 are to establish some input and mode switching capability.
The Code
I have created some code to introduce the boards. As said, coding is not my strength so excuse the code, in some cases its not a great example but enough to get things going and for a challenge to improve. To view the code add the .BBC files to the SD card and load via BBC BASIC then type LIST.
| Board | Code | Description |
|---|---|---|
| #1_Blinkenlight | PortC_blink.bbc | select individual LEDs, set number of blinks and speed. |
| #1_Blinkenlight | gpioknight.bbc | Some blinky patterns. Excuse the code, its a bad example with lots of inefficient duplication to get things done. The challenge is open to simplify this, perhaps a data array for the gpio commands and a single procedure for the delay? |
| #1_Blinkenlight | random8blink.bbc | An easy change to PortC-Blink, uses the random function and fixed blink speed to just randomly blink the 8 LEDs! |
| #2_seven_segment | diceroll.bbc | A random 1-6 generator for board games, handy. |
| #2_seven_segment | counter.bbc | A single digit counter, you're welcome. |
| #4_Moody | moodyfade.bbc | An RGB fade using some crude PWM in BBC BASIC. |
| #4_Moody | moodybutton.bbc | The RGB fade but now includes buttons. Button A for on and off. Button B to increase the fade speed. |
Disclaimer & Credits
Just a note that I am not in any way affiliated or linked with the Agon project. I am just an aspiring maker, sharing hobbyist builds. Thanks to the Agon project and supporters.
Parts
18| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 1K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R0, R1, R2, R3, R4, R5, R6, R7 |
| 8 | LED | LED_THT:LED_D3.0mm | PC_0, PC_1, PC_2, PC_3, PC_4, PC_5, PC_6, PC_7 |
| 1 | Conn_02x19_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x19_P2.54mm_Vertical | J1 |
The 17 most common of 18 parts.
More from Kayto/AgonLight_GPIO
2- 2 layers52.3 × 21.5 mm

- 2 layers52.3 × 21.5 mm

Similar boards
- 2 layers27.9 × 16.5 mm

- 2 layers42.7 × 13.7 mm

Stm32-mini12864
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
18 parts1.1kGPL-3.0 - 2 layers41.2 × 46.6 mm

- 2 layers44 × 51.3 mm

4272MAVcoder R4
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
18 parts915 - 2 layers28.3 × 14.3 mm

Tap Photosensor PCB
VoronDesign/Voron-Tap
Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:
18 parts716GPL-3.0 - 2 layers20.3 × 15.2 mm

L0 stepper driver
Luos-io/luos_engine
Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.
18 parts546MIT - 2 layers

- 2 layers42.5 × 28.8 mm

C5VRX JACK DIY V2
Twotoz/C5VRX
Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS
18 parts515GPL-3.0
Questions
How big is the #1 Blinkenlight PCB?
It measures 52.3 × 21.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the #1 Blinkenlight use?
18 parts. 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.
Where can I download the #1 Blinkenlight KiCad files?
From the Kayto/AgonLight_GPIO repository on GitHub, at the commit this page was made from: the board is KiCad/#1_Blinkenlight/#1_Blinkenlight.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the #1 Blinkenlight design in my own project?
Its repository states no licence, so its author keeps all rights: ask Kayto before reusing the design.