MakiBox A6 HT

Model: MakiBox A6 HT

  • case color: clear
  • outside dimensions (case): 290mm wide x 235mm deep x 235mm tall
  • electronics: Printrboard Rev. B
  • firmware: makibox-firmware (based on Sprinter)
  • power supply: large external power brick from FSP, model FSP150-AHAN1. 150 W. Output is 12 VDC at 12,5 A

  • filament type: ABS, PLA

  • filament thickness: 1.75 mm
  • standard nozzle: 0.4mm
  • print size: 150mm wide x 110mm deep x 90mm tall
  • print direction: X axis on the left side (110 mm), Y axis in the back (150 mm)
  • full step resolution: 0.04mm in XYZ

Makibox: MakiWiki, Makibox forum (backup), Makibox Users (G+),

Bitbucket - Makible - 5DPrint - A6 3D Printer, D8 Controller Board, Firmware,

hotends: external hotend mount, installing E3D-v5 on a Makibox, MyMaki Hotend Mount for E3D-v6,

extruders: FroZen Extruder, Minimalistic Zen replacement, Airtripper's Bowden Extruder V3, H3 extruder for Ultimaker, Makibox Flex Upgrade,

others: mini height sensor board,

Links: reliable Slic3r settings,

Models: Youmagine - jensa - Simple Flute, Snowflake, a hexagon chain mail, Treefrog,

hints: cut end of filament with an angled cut to make it easier to insert into hotend,

back to 3D printers, CNC page.


2021-08-30: I re-created this page on my self-hosted web server.

2014-11-07: hotend - clogging - now there is a large amount of resistance when trying to feed filament (black ABS) through the hotend (manually turning the feed spindle) and very little plastic passes through.

2014-12-07: new extruder - we (Ketil, Jens and I) printed out the Frozen Extruder v1.1, after Jens adjusted the tightening, it seems to work fairly well. However, the main problem seems to be that after a while, heat creeps up in the hotend and it clogs. That makes filament feeding stop - the feeder wheel "eats" a groove, and your'e lost. Tested with PLA (doesn't work) and ABS on 230, 240 and 250 degrees centigrade. Doesn't help - ABS prints a while and then clogs.

2014-12-06: calibration - I leveled the bed again. Then I got filament feed problems - need to clean the tube again.

2014-12-06: testing again. Version:

go 49 (executing M115)
// Makibox Firmware Version: 2.10 / 14.11.2013

print settings:

go 57 (executing M503)
Steps per unit:
  M92 X400 Y400 Z400 E163
Maximum feedrates (mm/s):
  M202 X60.000 Y60.000 Z20.000 E45.000
Maximum Acceleration (mm/s2):
  M201 X600 Y600 Z50 E5000
Acceleration: S=acceleration, T=retract acceleration
  M204 S1000.000 T2000.000
Advanced variables (mm/s): S=Min feedrate, T=Min travel feedrate, XY=max xY jerk,  Z=max Z jerk, E=max E jerk
  M205 S0.000 T0.000 XY20.000 Z0.400 E5.000
PID settings:
  M301 P6000 I30 D2000
Stored EEPROM Checksum: 0xB508
Expected EEPROM Checksum: 0xB508
ok 57 Q64 (6ms execute)


2014-12-06: 3D printer weekend at Bitraf again. I'm replacing the Z endstop switch. First, take off the left cover, next loosen the metal rod that holds the bed and disconnect the bed. Next I removed the complete Z axis assembly from the left side. The endstop switch is secured with hot melt glue, which is easy to remove. Next I removed the defective switch and put in the new one. Made sure that the switch is snugly against the lower edge of the "pocket" it sits in. Replacing the Z axis took most of the time.

2014-05-08: the package from Makible (endstop switches) arrived in may mailbox.

2014-04-23: I ordered 3 x limit switch for Makibox A6 at USD 4.- each, total USD 12.- plus shipping USD 1.- from Makible.

2014-04-21: I finally remembered to take a picture and send to customer support.

2014-03-18: Customer support came back, and said that I could buy the endstop switch from them. They are asking for a picture to avoid misunderstanding.

2014-03-17: I sent a message to Makibox Customer support about the endstop switch; asking for a part number or a source.

2014-03-16: Z axis endstop failure: suddenly the plastic pin on the Z axis endstop microswitch didn't make contact with the "pin" on the Z axis carriage, it was slightly bent inwards. When I grabbed it and attemptetd to straighten it, it came loose. It was probably already broken.

2014-03-16: I have been having feed trouble intermittently today and yesterday. When It happens, stop (pause print), angle cut filament, take out old filament, thread new, restart print.

2014-03-16: slic3r - changed Lift Z from 0 mm to 0.3 mm.

2014-03-16: slic3r - changed retraction length from 4 mm to 3 mm and printed the simple flute again. Still a foreign column of plastic. When the print ends I get this:

o 29274 (executing M110)
-- Unknown code M110.

Not sure what M110 is. Ok, it is set current line number. Nothing to worry about.

2014-03-15: printed several "Simple Flute" models, but they didn't work. Two problems: the sharp edges of the flute have a "lip" of sorts, and a foreign (as in "this is not in the model) column of plastic near the sharp edge away from the mouth piece. Finally, I moved the model close to the X axis side of the bed and got a flute that worked, after removing the foreign column of plastic.

2014-03-15: firmware - updating PID parameters (see A6 tuning). First, print version:

go 244 (executing M115)
// Makibox Firmware Version: 2.10 / 14.11.2013
ok 244 Q64 (1ms execute)

Next, print current PID parameters:

go 245 (executing M503)
Steps per unit:
  M92 X400 Y400 Z400 E163
Maximum feedrates (mm/s):
  M202 X60.000 Y60.000 Z20.000 E45.000
Maximum Acceleration (mm/s2):
  M201 X600 Y600 Z50 E5000
Acceleration: S=acceleration, T=retract acceleration
  M204 S1000.000 T2000.000
Advanced variables (mm/s): S=Min feedrate, T=Min travel feedrate, XY=max xY jerk,  Z=max Z jerk, E=max E jerk
  M205 S0.000 T0.000 XY20.000 Z0.400 E5.000
PID settings:
  M301 P2000 I15 D1000
Stored EEPROM Checksum: 0xFFFF
Expected EEPROM Checksum: 0x728E
ok 245 Q64 (6ms execute)

and set new ones

>>>M301 P6000 I30 D2000
SENDING:M301 P6000 I30 D2000
go 246 (executing M301)
-- PID settings changed (but not saved to memory).
ok 246 Q64 (1ms execute)

and save

go 247 (executing M500)
Settings Stored
ok 247 Q64 (289ms execute)

finally, print new settings

go 248 (executing M503)
Steps per unit:
  M92 X400 Y400 Z400 E163
Maximum feedrates (mm/s):
  M202 X60.000 Y60.000 Z20.000 E45.000
Maximum Acceleration (mm/s2):
  M201 X600 Y600 Z50 E5000
Acceleration: S=acceleration, T=retract acceleration
  M204 S1000.000 T2000.000
Advanced variables (mm/s): S=Min feedrate, T=Min travel feedrate, XY=max xY jerk,  Z=max Z jerk, E=max E jerk
  M205 S0.000 T0.000 XY20.000 Z0.400 E5.000
PID settings:
  M301 P6000 I30 D2000
Stored EEPROM Checksum: 0xB508
Expected EEPROM Checksum: 0xB508
ok 248 Q64 (6ms execute)


2013-12-08: printing - first test print. I choose the "Test cube - Black (ABS) v1.1.gcode" from the slic3r configs zip file. I had some trouble getting the first layer to sit on the print bed (this file runs hotend at 235 degrees Celsius, and the bed at 120 degrees Celsius), but after a couple of tries it took. The print took about 39 minutes, the end cube is a bit deformed, but still a print.

2013-12-08: tuning - the print bed. I set the temperature at 60 degrees (Celsius) and tuned the bed as good as I could. Next, I started a test print, and found out that the filament refuses to go down into the extruder. OK, something was blocking the end of the tube, some plastic. Fixed by inserting a bit of a filament from that end and repeatedly pushing it in and out until all the blocking stuff was loose. It works now.

2013-12-08: hardware - I found out why the wires from the heated bed tends to catch on the bed: in step 8 part C, the wires shall go through the small square hole at the top of the "wire shield" as it were. Dismantled and fixed that, I also found out that I had mistakenly connected the HE temperature connector to a connector labeled "fan" on the printrboard. Doh! Fixed that.

2013-12-08: pronterface - it uses skeinforge as default slicer, I need to install python-tk to get the gui to work:

tingo@kg-u35jc:~$ sudo apt-get install python-tk

or not. Perhaps it only does the cmd line version?

2013-12-08: pronterface - ok, "+Z" moves still moves the bed down (and "-Z" moves it up), but home Z works at least.

2013-12-08: hardware - after banging (sorry, "tapping") in the top of the Z axis, the carriage now hits the limit switch (endstop). Good.

2013-12-08: firmware - by sending the code M608 from pronterface, I can get the firmware version:

go 1 (executing M608)
// Makibox Firmware Version: 2.10 / 14.11.2013
ok 1 Q64 (1ms execute)

Other codes: M603 - Free RAM:

go 2 (executing M603)
// Makibox Firmware Version: 2.10 / 14.11.2013
// Free Ram: 1785
ok 2 Q64 (1ms execute)

M606 - cpu load

go 3 (executing M606)
// CPU loading info not available in this version of firmware.
ok 3 Q64 (1ms execute)

M503 - print settings

go 4 (executing M503)
Steps per unit:
  M92 X400 Y400 Z400 E163
Maximum feedrates (mm/s):
  M202 X60.000 Y60.000 Z20.000 E45.000
Maximum Acceleration (mm/s2):
  M201 X600 Y600 Z50 E5000
Acceleration: S=acceleration, T=retract acceleration
  M204 S1000.000 T2000.000
Advanced variables (mm/s): S=Min feedrate, T=Min travel feedrate, XY=max xY jerk,  Z=max Z jerk, E=max E jerk
  M205 S0.000 T0.000 XY20.000 Z0.400 E5.000
PID settings:
  M301 P2000 I15 D1000
Stored EEPROM Checksum: 0xFFFF
Expected EEPROM Checksum: 0x728E
ok 4 Q64 (6ms execute)

I wonder why the checksum is wrong?

M115 - show capabilities
go 5 (executing M115)
// Makibox Firmware Version: 2.10 / 14.11.2013
ok 5 Q64 (2ms execute)

Does this mean that this firmware has no capabilities? M119 - show endstopper state:

go 6 (executing M119)
// x_min:L y_min:L z_min:L
ok 6 Q64 (1ms execute)

Hmm, looks like something else to me. Let me home X and Y and try again:

go 11 (executing M119)
// x_min:H y_min:H z_min:L
ok 11 Q64 (2ms execute)

Ok, so it does actually work.

2013-12-08: more testing - with the help of pronterface, I figured out that the Z axis carriage is not hitting the limit switch - the top part of the Z axis assembly must be closer to the side wall.

2013-12-08: more testing - pronterface. pronsole works:

tingo@kg-u35jc:~$ python ~/progs/pronterface/Printrun/
Welcome to the printer console! Type "help" for a list of available commands.
uninitialized> help

Documented commands (type help <topic>):
bedtemp     exit     help  macro    pause   reverse  shell
connect     extrude  home  monitor  print   sdprint  skein
disconnect  gcodes   load  move     reset   set      tool 
eta         gettemp  ls    off      resume  settemp  upload

uninitialized> help connect
Connect to printer
connect <port> <baudrate>
If port and baudrate are not specified, connects to first detected port at 115200bps
Available ports: /dev/ttyACM0
uninitialized> connect
No port specified - connecting to /dev/ttyACM0 at 115200bps
go 6 (executing M105)
ok T:23 D0% B:-40 D0%
Printer is now online
ok 6 Q64 (1ms execute)

I can move

PC> move x 10
go 11 (executing G91)
ok 11 Q64 (1ms execute)
go 12 (executing G1)
ok 12 Q63 (2ms execute)
go 13 (executing G90)
ok 13 Q63 (0ms execute)
PC> move y 10
go 14 (executing G91)
ok 14 Q64 (1ms execute)
go 15 (executing G1)
ok 15 Q63 (2ms execute)
go 16 (executing G90)
ok 16 Q63 (0ms execute)

but Z seems to be inverted:

PC> move z -10
go 32 (executing G91)
ok 32 Q64 (0ms execute)
go 33 (executing G1)
ok 33 Q63 (1ms execute)
go 34 (executing G90)
ok 34 Q63 (0ms execute)

home x and y:

PC> home xy
go 8 (executing G28)
ok 8 Q64 (3116ms execute)
go 9 (executing G28)
ok 9 Q64 (3167ms execute)

and pronterface also works if started from the shell:

tingo@kg-u35jc:~$ python ~/progs/pronterface/Printrun/
Printer is now online.

Good. Now I only need to find out to invert the Z axis and fix settings.

2013-12-07: testing - I connected power, then powered it up. A single green LED on the Printrboard lights up. I connect the usb cable (micro-usb on the Printrboard) to my Xubuntu laptop, currently at Xubuntu 12.04.3 LTS, with this kernel:

tingo@kg-u35jc:~/work/u35jc$ uname -a
Linux kg-u35jc 3.2.0-57-generic #87-Ubuntu SMP Tue Nov 12 21:35:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

this is what shows up in /var/log/messages:

Dec  7 23:15:55 kg-u35jc kernel: [212567.513081] usb 2-1.3: new full-speed USB device number 4 using ehci_hcd
Dec  7 23:15:55 kg-u35jc mtp-probe: checking bus 2, device 4: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Dec  7 23:15:55 kg-u35jc mtp-probe: bus: 2, device: 4 was not an MTP device
Dec  7 23:15:55 kg-u35jc kernel: [212567.646498] cdc_acm 2-1.3:1.0: ttyACM0: USB ACM device
Dec  7 23:15:55 kg-u35jc kernel: [212567.646961] usbcore: registered new interface driver cdc_acm
Dec  7 23:15:55 kg-u35jc kernel: [212567.646967] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

and indeed, the file is there:

tingo@kg-u35jc:~$ ls -l /dev/ttyACM0
crw-rw-r-- 1 root dialout 166, 0 Dec  7 23:17 /dev/ttyACM0

Next step, host software. Repetier-Host requires the Mono framework, pronterface - the reprap wiki page says that the gui is broken? Let's try it. requirements:

tingo@kg-u35jc:~$ sudo apt-get install python-serial python-wxgtk2.8 python-pyglet python-tornado python-setuptools python-libxml2 python-gobject avahi-daemon libavahi-compat-libdnssd1
[sudo] password for tingo:
Reading package lists... Done
Building dependency tree      
Reading state information... Done
avahi-daemon is already the newest version.
python-serial is already the newest version.
python-gobject is already the newest version.
python-libxml2 is already the newest version.
The following packages were automatically installed and are no longer required:
  ttf-umefont libunity6 elementary-icon-theme gstreamer0.10-fluendo-mp3:i386 libmagickcore3 libdee-1.0-1 libmagickwand3
  ttf-sil-gentium libindicator3-6 libokularcore1 libapt-inst1.3 lib32gcc1 libindicator6 wine-gecko1.4 wine-gecko1.4:i386
  wine-gecko1.9 wine-gecko1.9:i386 libept1 libvpx0 libminiupnpc5 libapt-pkg4.11 libjpeg62:i386 libquvi0 libnl3 libattica0
  gir1.2-dee-0.5 libmusicbrainz4c2a libmagickcore3-extra lib32stdc++6 libnatpmp1 libllvm2.9:i386
Use 'apt-get autoremove' to remove them.
Suggested packages:
  python-egenix-mxdatetime mysql-server-5.1 mysql-server python-mysqldb-dbg wx2.8-doc wx2.8-examples editra
The following NEW packages will be installed:
  libavahi-compat-libdnssd1 libmysqlclient18 mysql-common python-mysqldb python-pyglet python-setuptools python-tornado
  python-wxgtk2.8 python-wxversion
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,071 kB of archives.
After this operation, 32.5 MB of additional disk space will be used.
Get:1 precise/main libavahi-compat-libdnssd1 amd64 0.6.30-5ubuntu2 [19.2 kB]
Get:2 precise-updates/main mysql-common all 5.5.34-0ubuntu0.12.04.1 [13.3 kB]
Get:3 precise-updates/main libmysqlclient18 amd64 5.5.34-0ubuntu0.12.04.1 [948 kB]
Get:4 precise-updates/main python-mysqldb amd64 1.2.3-1ubuntu0.1 [64.0 kB]
Get:5 precise/universe python-pyglet all 1.1.4.dfsg-2build1 [960 kB]
Get:6 precise/main python-setuptools all 0.6.24-1ubuntu1 [441 kB]
Get:7 precise-updates/universe python-tornado all 2.1.0-2ubuntu0.1 [229 kB]
Get:8 precise/universe python-wxversion all [19.0 kB]
Get:9 precise/universe python-wxgtk2.8 amd64 [5,377 kB]
Fetched 8,071 kB in 4s (1,635 kB/s)         
Selecting previously unselected package libavahi-compat-libdnssd1.
(Reading database ... 1048189 files and directories currently installed.)
Unpacking libavahi-compat-libdnssd1 (from .../libavahi-compat-libdnssd1_0.6.30-5ubuntu2_amd64.deb) ...
Selecting previously unselected package mysql-common.
Unpacking mysql-common (from .../mysql-common_5.5.34-0ubuntu0.12.04.1_all.deb) ...
Selecting previously unselected package libmysqlclient18.
Unpacking libmysqlclient18 (from .../libmysqlclient18_5.5.34-0ubuntu0.12.04.1_amd64.deb) ...
Selecting previously unselected package python-mysqldb.
Unpacking python-mysqldb (from .../python-mysqldb_1.2.3-1ubuntu0.1_amd64.deb) ...
Selecting previously unselected package python-pyglet.
Unpacking python-pyglet (from .../python-pyglet_1.1.4.dfsg-2build1_all.deb) ...
Selecting previously unselected package python-setuptools.
Unpacking python-setuptools (from .../python-setuptools_0.6.24-1ubuntu1_all.deb) ...
Selecting previously unselected package python-tornado.
Unpacking python-tornado (from .../python-tornado_2.1.0-2ubuntu0.1_all.deb) ...
Selecting previously unselected package python-wxversion.
Unpacking python-wxversion (from .../python-wxversion_2.8.12.1-6ubuntu2_all.deb) ...
Selecting previously unselected package python-wxgtk2.8.
Unpacking python-wxgtk2.8 (from .../python-wxgtk2.8_2.8.12.1-6ubuntu2_amd64.deb) ...
Setting up libavahi-compat-libdnssd1 (0.6.30-5ubuntu2) ...
Setting up mysql-common (5.5.34-0ubuntu0.12.04.1) ...
Setting up libmysqlclient18 (5.5.34-0ubuntu0.12.04.1) ...
Setting up python-mysqldb (1.2.3-1ubuntu0.1) ...
Setting up python-pyglet (1.1.4.dfsg-2build1) ...
Setting up python-setuptools (0.6.24-1ubuntu1) ...
Setting up python-tornado (2.1.0-2ubuntu0.1) ...
Setting up python-wxversion ( ...
Setting up python-wxgtk2.8 ( ...
update-alternatives: using /usr/lib/wx/python/wx2.8.pth to provide /usr/lib/wx/python/wx.pth (wx.pth) in auto mode.
Processing triggers for libc-bin ...
ldconfig deferred processing now taking place
Processing triggers for python-support ...

Next, create $HOME/progs/pronterface and run the install script:

tingo@kg-u35jc:~$ sh bin/

(most of boring output cut)

2013-12-07: tuning - I tuned the X and Y drive blocks as show on the MakiBox site.

2013-12-07: building - day 4. redoing some parts. I realized that I had forgot to insert the lower rollers in step 4 (the part labeled "A" in the assembly manual), fixed by removing two screws from the bottom plate and gently prying it away from the back plate, then inserting the rollers. Afterwards, tap the two plates (gently) together again, and reinsert the two screws. I also took out the heated bed and tightened the springs all the way down (from step 7, based on advice from the forum). Finally, I took off the E motor, disassembled the plastic holder, and inserted the wires from the hotend into the provided place, the reassembled and remounted the E motor (from step 9). step 12 - adding the last two rods, the right side cover late and the front side cover plate. step 13 - mounting the power switch in the left side cover (managed to do it without cracking anything) then mounting the left side cover. Afterwards, the "tips" of plastic ends of the rods from the X axis are a bit to short to get a good fit in between the rods on the right side, but that is easily fixed by adjusting the end stop a bit out. step 14 - mounting the two small covers on the back of the printer. The wires are not organized behind the cover.

2013-12-06: building - day 3. step 7 - assembling the heated bed, the plastic zip ties are short, but with pliers I manage to close them. step 8 - mounting the heated bed on the Z axis, routing the wires out through the hole in the left side wall. step 9 - mounted the E motor. step 10 - mounting the hotend. I skipped the top cover for now. step 11 - connecting up all the cables.

2013-12-06: building - day 2. step 1 - found me some longer screws which allowed me to mount the Z motor on the plastic plate (the M3 x 8 mm screws only protrude about 1 mm through the hole). step 3 - I mounted the completed Z axis on the left side wall. when I came to step 4 I had to take off the Z axis a few times. When I finally got the bottom plate to sit properly, I found out that I had forgotten the power connector pcb, so I had to undo and redo again. I completed step 6 by tightening the screws on the "sliders".

2013-12-05: building. step 1 - ok, the M3 x 8 mm screws are too short to fasten the motor to the plastic plate. So I can't build the Z axis. step 2 - the M3 x 8 mm screw from the back plate into the side plate doesn't sit very well. step 3 - mounted the X axis, and the Y axis with the M3 x 8 mm screws (worked well here). Other than that, everything except mounting the z axis worked. step 4 - mounted the Printrboard, step 5 - assembled X and Y printhead carriages with rods and all. step 6 - mounted the horisontal rods on the X and Y axis, then mounted the carriages and the end pieces.

2013-12-05: unpacking. Nicely packaged, with manual (Component manual and assembly manual) at the top. After unpacking and checking the manuals, I found that there was no parts list included. Also, the manuals are mostly "step X" and drawings of the parts. Ok, let's see if I can get it to work. I downloaded the newest manual from to, now it is time to check for major updates. Included with the kit was also one roll of filament: "0.5kg of ABS 1.75mm Filament, Assorted Color", mine is black.

2013-12-05: I picked up the package at my local PIB (RIMI Trondheimsveien) this afternoon. I had to pay NOK 533.- in value added tax ("merverdiavgift"). They base that on a value of USD 300.-, which they claim is NOK 2130.-. Interesting, that means an exchange rate of USD 1 = NOK 7.10 which is quite high. Oh well.

2013-11-29: I got a shipping notice, with tracking information.

2013-10-25: I got a "Your Maikbox is going to be made soon" mail, stating that my kit will be produced the first week of November 2013".

2013-06-26: I got an order confirmation from 1 x MakiBox A6 HT Clear, with Norway Express shipping.

Old history: 2012-03-31: I paid USD 350.- (NOK 2057.34 at Paypal current exchange rate) for a MakiBox A6 kit from I got a confirmation mail the same day.