Skip to the content
2 layers54.3 × 82.5 mmControl, the printed circuit board in 3D

project of a toy for a 3-5 year child, that is aimed at learning basic programming skills. robot has 4 buttons for programming directions and one button to start it.

Size
54.3 × 82.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
48
Nets
47
Pads
200
Tracks, vias
294, 28
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
10 Jul 2022
Updated
20 Sep 2024

Overview

Control is an open-source printed circuit board by el-bart, from the el-bart/lemurs_bobik repository on GitHub. It is a 2-layer board of 54.3 × 82.5 mm with 48 parts on 47 nets, routed with 294 tracks and 28 vias.

It is built around the ULN2003A and MMFTP84W. Its parts include 18 resistors, 9 diodes, 6 ICs, 5 connectors and 4 capacitors.

Main components

2

README

README.md

Lemur's Bobik

project of a toy for a 3-5 year child, that is aimed at learning basic programming skills. robot has 4 buttons for programming directions and one button to start it.

program is generated by a sequence of buttons pressed (eg. forward, forward, left). after pressing "start" button, robot begins execution of a given sequence. its programming is thus similar to Logo programming language, but does not require one to be able to read/write, or spending time in front of the screen.

robot's body is designed to mimic a bit autonomous vacuum cleaner robots, that children know and love. :)

comparison of toy and real robot

robot's interior

HW parts

  • 2x unipolar stepper motors (M42SP-5M - from old desktop printer)
  • 12x M3x10 screws
  • 12x M3 threaded inserts
  • velcro for holding LiPo pack in place (length according to your LiPo size)

3D printed parts

seal is supposed to be printed in TPU. after printing, it shall be glued to a bottom part with CA glue. without gluing it will be very hard to put things in place.

all the other elements can be printed in pretty much anything. my build was just in regular, white PLA.

it's recommend to put some felt under from and rear edges of the bottom part. it's also worth gluing a thin strip of felt around wheels' external circumference. this will protect floors from sharp edges and decrease the amount of noise, on flat floors.

while the seal is optional, it's highly recommended to silence vibrations.

electronics

main control board

for electronic components checkout BOM, generated by builds, namely:

text
board/hw/control/build/bom.csv
board/hw/buttons/build/bom.csv

known issues

engines are hard to mount

screws (especially bottom one) are hard to reach. in a hindsight whole engine-wheel module should have been reworked. engines could drive wheels directly, and me mounted with threaded inserts. this would simplify things a lot, and removed noisy gears altogether.

missing visual feedback

on top panel there should be more LEDs. these shall indicate:

  • button press recorded (possible with dir)
  • powered-on state
  • low battery state

batter status

it should be possible to check batter status w/o opening enclosure and disconnecting it. currently it's very absorbing and inconvenient.

OTA

programming via AVR's ISP is annoying and requires disassembly. as of writing these words (HW v2.1) it also requires unplugging main battery (to be fixed in next HW release). OTA re-flashing would be an improvement.

debugability

ATtinty2313 in current setting does not have enough pins to provide any feedback (even LED blinking). more powerful µC should be used instead, that'd allow for serial (or BTLE) port debugging, to monitor state. on top of that in-system gdb would save time for finding stupid mistakes. this would greatly simplify finding issues and diagnosing inconveniences, that currently require a lot of fuss and re-flashing.

need better engines

desktop printer engines used require unusual voltage (here: 24V, 0.35A). they are also quite weak (here: can easily be stopped with 2 fingers). more powerful NEMA 17 engines would be far superior choice. using bipolar steppers would also allow to use off the shelve stepper drivers and provide more torque.

Parts

48
QtyValueFootprintReferences
10100kRResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R3, R4, R5, R6, R7, R8, R9, R16, R17
710kRResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR2, R10, R11, R12, R13, R14, R15
7TS418CDiode_SMD:D_0805_2012MetricD1, D2, D3, D4, D5, D6, D9
4M3MountingHole:MountingHole_3.2mm_M3_Pad_TopBottom1, 2, 3, 4
4ULN2003APackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU1, U2, U3, U4
2100nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC2, C4
24.7µFCapacitor_SMD:CP_Elec_4x5.8C5, C6
11kRResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR18
12N7002Package_TO_SOT_SMD:SOT-23Q3
1AVR-ISP-10Connector_IDC:IDC-Header_2x05_P2.54mm_VerticalJ6
1BZY55B3v0-RYGDiode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolderD7
1LED greenLED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolderD8
1LM78L05_SO8Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU5
1MMFTP84WPackage_TO_SOT_SMD:SOT-323_SC-70Q1
1TINY2313Package_SO:SOIC-20W_7.5x12.8mm_P1.27mmIC1
1buttonsConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ3
1powerConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1stepper #1Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1
1stepper #2Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ2

More from el-bart/lemurs_bobik

1
  • 2 layers88.6 × 44.4 mmButtons, the printed circuit board in 3D

    Buttons

    el-bart/lemurs_bobik

    project of a toy for a 3-5 year child, that is aimed at learning basic programming skills. robot has 4 buttons for programming directions and one button to start it.

    11 parts

Similar boards

  • 2 layers107 × 54 mmInterface board 1, the printed circuit board in 3D

    Interface board 1

    Green-bms/SmartBMS

    Open source Smart Battery Management System

    63 parts756
  • 4 layers93.3 × 60.3 mmArduino 386EX V5, the printed circuit board in 3D

    Arduino 386EX V5

    dbalsom/arduinoX86

    An interface between an Arduino Due or Arduino GIGA and 8088, 8086, V20, V30, 186 or 286 CPUs

    56 parts114
  • 2 layers52 × 61 mmArduino motorfocus, the printed circuit board in 3D

    Arduino motorfocus

    fehlfarbe/arduino-motorfocus

    Arduino motorfocus with moonlite protocol for telescopes

    23 parts58MIT
  • 4 layers199.9 × 69.3 mmZaphod controller, the printed circuit board in 3D

    Zaphod controller

    Scottapotamas/zaphod-bot

    A DIY high performance delta-bot for fun, and lightpainting...

    251 parts53
  • 4 layers285.1 × 48.1 mmAyab esp32, the printed circuit board in 3D

    Ayab esp32

    AllYarnsAreBeautiful/ayab-hardware

    Contains the schematics and layouts for the AYAB Arduino shield

    246 parts50CC-BY-SA-4.0
  • 2 layersDrehorgel20, the printed circuit board in 3D

    Drehorgel20

    bixb922/crank-organ

    MIDI based crank organ software and hardware

    14 parts47MIT
  • 2 layers40 × 80 mmSplitflappcb, the printed circuit board in 3D

    Splitflappcb

    codingcatgirl/split-flap-fae-pcb

    Alternative drop-in replacement PCB for David Kingsman's split-flap display

    46 parts31Apache-2.0
  • 2 layers177.9 × 187.4 mmAudio board 0033 rev.a, the printed circuit board in 3D

    Audio board 0033 rev.a

    palazzol/CyberamicControlCenter

    Repo for docs and info about the Cyberamic Control Center

    105 parts16

Questions

How big is the Control PCB?

It measures 54.3 × 82.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Control use?

48 parts, built around the ULN2003A and MMFTP84W. 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 Control KiCad files?

From the el-bart/lemurs_bobik repository on GitHub, at the commit this page was made from: the board is board/hw/control/control.kicad_pcb and its schematic board/hw/buttons/buttons.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Control design in my own project?

Its repository states no licence, so its author keeps all rights: ask el-bart before reusing the design.