Silicon ChipMake it with Micromite - June 2020 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Subscriptions: PE Subscription
  4. Subscriptions: PicoLog Cloud
  5. Publisher's Letter: Publisher's Statement
  6. Publisher's Letter
  7. Feature: Techno Talk by Mark Nelson
  8. Feature: Net Work by Alan Winstanley
  9. Back Issues: Net Work by Alan Winstanley
  10. Project: AM/FM/CW Scanning HF/VHF RF Signal Generator by Andrew Woodfield
  11. Project: A low-cost 3.5-inch touchscreen for the Arduino or Micromite by Tim Blythman
  12. Project: Ultra-low-distortion Preamplifier with Tone Controls Part 3 by John Clarke
  13. Feature: Circuit Surgery by Ian Bell
  14. Feature: Practically Speaking by Mike Hibbett
  15. Feature: Make it with Micromite by Phil Boyce
  16. Feature: AUDIO OUT by Jake Rothman
  17. Feature: Max’s Cool Beans by Max the Magnificent
  18. PCB Order Form
  19. Advertising Index

This is only a preview of the June 2020 issue of Practical Electronics.

You can view 0 of the 72 pages in the full issue.

Articles in this series:
  • Techno Talk (June 2020)
  • Techno Talk (June 2020)
  • Techno Talk (July 2020)
  • Techno Talk (July 2020)
  • Techno Talk (August 2020)
  • Techno Talk (August 2020)
  • Techno Talk (September 2020)
  • Techno Talk (September 2020)
  • Techno Talk (October 2020)
  • Techno Talk (October 2020)
  • (November 2020)
  • (November 2020)
  • Techno Talk (December 2020)
  • Techno Talk (December 2020)
  • Techno Talk (January 2021)
  • Techno Talk (January 2021)
  • Techno Talk (February 2021)
  • Techno Talk (February 2021)
  • Techno Talk (March 2021)
  • Techno Talk (March 2021)
  • Techno Talk (April 2021)
  • Techno Talk (April 2021)
  • Techno Talk (May 2021)
  • Techno Talk (May 2021)
  • Techno Talk (June 2021)
  • Techno Talk (June 2021)
  • Techno Talk (July 2021)
  • Techno Talk (July 2021)
  • Techno Talk (August 2021)
  • Techno Talk (August 2021)
  • Techno Talk (September 2021)
  • Techno Talk (September 2021)
  • Techno Talk (October 2021)
  • Techno Talk (October 2021)
  • Techno Talk (November 2021)
  • Techno Talk (November 2021)
  • Techno Talk (December 2021)
  • Techno Talk (December 2021)
  • Communing with nature (January 2022)
  • Communing with nature (January 2022)
  • Should we be worried? (February 2022)
  • Should we be worried? (February 2022)
  • How resilient is your lifeline? (March 2022)
  • How resilient is your lifeline? (March 2022)
  • Go eco, get ethical! (April 2022)
  • Go eco, get ethical! (April 2022)
  • From nano to bio (May 2022)
  • From nano to bio (May 2022)
  • Positivity follows the gloom (June 2022)
  • Positivity follows the gloom (June 2022)
  • Mixed menu (July 2022)
  • Mixed menu (July 2022)
  • Time for a total rethink? (August 2022)
  • Time for a total rethink? (August 2022)
  • What’s in a name? (September 2022)
  • What’s in a name? (September 2022)
  • Forget leaves on the line! (October 2022)
  • Forget leaves on the line! (October 2022)
  • Giant Boost for Batteries (December 2022)
  • Giant Boost for Batteries (December 2022)
  • Raudive Voices Revisited (January 2023)
  • Raudive Voices Revisited (January 2023)
  • A thousand words (February 2023)
  • A thousand words (February 2023)
  • It’s handover time (March 2023)
  • It’s handover time (March 2023)
  • AI, Robots, Horticulture and Agriculture (April 2023)
  • AI, Robots, Horticulture and Agriculture (April 2023)
  • Prophecy can be perplexing (May 2023)
  • Prophecy can be perplexing (May 2023)
  • Technology comes in different shapes and sizes (June 2023)
  • Technology comes in different shapes and sizes (June 2023)
  • AI and robots – what could possibly go wrong? (July 2023)
  • AI and robots – what could possibly go wrong? (July 2023)
  • How long until we’re all out of work? (August 2023)
  • How long until we’re all out of work? (August 2023)
  • We both have truths, are mine the same as yours? (September 2023)
  • We both have truths, are mine the same as yours? (September 2023)
  • Holy Spheres, Batman! (October 2023)
  • Holy Spheres, Batman! (October 2023)
  • Where’s my pneumatic car? (November 2023)
  • Where’s my pneumatic car? (November 2023)
  • Good grief! (December 2023)
  • Good grief! (December 2023)
  • Cheeky chiplets (January 2024)
  • Cheeky chiplets (January 2024)
  • Cheeky chiplets (February 2024)
  • Cheeky chiplets (February 2024)
  • The Wibbly-Wobbly World of Quantum (March 2024)
  • The Wibbly-Wobbly World of Quantum (March 2024)
  • Techno Talk - Wait! What? Really? (April 2024)
  • Techno Talk - Wait! What? Really? (April 2024)
  • Techno Talk - One step closer to a dystopian abyss? (May 2024)
  • Techno Talk - One step closer to a dystopian abyss? (May 2024)
  • Techno Talk - Program that! (June 2024)
  • Techno Talk - Program that! (June 2024)
  • Techno Talk (July 2024)
  • Techno Talk (July 2024)
  • Techno Talk - That makes so much sense! (August 2024)
  • Techno Talk - That makes so much sense! (August 2024)
  • Techno Talk - I don’t want to be a Norbert... (September 2024)
  • Techno Talk - I don’t want to be a Norbert... (September 2024)
  • Techno Talk - Sticking the landing (October 2024)
  • Techno Talk - Sticking the landing (October 2024)
  • Techno Talk (November 2024)
  • Techno Talk (November 2024)
  • Techno Talk (December 2024)
  • Techno Talk (December 2024)
  • Techno Talk (January 2025)
  • Techno Talk (January 2025)
  • Techno Talk (February 2025)
  • Techno Talk (February 2025)
  • Techno Talk (March 2025)
  • Techno Talk (March 2025)
  • Techno Talk (April 2025)
  • Techno Talk (April 2025)
  • Techno Talk (May 2025)
  • Techno Talk (May 2025)
  • Techno Talk (June 2025)
  • Techno Talk (June 2025)
  • Techno Talk (July 2025)
  • Techno Talk (July 2025)
Make it with Micromite Phil Boyce – hands on with the mighty PIC-powered, BASIC microcontroller Part 17: Building the Micromite Robot Buggy The power circuit is greatly simplified thanks to the LiPo Charger/Booster module (MOD3). When a 3.7V LiPo battery is plugged into this booster module, there will be an output of approximately 5.2V on the 5V pin (assuming the battery has some charge in it!). Pulling MOD3’s EN pin low (0V) turns off the MOD3 5V ouput. The EN M 2 JS JP The code in this article is available for download from the PE website. 48 + 2 JS + V M O D 2 U S B B oB – M 1 JP 1 2 JP 7 JP E E P 5V 9 JP JS 3 10 23 24 21 22 0V 17 18 15 16 U S B + – L iP o 4 1 5V 9 Connectors JS 26 E N M O D 3 L iP o ch arger/ booster M I WM 5 0 V + 5 V 4 5 0V 22 IN 4 IN 3 0 V + V IN 1 5V JP 4 8 R 1 0kΩ 0V 0 V OU T 1 OU T 2 OU T 3 5V M O D 1 M otor drive r JP N ote: S 1 is a push- to- break button 1 3 U L T JP 25 Micromite code P ower circuit S 1 Motor circuit The motor circuit comprises a motor driver module (MOD1), and the two DC motors (M1, M2). The motor driver module simply boosts/‘amplifies’ four signals (two for each motor) from the Micromite. Each Micromite output pin can only supply a maximum current of circa 20mA and hence the motor module ‘amplifies’ this to what the motors require; the exact figure depends on the motor type (and gear ratio) used, and also the weight of the robot. Two MKC pins control one motor, and two more MKC pins control the other motor. A PWM signal is used on one side of each motor to control its speed, and this is why pins The Micromite Robot Buggy (MRB) 0 V M otor circuit OU T 4 Fig.18 shows the MRB’s circuit diagram, and as with most MIWM modules in this series, the circuit is relatively straightforward. It is just a matter of connecting three modules (MOD1MOD3), and two components (S1, R1), to the correct Micromite pins. There are three distinct parts to the schematic: the motor circuit, the power circuit, and the connectors for attaching existing MIWM hardware modules. Let’s take each of these in turn. Power circuit IN 2 Circuit diagram 4 and 5 have been used (PWM 1A and 1B). Standard I/O pins can be used to drive the other contact on each motor – here we have used pins 9 and 10. – introduced you to the new Micromite Robot Buggy (MRB). This month, we will work through the assembly process resulting in the MRB shown to the right. Please note that references this month to Fig.17 and below mean photos and diagrams from last month, hence you will need to have a copy of Part 16 (PE, May 2020) to hand. + I n last month’s article, we 3 2 5 4 7 6 9 0V 11 10 JP 6 JS 5 3.3V 12 14 Fig.18. Circuit diagram for the MRB. There are three distinct parts: motor circuit, power circuit and connectors for MIWM hardware. Practical Electronics | June | 2020 pin is tied to +V via an internal 200kΩ pull-up resistor. You can see in Fig.18 that the EN pin is also connected to 0V via R1 (10kΩ), jumper-link (JP8), and a push-to-break button (S1). With the jumper link in place (ignore pin 22 for now), the 5.0V output is off because the potential divider formed by 10kΩ and 200kΩ means EN is still effectively pulled low to nearly 0V. If the jumper link is removed, the EN pin is pulled high by the module’s internal 200kΩ resistor, and the 5V output will turn on. Refitting the jumper link will turn off the 5V output once again (for the aforementioned reasons). Now consider button (S1). When pressed, the 5V output will be on, and when released, the output will be off. Next we turn to the pin 22 connection. When S1 is pressed, the 5V output turns on (and the MKC powers up). If our program sets pin 22 high at the start of the code, then when S1 is released, the 5V output will not switch off because the EN pin is being held high via pin 22. So how do we now turn off the power other than disconnecting the battery? The answer is to simply set pin 22 low. This is just a nice little trick to allow the robot to be turned off with a touch-screen or infrared remote control. Turning the robot on will always require S1 to be pressed (or the jumper link to be removed). When it comes to charging the LiPo battery, the USB pin on the LiPo Charger/ Booster module needs to be fed with a 5V power source (with a capacity of at least 1A). MOD2, the USB breakout board (BoB) is used as a socket to supply 5V charging power to MOD3 USB pin. MOD2 is mounted at the back of the robot, providing a convenient place to attach a 5V supply to recharge the robot’s battery. We recommend using a phone charger for this function, or alternatively a RaspberryPi PSU (these have a microUSB connector and can comfortably supply at least 2A). MIWM Connectors The connectors need to be positioned correctly (as shown in Fig.21) to allow connection to other MIWM hardware modules. They pass the MKC signals to the daughterboard, and also to any other MIWM module that is plugged in. They do not affect the circuit in any other way. Pin mappings Before we go into specific assembly details, it is first worth having a quick look at how the 19 available Micromite I/O pins are being used in the MRB – see Table 2. You can see that most pins have been assigned already; however, there are still four available for future use. Practical Electronics | June | 2020 Motor positive (+) terminals H1a H3 H1b H2a H4 SL1 SL2 H2b H6* H5* SL3* H7* SL4* H8* SL5 SL6 H10* H9* SL8 H11 H12 SL7 H13a-d Holes and slots marked with ‘*’ only used in protoype – ignore for your buggy H14a-d Fig.19. The underside of the buggy showing slot (SLx) and hole (Hx) references. As shown, the MKC and Bluetooth module have yet to be attached. Guide to assembling the MRB chassis We will now work through two guides for assembling the robot chassis module. Once complete, we will run through some basic testing, and then plug everything together in order to run a simple demo program. Rather than go into extensive assembly details, we will simply provide numbered step-by-step instructions. When used in conjunction with the photos, they should easily provide you with enough information. If at any time you get stuck, or have any questions, then please do get in touch by email. So let’s get started… Table 2: Micromite pin assignments for the Micromite Robot Buggy. Pin No. Pin function To module Robot function 2 I/O TFT TFT D/C pin 3 SPI OUT TFT TFT SPI IN 4 PWM 1A MOTOR Motor 1 5 PWM 1B MOTOR Motor 2 6 I/O TFT TFT CS pin 7 I/O TFT TFT Touch_CS pin 9 I/O MOTOR Motor 1 10 I/O MOTOR Motor 2 14 SPI IN TFT TFT SPI OUT 15 I/O TFT TFT Touch_IRQ pin 16 Infrared TSOP IR receiver 17 2 I C CLK and I/O – Available for future use 18 2 I C DATA and I/O – Available for future use 21 I/O – Available for future use 22 I/O LIPO EN pin 23 I/O TFT TFT RESET pin 24 PWM 2B – Available for future use 25 SPI CLK TFT TFT SPI CLOCK 26 PWM 2A TFT PIEZO Sounder 49 Assembling the chassis 1. Identify the correct orientation of the acrylic chassis. Fig.2 shows the top surface onto which the daughterboard will be mounted. Fig.19 shows the underside, to which the motors and wheel mounts will be fixed (and this is the side we require now). The orientation is determined by slot SL7,which needs to be on the left, as shown in Fig.19. 2. Push-fit the two wheel mounts firmly into the two sets of four holes, H13 and H14 on the underside of the chassis. Ensure that the threaded hole is nearer the outer edge (Fig.19) 3. Place one of the motors into a motor mount so that one side of the gearbox is covered (Fig.16a). Ensure that the gearbox sits into the groves that are inside the motor mount. Before fixing it to the underside of the chassis, we first need to ensure that the motor is inserted with the contacts in the correct orientation. Referring to Fig.15 you can see that one of the motor contacts is marked with a ‘+’ symbol. This needs to be on the left side of the motor mount, when fixed to the chassis. If it isn’t, simply flip the motor over in the motor mount. Once correct, fix the motor mount on the underside of the chassis into hole pair H1 using the supplied nuts and bolts (see Fig.16b and 16c). Repeat for the other motor into hole pair H2. 4. Identify the two driving wheels; these have a smaller D-shaped hole in the centre of the wheel (as opposed to a larger round hole) – see Fig.4. Each driving wheel slides onto the D-shaped motor shaft that can be seen in Fig.16b. Align the wheel with the motor shaft and carefully slide one wheel onto each D-shaped motor shaft so that the end of the motor shaft sits flush with the wheel hub. Be careful not to push the wheel on at an angle as this will twist the motor shaft and potentially damage the motor. Note that a fair bit of force may initially be required to get the wheel onto the shaft. Take your time with this step – it is the trickiest part of assembly! 5. The two auxiliary wheels are attached to the two wheel mounts by using the shorter screws (spindles) supplied in the kit (you can discard the longer spindles). Refer to Fig.17 to see the location of the nuts and washers. Screw into the wheel mount and then add the supplied nut to lock it into place (see Fig.19). Check the two axillary wheels spin freely. Fig.20. Stripboard layout showing position of track-cuts, wire-links, components, and modules. 50 B 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 A B D D E E F F G H K M 2 C C G 1 A J H I I J K L L JP1, JP2, JP5 and JP6 marked in blue N are downward facing O pins (inserted from P above). Q R S T U V W X Y Z A A B B C C D D E E F F G G H H II J K K L L M M N N OO P P Two track cuts Q Q carefully made R R with scalpel or S S Stanley knife T T U U V V W W X X X X W W V V U U T T S S R R Q Q P P OO N N M M L L K K J II H H G G F F E E D D C C B B A A Z Y X W V U T S R Q P O N M L K J I H G F E D C B A JP1 M JP2 N O P Q R JP3 S T U MOD1 V W X JP9 JP4 Y Z A A MOD3 B B C C D D E E F F G G H H II JP5 JS3 R1 J K K L L JS4 M M N N OO P P Q Q R R S S T T U U V V W W X X JP8 JP6 JS5 MOD2 S1 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 X X W W V V U U T T S S R R Q Q P P OO N N M M L L K K J II H H G G F F E E D D C C B B A A Z Y X W V U T S R Q P O N M L K J I H G F E D C B A 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 3 5 3 6 Practical Electronics | June | 2020 MOD1 yellow/orange cap BT module MKC MOD2 mounted flush with stripboard Fig.21. Robot Buggy with the daughterboard attached to the chassis. The MKC and Bluetooth modules are attached on the underside. TFT module yet to be attached. 6. Place the two tracks over each pair of wheels. Ensure the track teeth sit properly around the toothed wheels (Fig.4). Then, manually turn each track slightly to check that the wheels turn – you will probably hear the gearbox mechanism turning as you do this. 7. Take the four 12mm, M3 nylon screws and from the underside of the chassis, insert them into holes H3, H4, H11 and H12. Use four of the nylon nuts to hold the screws in place. These four upward-facing screws will be used later as mounting posts to position the daughterboard onto the chassis (and the four remaining nylon nuts will secure it down). That completes the chassis assembly. Do check that everything seems correct and ensure that you address any issues before moving on. We will now work through the assembly of the daughterboard. Assembling the daughterboard Throughout the following steps, refer to Fig.20 for the layout of the stripboard. 1. Mark the position of all the track cuts. Check them all at least twice before making the cuts! Be sure to remove any shards of track to avoid shorts with neighbouring tracks. 2. Mark the four positions (M8, M28, TT8, TT29) of the mounting holes shown in Fig.20. Use a 3mm drill bit to make the holes. 3. Mark the locations of the 20 wire links. Tip: use a felt-tip pen and mark the ‘start’ and ‘end’ holes on the topside of the stripboard. Check these at least twice, making any corrections. Then simply work through one link at a time by wiring up the ‘felt-tip dots’. Check that there are no solder shorts to neighbouring tracks. Practical Electronics | June | 2020 Fig.22. The underside of the Robot Buggy with the MKC and Bluetooth module attached. 4. Prepare all pin-strips (JPxx) and sockets (JSxx) as shown in Fig.14 (carefully observing where pins and contacts need to be removed from the plastic body) 5. The motor driver module (MOD1) has a solder-link on the underside – ensure that this is shorted out with a blob of solder. 6. Solder the two 6-way pin-strips (JP3 and JP4) onto the underside of motor module MOD1, and then solder the module into position on the daughterboard. Ensure that the yellow/orange capacitor on the motor driver module is towards the upperleft corner – refer to Fig.21. 7. Solder the modified 8-way pin strip (JP9) into position on the stripboard. Ensure that only 5-pins are in the modified 8-way pin-strip (as shown in Fig.14), and also that it is mounted the correct way round (refer to Fig.20). Do not solder the LiPo module yet! 8. Position the USB BoB (MOD2) directly onto the stripboard. Use the 5-way pin-strip (JP7) and insert the long pins down through the USB BoB continuing down through the stripboard into holes SS32-SS36. Solder the pins to the stripboard. Next, carefully remove the plastic from the pin-strip on the USB BoB side by sliding it upwards. Now you can solder the pins to the top side of the USB BoB. This process ensures that the BoB is fixed down flush onto the strip-board. See Fig.21 and Fig.23. Finally, solder two wire-link off-cuts into hole positions VV32 and VV36. These add strength by holding the USB BoB down onto the stripboard. 9. Solder the power button (S1) into place. (Remember to make track cut first – see Fig.20.) 10. Solder the 10kΩ pull-down resistor (R1) into place. 11. Solder the 2-way jumper link (JP8) into place. For now, do not insert the jumper link. (Remember to make track cut first – see Fig.20.) 12. Solder the two modified 4-way pinstrips (JP1 and JP2) into position. Insert them from the upper side so the pins point downwards. Once soldered, slide on the two modified 4-way sockets, (JS1 and JS2). These sockets will be soldered directly to the two motors later (once the daughterboard is mounted onto the acrylic chassis). 13. Solder the 13-way pin-strip (JP5) and the 14-way pin-strip (JP6) into place. These are both downward facing and will ultimately allow the MKC plus Bluetooth module to be attached to the underside of the robot, as shown in Fig.22 and Fig.23. 14. Solder the two 6-way sockets (JS3 and JS4) along with the 14-way socket (JS5) into position. These will allow MIWM modules to be plugged into the robot from above, such as the TFT module. That completes the assembly of the daughterboard for now. If you have followed the above steps, then the LiPo Charger/Booster module (MOD3) will not be installed. This is important as we will test the daughterboard first before we solder MOD3 into place. Once again, do a thorough visual check and correct any issues. The circuit is not complex so there really isn’t much that can go wrong other than accidental shorts between tracks, or missed track-cuts. I recommend you take a break now, and come back to it another time and do one final check before moving on. 51 MOD2 mounted flush with stripboard Fig.23. The MKC and Bluetooth module correctly attached provides sufficient ground clearance (even though it looks close!). Mounting the daughterboard We will now mount the daughterboard onto the chassis so that we can test that the motors operate correctly. Begin by taking the Bluetooth (BT) module and inserting it through the chassis from below. You should find that the four Bluetooth sockets will pass through slots SL5, SL6. SL7 and SL8. If not, then you may just need to ‘assist’ them through. Once in place, offer up the daughterboard aligning it with the four nylon screws. You now need to line up the two rows of downward facing pins (JP5 and JP6) and insert them into the BT module. You may also need to bend the two pairs of 4-way motor connectors (JS1 and JS2) through slots SL1 and SL2 in order for everything to fit correctly. Once in place, use the four remaining nylon nuts to fix the daughterboard to the chassis. Tighten these nuts fully. Next, remove the BT module and you should then see that the daughterboard pins are reasonably central when viewed from below, as shown in Fig.19. Note that the longer slot SL3 is not currently being used, so ignore the pins that you can see in SL3 in Fig.19. Now we need to solder the two motors to the two modified 4-way sockets (JS1 and JS2) that should be poking through slots SL1 and SL2. Refer to Fig.15 to see how the end result should look. The sockets can be re-positioned as they are currently only slid onto JP1 and JP2 on the daughterboard. An important point (if using ‘extended’ shaft motors) is not to let the plastic housings on JS1 and JS2 touch the motor shaft. If they do, then the motor(s) won’t turn correctly. So go ahead and position the sockets as required, and then solder them carefully to the motors. Be careful not to slip with the soldering iron as this could melt the 52 plastic on the back of the motor (yes, I did just that on an early version). Cut off any excess socket contact so that you end up with something similar to that shown in Fig.15. Now we are in a position to test the motors. Testing the motors At this stage, you should have the MRB daughterboard firmly attached to the chassis. The LiPo Charger/Booster module should not be installed, and no MIWM hardware should be attached (not even the MKC or BT modules). For the motor test, a 5V power source is required along with six (male-to-male) jumper wires, and a small breadboard (or equivalent). The idea behind this test is to power the daughterboard with the 5V supply, and then connect 0V and 5V DC to one pair of input pins on the motor driver module (eg, IN1 and IN2 on MOD1). If everything is OK, then this will spin one of the MRB tracks in one direction. Swapping the polarity to IN1 and IN2 should reverse the motion. The test is then repeated by supplying 5V DC to the other pair of input pins (IN3 and IN4), which should spin the other track. Again, the spin direction is determined by the polarity applied to the input pins. You can use your MKC as the 5V power source by ‘tapping into’ the two end pins on the 6-way socket (0V closest to USBmicro socket). Use two jumper wires to connect 0V and 5V from the MKC to the breadboard, and then use two more to feed 0V and 5V (from the breadboard) to the 0V and 5V positions on JS4 – see Fig.18. Now power up your MKC as normal and check that its power LED is lit. For clarity, there is no need to launch your terminal app – you simply need to power up your MKC. Your daughterboard is now powered up. Depending on the version of MOD1, you may see an LED on the motor module light up. If the MKC’s power LED is not lit then there is a problem; check its power source, and also the correct connection of the four jumper wires. With the MKC’s power LED lit, the remaining two jumper wires are used to supply 0V and 5V DC to one of the two input pairs on the motor module. Use one jumper wire to supply 0V (from the breadboard) to pin 4 on JS5 (IN1 on MOD1), and the other to supply 5V (from the breadboard) to pin 9 on JS5 (IN2 on MOD1). This should result in one track rotating so you will need to hold the robot off your workbench. If a track doesn’t rotate then you will need to check for shorts, all jumper wire connections, and the 12 solder joints on MOD1. When you have achieved successful movement of a track swap the jumper wire to pins 4 and 9 on JS5, and check the same track now rotates in the opposite direction. Once this is functioning correctly, you can remove the wires from pins 4 and 9, and carefully insert them into pins 5 and 10. Repeat the test to ensure the other track can rotate in both directions. Once complete, power down your MKC, and remove all six jumper wires. Take your time and all will be well, but if you’re totally stuck, then send me an email and attach a high-resolution photo of the underside (track-side) of your daughterboard. This will mean dis-assembling your robot by undoing the four nylon nuts, and then carefully unplugging the daughterboard from the two motor sockets. When you have successfully completed the motor test you can proceed to the final assembly task. Practical Electronics | June | 2020 Fig.24. The Micromite Robot Buggy (with the TFT module attached) running the MicromiteRobotBuggy_Demo1 program. Final assembly We will soon solder the LiPo charger/ booster module into place but before doing that, let’s quickly check that it works. Connect the LiPo battery to the LiPo module, being careful to ensure you insert the battery’s 2-pin JST connector the correct way round. The JST connector is shaped in such a way that the battery can only be inserted in one orientation. As a sense check, the battery’s black lead will be closest to the corner of the module. On inserting the battery, the module’s power LED (typically a blue one) should light up. This confirms the module is functioning correctly. If the LED does not light up, be sure that the module is not sitting on anything conductive! If the LiPo is ‘dead’ then that could be the issue; however, LiPo batteries typically have protection circuit built in that prevents them totally running flat. If the LiPo module’s power LED doesn’t light up, plug a 5V PSU directly into the micro-USB socket on the charger module (this is a charging input). On doing this, you should see the recharging LED illuminate (orange or green). If so, then let the battery recharge for a short while. If there is still no LED that lights up then you will need to check the battery is inserted correctly. If you still have problems then try another LiPo battery. Once you see the LiPo module’s power LED light up, carefully remove the LiPo battery. Do not pull on the delicate battery leads to do this – they are very delicate! With the battery removed, go ahead and solder the module onto the five protruding pins on the 8-way pin-strip (JP9) on the Practical Electronics | June | 2020 daughterboard (refer to Fig.18, 20 and 21 to confirm placement). Now install the jumper-link onto the 2-way pinheader (JP8). With the LiPo module installed, and the jumper-link in place, carefully reconnect the LiPo battery. Next, do a quick power test by pressing the power button (S1). Upon pressing the button, the LiPo module’s power LED should light up indicating that 5V power is output from MOD3. However, as soon as you release the power button, the power LED should turn off. With the button released (and the MOD3 power LED off), remove the 2-way jumper link and check the MOD3 LED comes back on. If any of these tests fail then you will need to check all the tracks concerned with power circuit – use the stripboard layout in Fig.20 to assist with this. Once both the motor circuit, and the power circuit have been successfully tested, plug the Bluetooth module into your MKC, and connect them to your robot by plugging them into the underside of the robot (Fig.22). Ensure that these are pushed fully into place so that there is sufficient clearance from any flat surface that the robot is placed onto (Fig.23). Next, carefully plug in the TFT module ensuring that all the pins on the TFT module insert into the sockets (JS3, JS4, and JS5) correctly. Finally, remove the 2-way jumper link to power up the MRB. Robot demo software Your Micromite robot buggy is now ready to be tested from your remote computer by using the demo program that we have written. The program allows you to control (ie, move) the robot buggy by prompting you to enter a direction, and a duration. The program also confirms that you still have wireless remote access between your terminal app and your ‘mobile’ MKC. You need to download the file MicromiteRobotBuggy_Demo1.txt from the June 2020 page of the PE website. With the power-jumper link off, the TFT module inserted, and with the LiPo battery plugged into the LiPo Booster/ Charger module, install the code onto your MKC and run the program. If all is well you should hear an initial beep (if you have the piezo sounder installed on your TFT module), and you should also see a colourful ‘MICROMITE ROBOT BUGGY’ message on the TFT. In your terminal app you should be prompted to enter a direction in the form: (F)orward, (B)ack, (L)eft, (R)ight, (O)FF. Press the ‘F’ key (Enter) and then enter a lowvalue duration such as 2. On pressing the Enter key your robot buggy should move forwards a short distance, and then stop. Upon completion of the move, you should hear a short beep from the piezo. You should also be able to see the direction and duration value on the TFT screen (as shown in Fig.24). Check the other three directions (B, L and R) also function as expected. Now return the jumper link to JP8. Finally, select the ‘O’ option and check that the robot turns off. This is only a simple test demo to check the basics – if any of the tests fail, then take your time checking things over. Remember that all we have essentially done is add a battery, and a set of wheels, to your existing (working) MKC, Bluetooth, and TFT modules. If you have successfully reached this point then congratulations – you have successfully assembled your Micromite Robot Buggy! Next Month Having assembled the robot chassis module, you now have a basis on which to add some other features (and hence add some personality to your robot). So next month we will show you how to add some animated eyes (in the form of two 8×8 LED matrix modules). In addition, we will add an IR receiver to control various robot features from an IR remote. In the meantime, why not write some code to make your robot automatically follow a sequence of steps (movements and turns) so that it moves around on a defined path. Then make it repeat this path over and over. Have Fun! Questions? Please email Phil at: contactus<at>micromite.org 53