

NewMain
Open source vending machine controller firmware
- Size
- 100.3 × 72.4 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 13
- Nets
- 10
- Pads
- 36
- Tracks, vias
- 55, 1
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 25 Jan 2016
- Updated
- 11 Oct 2023
Overview
NewMain is an open-source printed circuit board by temoto, from the temoto/vender repository on GitHub, published under the CC0-1.0 licence. It is a 2-layer board of 100.3 × 72.4 mm with 13 parts on 10 nets, routed with 55 tracks and 1 via.
It is built around the BC807. Its parts include 5 resistors, 5 connectors, 2 transistors and 1 IC. It belongs with the interfaces and adapters boards of this library.
Main components
1README
readme.mdWhat
Vender is free open source VMC (Vending Machine Controller).
Status:
- MDB adapter hardware module - works
- VMC - in development
- Configuration editor - planned
Hardware
Required for VMC:
- Works on RaspberryPI and OrangePi Lite (H3). Possibly anything with GPIO that runs Go/Linux.
- MDB signal level inverter and current limiter - required, see files in
hardware/schematic - MDB adapter, takes care of 9bit and timing, we use ATMega328p with
hardware/mega-firmwareIt is not mandatory, software option is available: https://github.com/temoto/iodin
Supported peripherals:
- MDB coin acceptor, bill validator
- Evend MDB drink devices
- any MDB device via configuration scenarios (work in progress)
- MT16S2R HD44780-like text display
- TWI(I2C) numpad keyboard
- SSD1306-compatible graphic display (planned)
Design
VMC overall structure:
- engine (see internal/engine packages) executes actions, handles concurrency and errors
- device/feature drivers provide actions to engine
- configuration scenario specifies action groups and when to execute them
Build
- Install Go 1.15 from https://golang.org/dl/
- Set target environment, default is
GOARCH=arm GOOS=linux - Run
script/build - Deploy file
build/venderto your hardware
Supported Go versions: 1.13 and 1.15
Vender compiled with Go 1.13 was successfully running in production until release v0.200630.0. Go 1.14 introduced async preemtible runtime by interrupting syscalls. Go 1.15 os and net packages automatically retry on EINTR.
Parts
13| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | Conn_01x01 | Connectors:Pin_d0.7mm_L6.5mm_W1.8mm_FlatFork | J2-1, J2-2, J2-3, J2-4 |
| 2 | 680R | Resistors_SMD:R_0603_HandSoldering | R4, R5 |
| 2 | BC807 | TO_SOT_Packages_SMD:SOT-23 | Q1, Q2 |
| 1 | 10K | Resistors_SMD:R_0603_HandSoldering | R2 |
| 1 | 2K2 | Resistors_SMD:R_0603_HandSoldering | R1 |
| 1 | 39R | Resistors_SMD:R_0603_HandSoldering | R3 |
| 1 | DC24V-DC5V | KiCad:dc24-dc5 | U1 |
| 1 | MDB | Connectors_Molex:Molex_MegaFit_2x03x5.70mm_Angled | J1 |
Questions
How big is the NewMain PCB?
It measures 100.3 × 72.4 mm and has 2 copper layers, 1.6 mm thick.
What parts does the NewMain use?
13 parts, built around the BC807. 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 NewMain KiCad files?
From the temoto/vender repository on GitHub, at the commit this page was made from: the board is hardware/schematic/KiCad/NewMain.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the NewMain design in my own project?
Its repository publishes it under the CC0-1.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
More from temoto/vender
1- 2 layers122.4 × 69.1 mm

Similar boards
- 4 layers129 × 104.6 mm

- 2 layers55 × 100 mm

- 2 layers40 × 24 mm

- 2 layers89.6 × 79 mm

TDR 5351 core
MR-DOS/TDR_diploma_thesis
Time domain reflectometer. Includes Hardware, firmware and GUI in Octave. Also a diploma thesis.
199 parts33GPL-3.0 - 2 layers100 × 100 mm

- 2 layers62.5 × 47 mm

Philphoc luma
Jana-Marie/philphoc-luma
Zigbee/Hue to WS2812 or similar addressable LED bridge.
45 parts19 - 6 layers60.6 × 100 mm

Gecko5education
logisim-evolution/GECKO5Education
Openhardware educational platform based on the ideas of the ulx3s and Gecko4Education
311 parts18MIT - 4 layers100 × 100 mm

MWGEN G1
MR-DOS/MWGEN-G1
12.5 MHz - 6400 MHz (LMX2572) or even up to 20 GHz (LMX2595) generator board with int./ext. reference.
373 parts18GPL-3.0