

Coin-operated vending machine using flip-flop counter logic, no microcontroller.
- Size
- 90 × 55 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 20
- Nets
- 27
- Pads
- 96
- Tracks, vias
- 233, 0
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 22 Oct 2026
- Updated
- 22 Oct 2026
Overview
VENDO is an open-source printed circuit board by lgdl-design, from the lgdl-design/vending_machine repository on GitHub. It is a 2-layer board of 90 × 55 mm with 20 parts on 27 nets, routed with 233 tracks and 0 vias.
Its parts include 8 resistors, 5 ICs and 4 connectors.
README
README.mdVending Machine
A coin-counting vending machine that uses flip-flop logic to count coins. It runs on a custom-built PCB and does not use a microcontroller.

Hardware
- Flip-Flops: Basic sequential circuit components that provide memory. Used to count coins in the vending machine.
- IR Sensor: Detects a falling coin. It points at a black background and detects the change in color when a coin passes in front of it, which activates the counting circuit. A second IR sensor at the end of the machine detects when the object has been dispensed, which resets the counter.
- L293D: Motor driver that runs the motor for the wheel mechanism used to dispense objects.
- 5V DC Motor: Spins the wheel mechanism to dispense the object.
About The Machine
The vending machine was designed as a college project to demonstrate the use of flip-flops in practical circuits. We used a JK flip-flop based asynchronous counter. The IR sensor input drives the count up directly rather than a separate clock signal. The JK flip-flops also let us reset the counter using the IR sensor at the end of the machine once the object is dispensed.
The machine runs on a custom-built PCB that houses the logic components, including the gates, flip-flops, and the other parts that operate the rest of the machine. The PCB's output goes to a 7-segment display that shows the current coin count, and to the motor driver that drives the dispensing motor.
Design
3D-printed body, designed in Autodesk Fusion:

PCB
Designed in KiCAD and fabricated by toner transfer.


Files
- 3D model (STL): Vendo.stl
- PCB bottom copper layer (PDF): VENDO-B_Cu.pdf
- KiCAD project: VENDO.kicad_pro
Parts
20| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | R | Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal | R1, R2, R3, R4, R5, R6, R7, R8 |
| 2 | MountingHole | MountingHole:MountingHole_2.7mm | H2, H3 |
| 2 | Screw_Terminal_01x03 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-3-5.08_1x03_P5.08mm_Horizontal | J2, J3 |
| 1 | 7404 | Package_DIP:DIP-14_W7.62mm | U2 |
| 1 | 7408 | Package_DIP:DIP-14_W7.62mm | U4 |
| 1 | 7414 | Package_DIP:DIP-14_W7.62mm | U5 |
| 1 | 7447 | Package_DIP:DIP-16_W7.62mm | U3 |
| 1 | 74LS76 | Package_DIP:DIP-16_W7.62mm_Socket | U1 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | Screw_Terminal_01x02 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J1 |
| 1 | Screw_Terminal_01x08 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-9-5.08_1x09_P5.08mm_Horizontal | J4 |
Similar boards
- 2 layers66.9 × 74.5 mm

- 2 layers86.4 × 64.8 mm

- 2 layers36.2 × 26.8 mm

Esp32 minimal
atopile/atopile
Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️
20 parts4kMIT - 2 layers108.1 × 393.8 mm

Sweep compact ble
davidphilipbarr/Sweep
Sweep - a small promicro based keyboard inspired by the Ferris.
20 parts2.1k - 2 layers26 × 15.9 mm

TPS54340 Buck Regulator
rusefi/rusefi
rusefi - GPL internal combustion engine control unit
20 parts1.2k - 2 layers67.6 × 30.5 mm

Rgb to hdmi
hoglet67/RGBtoHDMI
Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI
20 parts1kGPL-3.0 - 2 layers44.3 × 28.7 mm

Lin bus adapter esp32
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
20 parts915 - 2 layers89.5 × 61.6 mm

FreeDeck TH 2020-02
FreeYourStream/freedeck-hardware
all the stuff you need to build your own FreeDeck
20 parts772
Questions
How big is the VENDO PCB?
It measures 90 × 55 mm and has 2 copper layers, 1.6 mm thick.
What parts does the VENDO use?
20 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 VENDO KiCad files?
From the lgdl-design/vending_machine repository on GitHub, at the commit this page was made from: the board is VendoPCB/VENDO.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the VENDO design in my own project?
Its repository states no licence, so its author keeps all rights: ask lgdl-design before reusing the design.