Experiences with Tevo Tarantula 3D Printer

Experiences with Tevo Tarantula 3D Printer

I had recently acquired a Tevo Tarantula 3D Printer. There were a lot of other budget printers in the same price range but the Tevo Tarantula particularly caught my attention as it uses aluminium extrusions, includes heated bed and has the standard 200 x 200 mm build area whereas other printers in this price range were all using full acrylic (e.g Anet A8). The use of the V slot aluminium extrusions also mean that it uses wheels instead of linear rods/bearings, as wheels are much quieter and generally require low maintenance. There are actually a few that do use aluminium extrusions but those have a smaller build platform (~100mm x 100mm) and did not include a heated bed platform. An example of this is the Creality CR7. I got my Tevo Tarantula for US$198 / SGD$281 at Aliexpress.

Tbe shipping took 2 weeks to arrive, and was done through a third party logistics shipper. For me, I had chosen to use DHL but they ended up shipping it through aramex, a courier which I had never heard before. I was not too happy with the courier leaving the shipment outside my doorstep, even though I had told them 2 days in advance not to deliver to my house as I was going overseas.

Nevertheless, Tevo’s support on aliexpress was excellent. They replied to my messages within a few hours, including when I had questions  the shipment status.

The packaging was well packed. It came in an outer brown box that covered and protected the original black box. The only damage that I found is a hole on the top of the outer box, which partially damaged the inner box.

On the inside, the components are all packed and protected tightly in closed cell foam. There are 3 ‘stacks’ of removable trays, with the heaviest components such as the aluminium extrusions on the bottommost tray. It also contains the MKS Base 1.4 motherboard and 2004 LCD. The tray above it contains the 4 stepper motors, hotend, extruder and power supply, most of the acrylic parts, mounting hardware and a few hex keys and a spanner for the eccentric nuts. The topmost tray contains the cables, heated bed platform, bowden tube and the 2 PLA/ABS 250g rolls. For mine I requested for blue and black PLA filament.

They also included a packing list, an after sales support card on how to contact them for warranty support and a manual, which has improved significantly than the 2 page they had previously included, but still not perfect either. The best thing is to watch Arcaded’s assembly videos before even reading the manual.

However, upon checking all the components, I discovered that the LCD contrast potentiometer was broken.

I sent a message to Tevo support and they immediately sent a new replacement. It arrived in about 4 days later through UPS. However, much to my surprise, Tevo sent me a 12864 mono LCD. I did managed eventually to solder in a new 10K pot to replace the broken one. Right now I’m using the 2004 LCD without any problems so far, so the 12864 will be a spare one for when I have the time to re-flash the firmware to be able to use the larger LCD.

On to the actual building, in total I took about 3 days to assemble it, with 2-3 hours spent each day. The first steps was to assemble the frame, X / Y carriage and pulleys. The manual does a fairly good job of showing what bag of screws and brackets you should use.

Although I think that the assembly manual can be improved by changing the order of assembly of certain parts. For example, the manual states that you have to assemble the  bracket to the stepper motor and the extruder levers before installing the whole thing to the 2040 frame. However, the mounting holes for the bracket are blocked by the motor, and thus you couldn’t screw in the screws.

Inkedtevo extruder_LI

So the proper way to install it is to install the stepper motor bracket first, then the stepper motor itself and the extruder levers. Also, install the stepper motor with its connector facing down, so that its easier to route the cables to the motherboard.

Another mistake in the manual is that they showed that the stepper motor for the Y axis is to be installed on the right side, which is wrong as reported by many members in the Tevo facebook group that the Y axis is moving in the wrong direction when homing the axes.. The stock firmware that came from the factory is configured to be on the left side.

The acrylic plates are solid and thick, however, you should try to put in washers in every part that has great torque such as the carriages. According to the community, it is very prone to cracking when over torqued. In some places such as the Y idler pulley mount it is ok to use acrylic as it is not subjected to high forces. However, parts like the L bracket brace and the Y bed carriage should use aluminium. Still, its much better than using an all-acrylic build, right?

One of the most important thing to note when building up the main frame is to make sure that everything is square.The aluminium extrusions should be perfectly 90° to each other, especially at the X/Y/Z rails as this affects the accuracy of the print and the stability of the frame. A good tip when installing the aluminium frames are to make sure that the printer is square by using a right angle ruler. If you don’t have one handy you can also use a bubble level, although not as precise. The first time I finished the main frame the printer was not perfectly square and the the Z axis was not moving smoothly and was slanted to the left side.



As you can see in the picture above, the bubble was a little bit shifted to its left, meaning its not perfectly straight. A rebuild and tightening of the L bracket screw fixed it quickly. A quick way to check that the printer is squared is to place the bubble level on the X carriage rail, then move up the whole Z axis up and down. The bubble level must be perfectly centered all the way up. It should not move a single millimeter. The best way to install the L brackets is to push down the aluminium frame together closely to each other when tightening the screws for the bracket.


I also used this method to roughly level the bed platform when first installing it.


The use of the eccentric nuts for the X and Y carriages means that you can install the carriages without having to remove 2040 aluminium frame itself. It is important to not over-tighten the eccentric nuts as it may cause the wheels to not turn and bind up. It also may cause the carriage to be perfectly parallel to the aluminium rail as the wheels are slanted due to the overtightened eccentric nuts.



The electrical wiring was fairly easy and straightforward. Tevo included a wiring diagram in the last few pages of the manual. Only thing that I am not satisfied is the terminal blocks on the mainboard. The main power and heat bed terminal block is too small and flimsy for the thick wires that they have provided. Besides that, as the main wire is stranded, any stray strand of wire may touch the other wires and cause a short, which was what happened to mine when I first turned it on.  (According to the Tevo Tarantula Facebook group, they now include the wires pre-crimped with ferrules so it should be ok now). Luckily for me, the power supply that tevo had provided has overcurrent protection and it shut down before any ‘meltdown’ of connectors could happen as what has happened to many of the tevo tarantula owners.

Many members of the tevo tarantula facebook group suggested use wire ferrules. I am planning to solder/use ferrules to attach XT60 connectors on to the mainboard so that its much easier to disconnect/connect wires. There also exists a 3D printed enclosure that can be attached on the power supply that can house the connectors.

The power cord that they had provided was a 2-pronged US-styled plug which I think is unsafe and dangerous, especially when the power supply is wired DIY-style. I tried to use the 2 pronged plug for my first print with an adapter and I could feel static when touching the metal case of the power supply, which was not supposed to happen. Subsequently, I used a 3 pronged UK plug with an earth pin and the static was gone. So, if you happen to buy the tarantula and was provided with a 2 pronged plug, throw it away and use a proper earthed 3 pronged plug.

The wire that Tevo provided for connecting the power supply to the mainboard is really thick. It does slightly warm up a little when the heat bed is being heated simultaneously with the nozzle, although I almost never heat up both at the same time as I fear of the small connector melting. I just got the external MOSFET for the heat bed recently so there should be nothing to worry about the connectors melting.

The stepper wire and end stop wires are just box-standard 1.5mm2 wires, so there’s nothing to talk about. The thermistor wire is a little bit thin though and I was afraid that I would damage it due to excessive bending.


The hotend came preassembled, and the only thing I had to install is the hotend cooling fan and bowden tube. The nozzle and heatbreak had some weird white silicone around it, but it isn’t even effective as the nozzle leaked eventually after ~ 10 hours of printing.

20170306_201520_HDR.jpgHotend leaking circled.JPGInitially I wanted to disassemble the hotend assembly when installing the printer kit but everything was torqued super tight due to the silicone. So I heated up the hotend to 160°C and then did a cold pull on the filament. Then I increased the temperature to 230°C and then disassembled the hotend using a plier and a spanner. I cleaned the heatblock with a wet towel and used an M6 nut to clean the PLA stuck in the threads of the heatbreak and nozzle . I will write a separate post on how to do that in the future.

Another thing to make sure when installing the bowden tube is to push the tube all the way in as far as possible. This is to make sure the filament does not melt at the heat break transition area, causing clogs.

In the box, Tevo provided 2 x 250g rolls.  I has asked for blue and black PLA. Honestly, the quality of PLA were not so bad. It adheres quite well (partly due to the build platform sheet on the heat bed), sometimes a little bit too well although now for printing I now use a 5mm glass bed which is way easier to remove the print.

One thing I hated about the tarantula is the way that the bed leveling works. It uses a 4-point mounting system which makes it quite prone to warping as the only other 3D printer I had experience using was a Makerbot Replicator 2 which uses a 3-point mounting which is way better.

As for the software side, the Tarantula came with Repetier firmware loaded on the MKS Base 1.4. I find that the preinstalled repetier firmware is already calibrated and tuned quite well. It may not have the same amount of features that Marlin can offer, but I find good enough for most users. Although there exists a Tarantula version for marlin on the facebook group which I am planning to flash once I backup/dump the current firmware using an AVR USB ISP Programmer as I want to be able to revert back to the stock firmware if anything goes wrong.

For the printing profiles for the slicers, I used the one provided by the community on the facebook group. I used Cura 2.4. It turned out great with no stringing, or without any artifacts. I used G_normal quality.curaprofile uploaded by Gustav Fredriksson and it turns out great. There wasn’t any string or any artifacts

G_normal quality.curaprofile

First Print









All in all the Tevo Tarantula is a great printer for those who are looking to learn into 3D Printing while in a budget due to its low cost. However, it is recommended that the user to have some background of technical and troubleshooting skills due to the DIY nature of the kit.



Printed using 2 filaments, pausing at layer height

More pictures:


20170325_133300.jpgThe spool holder is included in the kit, I printed it from Thingiverse in here.20170527_142841.jpg







Arduino FM Radio

Recently my 5.1 stereo amplifier system went kaput. The speakers and subwoofers are still working, but the DVD/FM/AUX amplifier kept failing to output sound. It has served its job well over its expected life.

So I am going to make an arduino – controlled FM radio with an integrated amplifier for the speakers.


For the microcontroller, I am intending to use the Arduino Pro Mini 3.3V 8 MHz. As for the FM receiver module, the RDA5807M or the TEA5767 looks like a good choice. I will probably use the RDA5807M due to its advanced features such as RDS and bass boost. There will be a 2.4″ touch screen for channel selection and displaying information. For the speaker amplifications, I am going to use one of those ready-made amplifier boards, either the TDA7492 or TPA3116 ones. The amplifier boards has to have subwoofer outputs as well. I might add in a infrared controller as well, if I find that necessary. There will also be an AUX input that will be switched by a relay if I want to plug in my phone or a wireless bluetooth receiver.

Where I got my parts:

Speaker Amplifier (TPA3116) – Ebay

Radio Receiver IC (RDA5807M) – Ebay

2.4″ Touch Screen LCD (ILI9341) – Ebay

Arduino Pro Mini (8MHz 3.3V) – Ebay



1. Testing

The first test I did with the products bought was the touch screen LCD. I used the UTFT & UTouch library from Rinky Dink Electronics.The UTFT library was really slow on my 8MHz Atmega328P – powered arduino pro mini, and overclocking it to 16MHz didn’t do much either. It was really slow, especially when clearing the screen (takes almost 5 seconds). I then decided to use Adafuit’s ILI9341 library with its GFX library which runs way faster. I simply ran the graphicstest sketch to make sure everything is working.

As for the touch screen, I am still going to be using the UTouch library. However, to calibrate the touch screen, we have to use the UTFT to display the calibration points. However, there is no need to change any pins. I simply changed the pin declaration of the UTFT in the code to the one shown below.

UTFT    LCD(ILI9341_S5P, 11, 13, 10, 4, 5);

Then just run the UTouch_Calibration example and follow the instructions shown on screen, including editing the calibration details at UTouchCD.h


As for the pin connections for the LCD.

LCD                    Arduino Pro Mini 3.3V

VCC        —>     VCC

GND       —>     GND

CS           —>     D10

RESET   —>     VCC

DC         —>     D5

MOSI    —>     D11

MISO    —>     D12

SCK      —>     D13

LED     —>      VCC

—–Touch Screen Controller—–

T_CLK    —>     A1

T_CS       —>     D7

T_DIN    —>     A0

T_DO     —>      D9

T_IRQ     —>     D8

The second test was to test the RDA5807M FM module. However, it does not usually come in a breadboard friendly 2.54mm pin spacings, so I had to make a ‘breakout’ board using a perforated board.

  1. The first step is to measure out the space required for the FM module. Leave at least 1 hole spacing in between the FM module chip and the pin headers.
  2. The next step is to cut the perforated board. For me, I used a dremel with a cutting wheel. You can use a small saw or score the perforated board using a X-acto or a penknife multiple times, and then breaking it.20160130_181516
  3. Place the small piece of the perf board on the breadboard with the copper side facing up, with two 5-way pin headers to the perf board.


  1. Tin the semicircle pads of the RDA5807M IC. This helps the wire bond easily to the pads easily when soldering.
  2. Strip a long piece of solid core wire and tin it with solder. Touch the end of the wire to the pad of the IC and then heat the wire and the pad. The solder should reflow easily.
  3. Then bring the wire to the pin header and heat up both the wire and pin header. The solder should reflow easily.


  1. Trim the extra wire by using a wire cutter.
  2. Repeat for the other pins.


I used Mathertel’s universal FM radio library for Arduino. It supports multiple FM radio ICs, including the RDA5807M and it supports all of its features such as RDS and channel searching. I used the TestRDA5807M example sketch. Remember to change the FIX_STATION define to the channel that exists on the FM spectrum.

As for the pin connections,

RDA5807M                    Arduino Pro Mini 3.3V

VCC                  —>     VCC

GND                 —>     GND

SDA                  —>     A4

SCL                   —>     A5

ANT                  —>     Long piece of wire or to coaxial socket from wall



RDA5807M                   Headphone Jack

Lout                 —>     L (Tip)

Rout                 —>     R (Ring)

GND                 —>     GND (Sleeve)


From StackExchange









For me, I also connected the TPA3116 Amplifier in parallel with the headphone jack and then powered it with a 24V power supply.

2. Casing Layout Planning

For the casing, I used an ABS project box with removable front and back panels. It is about 20 x 14.5 x 7.5 cm. I used Adobe Illustrator to plan out the layout so that when making the holes and cutouts for the casing I can just print out in 1:1 scale and use the guidelines on the paper to cut the casing.


3. Fabrication

However, I made a mistake while making the holes for the fan. I was using the dremel circle cutter to cut it. This was my first time using it and I accidentally made the hole bigger than it should as I measured the distance.of the centre of the cutter bit to the centre of the guiding pin, where the correct way is to measure from the edge of the bit to the edge of the guiding pin. The oversized hole had made it impossible to mount the fan as the M4 holes that were supposed to be drilled next to it was too close to the larger circular hole.

I then decided on cutting out the front panel. Using the toothed blade on the dremel, I cut the cutout for the LCD first.

It didn’t turn out that great either, but at least better than the back panel.

In the end I decided to use a sheet of thin aluminium as the panel backing. I bought 2 4 x 8″ pieces at Sim Lim Tower and they costed me about $3.80 each. I didn’t measure the thickness, but they were little bit thinner than the plastic panels.


As they are larger than the panel, I had to cut it to size. Using a ruler, I measured the dimensions of the plastic panel, then scribed the aluminium using a sharp knife. I then set the distance of the straight cutter using a ruler as the measurement guides on it weren’t precise enough.



Using the dremel 561 multipurpose cutting bit, I turned up the speed of the dremel to 25000 rpm and then inserted the aluminium sheet in, like how I use a scroll saw. It is important to wear protective goggles and a mask, because the high rotational speed of the cutting bit can throw the aluminium shavings all around. For me, I also taped a garbage bag below the dremel to catch the shavings.

Once done, I printed a copy of the drawings I did on illustrator on a sheet of A4 paper, cut it and then taped it to the aluminium panel. Using the circle cutter, I cut the hole for the fan. As for the slots for the speaker terminals, I originally used a diamond cutting wheel but halfway through I realised that there is a better method. It is to drill a hole on one of the slots and then, measure the distance from that hole to the edge using the straight cutter, then insert the cutting bit into the drilled hole, turn on the dremel, then move the aluminium slot upwards to cut the slot. I did the same for the cutout for the LCD, except to drill four holes on each corner.

As for the holes for the front panel, I was a simple task of just drilling M6 holes for the potientometers. Always drill the small pilot hole before drilling a larger hole. I learnt the this the hard way when the drill bit was skipping around and as you can see in the picture below, the hole was slightly off. The small little hole beside the larger hole is for the potientometer notch that holds it in position. I didn’t plan out the holes for the 2.1mm power jack and the coaxial jack, so I just drilled it anywhere that seems fitting on the back panel.


A little bit of filing and deburring on all of the drilled holes and cutouts helps to remove sharp edges.

With that all done, it is time to move on to the soldering


4. Soldering

I used a perforated copper board for all of the components. There is not much space left in the box left after placing the amplifier, so I cut to size so that it will fit into the left space.


The first step in soldering in a prototyping perforated board is to plan out the component placement.


The next thing to solder the major components such as the arduino, fm radio ic chip and the relay. I used 0.1″ female headers as sockets so that I can replace the component if it happens to malfunction.


More updates to come!

Personal Transporter V2.5

Personal Transporter V2.5

This project is a continuation/improvement of the Personal Transporter V2.

The personal transporter V2.0 has improved significantly from the V1, but it still has some problems. One of the problem was I had used too thin of a plywood (10mm) and when I stood on it, it flexed and would cause problems for the motor/coupler mechanism. It also had a PVC pipe mount as I had originally thought of using a PVC pipe for a handle for the personal transporter but ended up not using it. The V2 was also quite large, it was about the same size as the V1, only lighter. There was a lot of wasted space. Another problem of the V2, although minor, but still quite important is that the motor is mounted on a bracket meant for shelving units. The last problem was that the V2 is a three wheeler, which means I had to balance on the one caster wheel and with 2 driving motors (The V2 was front wheel drive).

With all that, I decided to improve the V2. I am going to be using almost all of existing parts from the V2 to make V2.5.


  1. Use a proper bracket for the motors
  2. Use a thicker plywood (I used 12mm)
  3. Make it smaller
  4. Use 2 caster wheels

Extra Parts:

GW370 Motor Bracket Ebay Link


For the plywood, I used a leftover that I had found in my school’s Fab Lab. It was 12mm thick, with 3 layers. I had it cut to 30cm x 35cm as I found this is the perfect spot because I did not have to squeeze my legs together so close. Always plan by placing down the parts on the uncut plywood.  Using a power jigsaw that I had loaned from the Fab Lab, I had it cut with the help of my friend holding down the plywood down. Make sure to use a dust mask and goggles as the plywood particles a very fine.

Once cut, I used a dremel with a grinding attachment that I had borrowed from a friend to file of the surface irregularities and straighten it.

After that, I placed all the parts again on the cut plywood to make sure everything fits, just to make sure. I then marked and drilled the mounting holes for the motor, caster wheels and the bearing using the appropriate drill bit size. As I wanted the the plywood to be flat and all screws flush, I had to also drill counterbore holes. However the bolts for the caster wheel had a 13mm diameter on the screw head, I had to use a dremel with the grinding bit to make the holes fit the screw head.

Once all of the holes have had their counterbore treatment, its time to spray paint it. I had some leftover from the V2 project, so I just used the same grey spray paint. I sprayed 2 coats on the top base and 1 coat on the underside part as I thought nobody would really see the bottom part.

Finishing Everything

I reused all the screws from the V2, except for the motor mount as it it different. I used M4 x 15 screws for that. As for the battery, I changed the mounting method by attaching one side of the velcro on the battery and the other side to the plywood. The adhesive is really strong, so it is guaranteed not to come off while travelling. As for the electronics, the arduino and the motor driver was mounted using the same velcro as the battery. As for the HC06 bluetooth module, I used a cable tie adhesive base and cable tied the module to it.

Every wire was cut to be just enough to reach its intended place, including the motor wires. I also used the cable tie adhesive base to keep wires secured.

New Android App

The old app that I used was a ‘digital’ control. Its had only 8 direction of movement. I had originally planned to make my own app but I haven’t really got the time to do it. So in the meantime, I found this app called “Joystick bluetooth Commander”. It is much much better than the previous one I had used. It has analog control and speed control on a joystick, meaning you can control it only using one hand. (That is if you can hold your smartphone in landscape mode using one hand). It is also very customisable, you can add buttons to the app and receive data values such as battery level from the arduino.

More close up shots below


Personal Transporter V2

Project Advisor : Teo Shin Jen (http://shin-ajaran.blogspot.sg/) and funded by Singapore Polytechnic

If you have not read the article on the P.E.T V1, read here.

My first version of the personal transporter was really bulky, heavy and quite slow. I can literally workout with that thing. It was made of recycled parts from previous projects, so it wasn’t really a good one and I have very little control over the size and customisability of the parts. The 24Ah LiFePO4 battery is too overkill and too heavy. The Sabertooth is too overkill as it is rated at 25A and the motor mount is too heavy as it is made of a solid aluminium block. So I am going make a new one from scratch using brand new parts, so that I can customise everything. It is going be smaller, lighter and has faster speed.


For the overall size, it will be about half as much as the current P.E.T. As for the motors, I am going to use a geared motor which is much lighter and smaller than the wiper motor. For the wheels, I am going to use 100mm scooter wheels that are going to be driven by the motors. It is going to be mounted on a bearing. As the wheels have a 22mm diameter mounting hole, I am going to use pololu’s 6mm scooter wheel adapter. Both of the motors will be driven by a RoboClaw 2x15A motor driver, which is cheaper than the sabertooth. All of these will be powered by a 5000mAh 4S 14.8V LiPo battery. Lastly, there will be a handle added to the PT.

Where I got my parts:

Motors – Ebay

Wheels – Ebay

Batteries and charger accessories – Hobbyking.com

Motor Driver and scooter wheel adapters – Robot R Us (Singapore – based online robot shop)

Coupling, bearing holders, shaft – Misumi

Plywood, PVC pipes and pipe joints – Local hardware shop


The motors are the most important thing in this project. I used a 160 rpm worm gear motor that has 10kgcm of torque which should be enough for this application. At no load, they take about 1A of current. They cost about SGD55/USD41 each. You can buy it here. If you’re choosing other motors, aim for one that has high torque (~10kgcm or higher).


As for the handle, I thought of using aluminium extrusions but they are quite expensive. I then decided to use PVC pipes with a T-joint at the top to make it like a handle. I used a 32mm diameter one, but I’m not sure why its labeled as 25mm. Its cheap though, so I’m not complaining. I paid SGD 4.20 for about 2 meters of the 32mm pipe.


I used 100mm scooter wheels as I thought that they would give me a balance between moderate speed and high torque. Scooter wheels also have high traction against the ground. Most of them have bearings installed in them, so try to get one that doesn’t have the bearings installed as you would have to knock them out, possibly damaging them in the process. I bought this particular one. They have a 22mm bore hole after the bearings are removed, so I used pololu’s scooter wheel adapter. I used the one with 6mm bore. You can get them here or if you’re in Singapore, here.

Batteries and Accessories

I bought the LiPo batteries from hobbyking.com , as they are priced reasonable and has fast delivery service. I bought a hard-cased Turnigy 5000mAh 4S battery. It has a rating of 20C (which means it can discharge at a rate of 20 times its capacity i.e. 20C x 5000mA = 100A). They are quite cheap, at USD25.85/SGD35, a price that other shops definitely can’t beat. They are in fact genuine.

I also bought a Hobbyking ECO6 50W Balance charger for USD19/SGD25. It is a DC charger, so I also bought a hobbyking 60W 15V Switchmode power supply for it. Along with that, I also bought some adapters for the 4mm HXT bullet connector for the battery, 2 battery voltage alarm/checker and velcro straps for the battery.

Motor Driver

Previously I used the Sabertooth 2X25 on the P.E.T. However, they are too overkill and quite expensive, although I got it for free. I decided to use Orion Robotics’s roboclaw 2x15A motor driver. It has regenerative braking, which means the kinetic energy from the spinning motors will be converted to electrical energy to charge the battery when it is braking/slowing, similar to how electric trains brake. This saves power as the battery does not have to be very large, allowing for extended range. It has a simple serial mode which I plan to use. In the future when I have extra time I might use the packet serial mode which can feedback to the arduino about motor voltages, battery voltages as well as have better control over the motors. You can buy it here or if you’re in Singapore, here. If you’re going for a cheaper one, you might want to consider getting Pololu’s Simple Motor Controller series or even use a simple MOSFET to control the motors using PWM.

Mounting Hardware

The wheels are direct-driven and have to be mounted on a mount. I originally wanted to use a pillow block but I could not find one with 6mm bore. I then thought of using a pillow block with plastic bearing but having limited experience of using plastic plain bearings (I only used it once), and I’m not sure whether it works for high load applications. I then decided to use a customisable bearing holder that has a 626 bearing(6mm bore) installed from misumi. Misumi does not sell to individual customers, they only sell to companies so I ordered them through my school.

As for mounting of the motors, I am planning to use steel 90° shelf mounting brackets. I will drill holes based on the spacings of the holes on the motor’s gearbox.

Fabrication of The Personal Transporter

(As for the fabrication part, my friend Max also helped me)

We started with cutting the plywood to a suitable size. Originally we thought of cutting it to 40cm x 30cm but it proves uncomfortable to stand with my feet so close together. I decided to cut it to 40cm x 40cm square, 5 cm smaller than the previous personal transporter.

20150617_131012_HDR Handle

As for the PVC pipes, my friend had a really awesome idea of storing the handle under the transporter when not in use. They would be secured to the plywood board using velcro straps. So we decided to cut the 1m pvc pipe into 30cm sections so they could fit below. Using straight joints, they could be combined into a 90cm handle. At first we thought of using a 3D printed mount to mount the handle to the wood, but 3D prints are not very strong so we decided to use a screwed coupler for the handle. We had to ‘mill’ a large hole in the wood to get in the screw coupler. Tedious, but works better than the 3D print mount.

For the mounting of the motor, we used the 90° angle bracket used for shelves. We counterbored holes for the M4 screw heads so they would not protrude out as that would look unsightly.



We spray painted both the plywood and handle so that it will look nicer and cleaner. For the handle, we used a matte silver colour to give it a metallic look and as for the wood we used dark grey so that it would not get look dirty easily. A few coats had to be given in order to hide the underlayer.


We used misumi’s bearing holder with a 626 bearing preinstalled. It is made of solid aluminium so it should be more than enough for a human’s weight. Similarly, we also counterbored holes on the plywood side so that the screw would not look unsightly.

Bearing Holder

The magic smoke of the motor driver

I was testing the battery with the motor driver at one time. The 5V BEC pin of the motor driver was connected to the Vin pin of the arduino as the 5V pin was used for the HC06 bluetooth. I unplugged the battery from the motor driver, and then inserted it in to the HXT 4mm to 2.1mm connector and then connected the 16V battery to the arduino, not realising the Vin pin is still connected to the 5V pin of the motor driver. The magic smoke was released, and that was the end for the motor driver. Luckily, upon further scrutiny, the MOSFETs look ok, but the 5V switching regulator has burned. I might be able to salvage it, but that will be in a future blog post. I had to use an old sabertooth 2×5 from another student’s project for now, although now I also have to add in a 7805 5V regulator as the sabertooth 2×5 can only supply 10mA for battery voltages above 12.6V.

Burned Motor DriverSabertooth 2X5A

Attaching Couplers to Motor Shafts


Completed P.E.T V2

Read Personal Transporter V2.5 here

Arduino Smartwatch

Project Supervisor : Teo Shin Jen

Over the last few years, various wearable technology have been created by various IT companies. VR headsets, smartwatches are some of the few examples. Smartwatches have become more and more popular as it provides the platform for the user to check on notifications on their phone without whipping out their phone. It has become a convenient gadget for a lot of people. Although more affordable models exist, what’s the fun of just buying one when you can make one for less than $40? Today I will be showing you how I made mine that connects to an Android Phone and shows SMS notifications and syncs time with an android smartphone.

Step 1: Parts needed:

1. 0.96″ Or 1.3″ SSD1306/SH1106 SPI/I2C 128×64 OLED Screen (From ebay)

2. An Arduino Pro Mini 3.3V with ATmega328P (From ebay)

3. An Arduino Uno or a TTL-Level 3.3V USB to Serial Converter (From ebay)

4. HC06/HC05 Bluetooth Module (I recommend using HC-06) (From ebay)

5. Wires (as small as possible. I used wire wrapping wires)

6. A small Li-Po battery below 500mAh (Choose according to your size preference, I used 600mAh) (From local shop)

7. Small Push Buttons

8. A TP4056 Li-Ion Battery Charging module (I recommend the one with the battery protection circuit.) (From ebay)

9. An Android Phone

If you need the ebay links don’t hesitate to comment below and I will add the links for you.


Step 2: Before we do anything, we must make sure that everything works by prototyping on the breadboard. I recommend using an Arduino Uno as it is more convenient when prototyping and similar to its mini counterpart, the Arduino pro mini, except it is 3.3V. If you’re using a bare HC05/HC06 without a breakout board, you should use resistors to step down the I/O voltage to 3.3V on the VCC and RX line of the Bluetooth module. (I recommend using 330 ohms and 1kohm. The centre pin between the 2 resistors is the step-downed voltage) Same for the OLED. However most SSD1306/SH1106 OLEDs are 5V tolerant. Check with the manufacturer/seller for more info. Breadboard CircuitArduino_Smartwatch_Schematic

Firstly, I planned the watch face using Adobe’s Illustrator. I made a new file with its width set to 128 px and height to 64px, representing each pixel on the OLED display. I then used the U8glib library to code the drawings on the OLED. At that time, I temporarily used the millis() function to increase the time from 0. Next was the menu system. I had originally planned to use 4 buttons for the watch (1 for next, 1 for previous, 1 for menu, 1 for select) but I figured out its too many. 3 would be enough. I combined the menu button into next and previous button. When both buttons are pressed, it would go to the menu. Similarly, I used Adobe Illustrator to plan the menu.

The menu system works based on another separate function. Once the user presses the select button, the function would return a number, for example ‘2’ would mean the user selected the apps menu. The void loop function would then run the app menu function. Next is to program the most important part of the watch, the bluetooth sync SMS and time sync capability. I actually developed the android app using MIT’s App Inventor 2 first before I start on the Arduino side. I will explain more on the app on the next section. For the SMS part, I did the coding on a separate program so as to make it easier and not confusing. After I have made it working, only then I would combine both of them together. Test the arduino program by pushing both buttons that are connected to pin 7 and 5. It should go on to a menu. Pin 4 is the select menu option. If it does, you have done the connection correctly.

Step 3: The Android App I used MIT’s App Inventor 2 to develop the app that interfaces with the watch as it only involves dragging and dropping blocks. I utilised the Texting and bluetoothClient modules. Basically how it works is that the texting component will receive and store the text message into a String variable. It will pass the variable to the bluetoothClient component which will affix a ‘2’ to the front of the string so that the arduino can identify that this string is a text message. As for the time sync function, I used the clock component to get the current time of the phone. It will then pass it to the bluetoothClient component which will then affix a ‘1’ to the front of the string so that the arduino can identify that it is a string of characters that represent time. Test the app by first installing it on your phone, and then connect to your HC05/06 by selecting connect and then selecting your HC05/06. Note: You have to pair your HC05/06 to your phone in your android settings menu for your phone before you can connect it in the app. Make sure your bluetooth is turned on. You can download the app (apk and .aia appInventor file) here App Inventor

Step 4: Soldering everything together

Firstly I removed the reset button on the pro mini as it might be accidentally pressed when the watch is assembled. Also, it is the tallest component on the pro mini. I heated up one of the pads and then used tweezers to lift the button up. Then I heated up the other side and lifted up the whole reset button.

The next thing I did was to remove the header pins on the OLED screen. The best way to remove it is to heat up one of the pins, and then slowly lift up the pin one by one when they become loose. After all of the pins are lifted, the plastic part of the header can then be lifted up easily. After that, I used short wire wrapping wires to solder. Remember, the objective is to use as little wire as possible as wires can.

Step 5: 3D printed casing + watch strap

I plan to use the ninjaflex flexible filament for the casing. My friend suggested that we print a small rectangular sample for the strap so that we can test the flexibility of the ninjaflex strap as this is our first time using it. Since it was recommended that the print speed for the ninjaflex filament set at 30mm/s, we had it set to 20mm/s, just to be cautious. We used the school’s Makerbot Replicator 2 with the spring loaded extruder. Originally the school’s makerbot had a plastic build platform, but then it was replaced with a glass one with flashforge’s pre cut print tape. There was a bit of imperfection on one side, but that is due to the unleveled build plate.


As for drawing of the casing, we at first modeled all the parts including the OLED, HC06, Pro mini and TP4056 charger board in CAD (Autodesk Inventor). Then we assembled it in CAD and then only we modeled the casing around it.

Arduino Code: https://github.com/hassanul/Arduino_Smartwatch/blob/master/Watch.ino

Android App (APK): https://www.dropbox.com/s/ck48c0nthlh4jib/BluetoothSMS.apk?dl=0



Current Prototype


Short Review of UNI-T UT136C

Today I will doing a short review of the UNI-T UT136C auto ranging multimeter. I got this for 20.95 USD from ebay which also converts to 28.32 SGD in today’s rate, which is bargain for an auto ranging multimeter. Shipping was free, and I got it in just 10 days, which is fast compared to the usual 3 weeks for shipping from China to Singapore.

Multimeter With Accessories

It arrived in box, without the retail packaging, indicating this unit must be factory direct. It came with a set of probes, a Chinese manual and a K-type thermocouple. The multimeter was wrapped in a bubble wrap, not the best one, but it came in one piece so it’s ok. For the manual, a Chinese version was included but there is an English version available on UNI-T’s English website as a pdf download. The probes were okay, a little bit thicker than the ones I used in my previous crappy $20 multimeter that had malfunctioned. There is no strain relief at all on the plastic ends of the probes. For that price and a great build quality you can’t really complain that much.

The build quality of the plastic probes feels solid, and its much thicker then the previous ones that I had used. The wires are also quite flexible. However, I would recommend getting another better set of probes. For the main multimeter itself, it is surrounded by what I would call soft touch plastic. Its red in colour, really nice to hold and has an ergonomic design due to its small size. It feels heavy and has a solid build construction. It has a flip out stand that is held in place by friction.

The LCD screen has 4 digits, enough for hobbyist use, which is what I intend to use it for. There is no backlight or single-led backlight so the LCD screen is a might be a bit hard to see under bright light but under normal room lighting it looks ok. Its size is approximately 5cm by 2cm.

There is an auto off option, where it will turn off after 10 minutes, a nice feature if you always forget to turn the multimeter off. It will sound a beep at the 9th minute to indicate to the user. There is an option to turn off this feature by holding down the select button when turning on the multimeter. The buttons are plastic, so none of those cheapy crappy membrane buttons.

The K-type thermocouple provided is not really of a good quality. It can only be used in temperatures of up to 230° C. The multimeter can measure up to the nearest degree. It measured 32 degrees C on ambient temperature in an air conditioned room, but I think it is off by 2-5 degrees, so I would only use this as a reference. As the manual indicates, it has an accuracy of ± 2.5%

The continuity measurements are not latched, but its fairly quick. It is sometimes intermittent even though both probes are literally touching together with me applying some force, but I think this is due to the probes themselves. I recommend users that use this feature a lot to get a better set of probes.

The autoranging feature is quite fast, although the autoranging in the resistance measurement can be slow. For me, I don’t really mind this as I use this measurement very rarely. As for the autoranging on the voltage measurement (which I use the most), it managed to get a stable reading within a second.

I particularly liked the 9V battery holder. The battery holder uses a removable holder which the battery sits into. So none of that fixed wire 9V connector.

As for the accuracy of the measurements of the multimeter, I’m not going to do it as I don’t have the proper equipment.

In conclusion, I would definitely recommend this multimeter to anybody who is starting hobbyist electronics. With its great build quality and price, its a good multimeter to start with.

Unbrick bricked FTDI chip

Last year around October, FTDI, the manufacturer of the popular USB to Serial converter used by many Arduinos released a driver (2.11.0 and 2.12.0) that bricks chips that it believes to be counterfeit. What it did was to set the PID (Product ID) to 0000 instead of 6001 which renders the chip unusable as Windows cannot find a driver for it. However, there seems to be a fix created by the maker community out there and so today we will be seeing on how to do it. I was given an Arduino Nano by my classmate but when I got it I could not program it. I then checked the PID at the device manager and it was showing 0000.

(This tutorial is largely based on Rei-labs.net tutorial here, but I decided to do my own version)

First thing to do is to uninstall the drivers. You can do this by going to device manager > Ports (COM & LPT) > FT232R USB UART. Right click and select Uninstall. Tick Delete the drivers software for this device and click OK.

Now go to C:\Windows\System32\DriverStore\FileRepository and delete anything that starts with FTDI (ftdibus and ftdiport)


Now its time to install an older version of the FTDI drivers. Go to this website here and scroll all the way down. Download the 2.08.30 version of the drivers and depending on your computer’s OS, download the WIndows 8.1 if you have windows 8.1 or the Windows**** for all other versions.


Extract the folders and double click on the exe file. Click next and accept all the license terms. Once done, restart your computer. Do not plug in your FTDI device yet.

Now go back to the  C:\Windows\System32\DriverStore\FileRepository folder and open ftdibus.inf. Open the ftdibus.inf file using any text editor. (Notepad will do)

First change the version of the driver. Find this line “DriverVer=07/12/2013,2.08.30” and change it to DriverVer=07/12/2023,12.08.30 ,without quotes. This is to fool Windows that this is the newest driver

Next go to [FTDIHw] and add this line just below it.


Next go to [FTDIHw.NTamd64] and add this line just below it.


Next go to [Strings] and add this line below DriversDisk=”FTDI USB Drivers Disk”

USB\VID_0403&PID_0000.DeviceDesc=”USB Serial Port 0000″

Save the file to desktop and then move it back to the original folder that you opened it.

Now open ftdiport.inf. Basically we are doing the same thing as above, but slightly different

Find this line “DriverVer=07/12/2013,2.08.30” and change it to “DriverVer=07/12/2023,12.08.30” ,without quotes.

Go to [FtdiHw] and add this line just below [FtdiHw]


Now go to [FTDIHw.NTamd64] and add this line just below [FTDIHw.NTamd64]


Now go to [Strings] and add this line just below PortsClassName = “Ports (COM & LPT)”

VID_0403&PID_0000.DeviceDesc=”USB Serial Port 0000″

Save the file to desktop and then move it back to the original folder that you opened it.

Although a restart is recommended, it seems to work for me without a restart. Now you can plug in your FTDI device and Windows will automatically install the drives. If not, go to device manager and click on Ports (COM& LPT) and right click “FT232R USB UART” and select update driver software. Select Browse my computer for driver software paste the line below as the location. Then click next. Windows should automatically find it and install it.


Once done, you should see “USB Serial Port 0000 (COMx). Your device can now be used, but the PID is still 0000. You can even try uploading a blink sketch if your FTDI device is an arduino . However, if you plug in your device to other computers, it will still not work. The next step is to change the PID back to default using FT_Prog

Download the software here or go to http://www.ftdichip.com/Support/Utilities.htm and scroll to FT_Prog and download the “Previous Version”

Once installed, launch the program and click on the magnifying glass. Then go to “USB Device Descriptor” on the left. Go to Custom VID/PID and select FTDI default. It should set the Vendor ID to 0403 and the Product ID to 6001. Or you can select Custom PID and set the Product ID to 6001.


Once done, click on the lightning icon. Double check that the Product ID is correct and then click on program. It should only take a few seconds. Then click close.

FT_Prog Program

Then unplug and plug in your device. Go to device manager and your device should not appear as USB Serial Port 0000. That means you’ve done everything correctly!

If you have any problems and/or questions, feel free to comment below 🙂