3Dsimo Kit
Device: 3Dsimo Kit
Rev. 1.00 Page 1/18
3Dsimo Kit
Revision table
Initial version of the document
Created by: Ondřej Nentvich
3Dsimo Kit
Device: 3Dsimo Kit
Rev. 1.00 Page 2/18
1 Table of contents
1 Table of contents
2 Main chapter
3 Next headings
3.1 Part 1
3.2 Part 2
3Dsimo Kit
Device: 3Dsimo Kit
Rev. 1.00 Page 3/18
2 Introduction
The construction set 3Dsimo Kit is an open source project, which intends to familiarize people with a
wide range of possibilities when drawing with a 3D pen and give an opportunity to the user to modify
and expand functions of the pen according to their preferences. Considering that the base version of
code is available through GitHub https://github.com/3dsimo, anyone with minimal programming skills
can modify it. The heart of the Kit a is slightly modified Arduino Nano-like board, which controls the
whole board and functions like material extrusion after heating up the heating element to the
temperature set precisely by a PID regulator or displaying the status information on the OLED display.
Out of the box, two pre-set profiles can be set for ABS and PLA and more user material profiles can
be added to the code.
3Dsimo Kit
Device: 3Dsimo Kit
Rev. 1.00 Page 4/18
3 Wiring diagram
The basic diagram of the 3Dsimo Kit is on the following picture (Pic. 1), where the basis is an Arduino
Nano-like development kit along with the motor driver, pins for display connection or 4 functional keys
(plus/minus, extrusion/ejecting the string) and 8 free pins for optional extensions for the pen.
Pic. 1: Wiring diagram of 3Dsimo Kit
The wiring diagram is split into the following parts shown as comprehensive blocks on the schematic:
1. Motor driver, with three inputs (Motor Sleep, Direction Change and Motor PWM), regulates the
power of the motor for string extrusion or changes the direction of extrusion, which causes the
string to eject.
2. User buttons, two for controlling the motor and two for changing parameters shown on the
display.
3. High-power transistor for power regulation of the heating element, which is equipped with an NTC
type temperature sensor, serves for measurement and regulation of the temperature.
4. OLED display, which uses communication over serial I2C bus
There are 2x4 user programmable pins for custom peripherals - 4 digital (2 of them are a serial line
shared with the USB connector) and 4 analog pins.
3Dsimo Kit
Device: 3Dsimo Kit
Rev. 1.00 Page 5/18
The extension board shown in Pic. 1 is made in KiCAD, which can be downloaded for free on
kicad-pcb.org for a variety of operating systems. All production materials, schematics and the PCB
can be found on https://github.com/3dsimo/3dsimo_kit .
3.1 Modification of Arduino Nano-like board
To allow heating of the nozzle with enough power, the diode at the miniUSB input must be replaced
with interconnect (0 Ohm resistor). The placement of the diode is shown (red) in the following picture.
If this modification is not performed, the diode will overload and burn and the device would become
non-functional. The board, which is included in the 3Dsimo Kit, already has this modification.
Pic. 2: Placement of the input diode, shown already replaced with a 0 Ohm resistor
3Dsimo Kit
Device: 3Dsimo Kit
Rev. 1.00 Page 6/18
4 Code for 3Dsimo Kit
The code for 3Dsimo Kit is written in the Arduino environment, which can be downloaded for free on
arduino.cc in the Software section. It is a C/C++ programming language in which the whole program is
written. The base version of the program is already programed in the microcontroller and its source
codes are available on our github.com .
4.1 Preparation and installation
The base version of the code for Arduino Nano is written in a C/C++ language and the Arduino IDE
environment. The development environment can be downloaded for free on arduino.cc in the software
section. During the installation process you are asked to install the driver as well, it is recommended
to do so. Otherwise you need to install it later.
After the installation you still need to add 2 plugins called “SSD1306” and “EveryTimer” for a correct
compilation of the code. You can add plugins in Sketch => Include Library => Manage Libraries , where
a dialog window pops up, as shown in Pic. 3. Write SSD1306 in the search box on the top right and
the appropriate library will be selected which is highlighted red in Pic. 3. Select the latest version and
press “Install”. “EveryTimer” is installed in the same manner.
Pic. 3: Adding ssd1306 plugin into the Arduino IDE