HackerBoxes 0001: Robotic Smart Car, NodeMCU, 3D LED Christmas Tree




This instructable shares the basics of working with HackerBoxes #0001. HackerBoxes is the monthly subscription box service for electronics hobbyists, makers, and hackers. If you would like to receive a box like this right to your mailbox each month, you can SUBSCRIBE HEREanytime. We hope subscribers to HackerBoxes will use this instructable to make the most of their box contents. Of course, this instructable is for non-subscribers too. Box contents are fully described so that anyone can join in the fun with their own components and modules. Where possible, we include links to online merchants where the items may be purchased individually. Also, extra HackerBoxes (if available) will be in the online store at HackerBoxes.

Contents of HackerBoxes #0001:

  • 3D LED Holiday Tree Kit with Battery Pack (buy at Amazon)
  • USB Power Supply for 3D LED Tree
  • 2WD Robotic Smart Car Chassis Platform (buy at Amazon)
  • NodeMCU v2 – Lua-based ESP8266 Development Board (buy at Amazon)
  • NodeMCU L293DD Motor Shield (buy on Amazon)
  • USB Cable: Male-A to Mini-B (buy at Amazon)
  • “Open Source Hardware” Logo Decal

Please join us at our Facebook Page or shoot us an email.


Step 1: 3D Tree: Schematic, Parts List, Theory of Operation

3D Holiday Tree Parts List:

  • R1, R3, R5 : 10K ohm resistors
  • R2, R4, R6 : 1K ohm resistors
  • R7 : 2K ohm resistors
  • C1, C2, C3 : 47uF capacitors
  • Q1, Q2, Q3 : 9014 transistors
  • D1-D6 : Green LEDs
  • D7-D12 : Red LEDs
  • D13-D18 : Yellow LEDs
  • D19 : Red LED

Each of the 10K resistors and 47uF capacitors forms an RC oscillator that periodically pushes the associated transistor on. The three RC oscillators are cascaded in a chain to keep them cycling out of phase which makes the blinking appear random around the tree. When the transistor is "on" current passes through a bank of 6 LEDs and their 1K current limiting resistor causing that bank to blink on.
Here is a nice explanation of the basic concept using a single stage (one oscillator and one transistor).

Step 2: 3D Tree: Resistors

Begin soldering by stuffing the resistors. Resistors are not polarized in anyway, which means that you can insert them in either direction.

Use a resistor color code chart or app to identify the different resistor values and make sure to insert them into the correct holes.

In some of 3D Christmas Tree kits, a couple of the 1K resistors are replaced with 330 ohm resistors. When available, the 330 ohm resistors should be used for R2 instead of the specified 1K resistor. According to the numbering system that we have used, R2 is the current limiting resistor for the green LED bank (D1-D6). Using this lower resistance allows the green LEDs to glow a tiny bit brighter, which can mitigate the fact that green LEDs often appear a little dimmer than the red and yellow LEDs.

In the end, the value of the current limiting resistors (R2, R4, R6, and R7) is somewhat forgiving and can anywhere around 300 ohms to 3K.

The value for R7 is specified on the higher end (at 2K) because R7 is the current limiting resistor for the red LED D19 at the top of the tree. Since D19 does not blink, it may appear much brighter, so the higher 2K resistance balances the brightness a bit with respect to the other LEDs.

Are you new to soldering? There are a lot of great guides and videos online about soldering. Here is one example. If you feel that you need additional assistance, try to find a local makers group or hacker space in your area. Also, amateur radio clubs are always excellent sources of electronics experience.

Step 3: 3D Tree: Transistors

When soldering in the transistors, be sure to align the flat side of the transistor to the flat side of the white outline on the printed circuit board (PCB). This ensures that the transistor is wired in the correct direction.

Hey Wikipedia, what is a bipolar junction transistor?

Step 4: 3D Tree: Capacitors

Solder in the electrolytic capacitors. These are definitely polarized. There is usually a "-" marking along one side of the can and also the longer lead is positive while the shorter lead is negative. Be certain that the positive and negative terminals are matched to the indications on the PCB silk screen printing. As a double check, the solder pad for the positive pin is often square, while the negative pad is round. The square pad is sometimes called the "pin one indicator" and this applies to multi-lead packages like DIP integrated circuits as well. Leave enough slack in the leads to be able to bend the capacitor over onto its side once it is soldered into place.

Step 5: 3D Tree: LEDs

Diodes (including LEDs) are also polarized. Be certain to observe that the long lead is positive and the short is negative. Again observe the silk screen printing on the PCB or that the positive solder pad is square. When soldering the LEDs, be sure the keep the same colors grouped together with a common resistor and transistor as show in our schematic and parts list. If you attempt to drive mixed color LEDs with the same current limiting resistor and switching transistor, you will likely find that one color glows brighter and the other color doesn't light up at all or only very dimly.

When soldering the LEDs into place, leave slack in the leads so that the LED can be bent off to the side once it is attached. Note that we have not yet soldered in the D19 LED at the very tip of the tree.

Step 6: 3D Tree: Test Each PCB

Once each of the Tree PCBs are fully populated (except for the D19 LED at the tip), they can be tested by placing about 5VDC onto the "+" and "-" pads at the very bottom of the tree. For example, you can place some AA batteries into the battery housing and touch the wires to the correct pads on the PCB. The LEDs should blink and cycle with colorful holiday goodness. If they do not, check the polarities (directions) of the power wires, the LEDs, the caps, and the transistors. If you were careful with all of the polarities while soldering, there should be no problems.

Step 7: 3D Tree: Base PCB

Solder the power button and the power terminal onto the Base PCB. When inserting the power button, the notched side of the button should face the nearest edge of the PCB as shown. A piece of resistor lead that was trimmed off earlier may be wrapped around the power terminal and soldered to the PCB as a stain relief to make the connector more robust while inserting the power plug.

The battery pack can be bolted into the base PCB as shown. The wires from the battery pack can be fed up into the PCB trimmed and soldered to the power pads.

Step 8: 3D Tree: Final Assembly

Slide the two tree halves into one another being careful to bend any of the components (such as the transistors) our of the way if they catch onto one another. Once the sides are aligned, solder the pads together where the halves touch. Now the top LED (D19) can be attached and trimmed. Lastly, insert the tree into the base PCB being careful to observe the "+" and "-" designations on all three PCBs. Solder the tree to the base PCB.

Step 9: 3D Tree: Enjoy an LED-powered Holiday Wonderland

Your 3D LED Tree can be powered from the battery pack OR the power terminal USB adapter. When the power terminal is inserted, the batteries are out of the circuit, so it is fine to leave the batteries installed while using the USB power adapter.

WARNING: Some hobbyists have found that these low-power USB adapters do not work well with adapters to non-US power mains. If you are using the 3D Tree kit outside the US, please exercise caution. You can power the USB plug from a computer, power pack, or phone charger as well to avoid using the low-power adapter. Where ever you use the 3D Tree, and no matter which power supply you use, please be cautions and do not leave the 3D Tree operating unattended.

Step 10: Robotic Smart Car: Introduction

The Robotic Smart Car is based upon a common 2WD hobbyist chassis. The chassis supports two 6V gear-reduced motors and one caster "wheel." The controller for the Robotic Smart Car is a NodeMCU WiFi board along with a motor driver shield. The code and hardware are all open source and readily hackable.

Step 11: Robotic Smart Car: Assembly

Assemble the Robotic Car Chassis according to the included instructions. Then use the included hardware to mount the battery pack over the caster "wheel" and the motor driver shield opposite the battery pack as shown.

Step 12: Robotic Smart Car: Wiring

Solder hookup wire to the motors and attach to the motor controller by tighten down the terminal screws. The motors cannot be damaged by reverse wiring since they are bidirectional. If the motor controller is working backwards later, just reverse the wires for that motor at the screw-down terminals.

Connect the battery pack to the power terminals of the motor shield. Putting the jumper in place allows the controller and the motors to run off the same batteries. The positive (red) lead from the battery pack may be wired to pass through the switch allowing the power to be cut off at the source.

Step 13: Robotic Smart Car: NodeMCU Controller

NodeMCU is an open source IoT platform using the Lua scripting language. NodeMCU modules are based on the ESP8266. The boards include the SoC Processor, a USB to Serial adapter, a surface-mount LED, and a voltage regulator. Here is an Instructable showing how to get started with the ESP8266 and NodeMCU.

Step 14: Robotic Smart Car: NodeMCU Mobile App

The Robotic Smart Car employs wireless remote control over Wi-Fi. The Wi-Fi can be configured in either of two modes: AP (Access Point) mode or STA (station) mode. The mobile app for controlling under AP mode may be found here. The mobile app for controlling under STA mode may be found here.

Step 15: Hack the Planet

After these examples, what else can you make? Let us know by sharing in the comments on this instructable, through social media, videos, or even make your own instructable. We'd also love to see a nice unboxing video. Be sure to share links with us and the other subscribers. If we're truly impressed, we may be compelled to reward you with a free month added on to your HackerBoxes subscription. Thank you for being part of this adventure. Please keep your suggestions and feedback coming. HackerBoxes are your boxes. Let's make something great!

4 People Made This Project!


  • Woodworking Contest

    Woodworking Contest
  • IoT Challenge

    IoT Challenge
  • Party Challenge

    Party Challenge

12 Discussions


3 years ago

nice collection


3 years ago

Unfortunally I haven´t seen, that the firmware was allready installed. Now I did the steps in the tut but I can´t bring it to work. When I send AT commands, I allways get "stdin:2: '=' expected near 'AT'"

Maybe anybody can help?

3 replies

Reply 3 years ago

Thats greate, thank you! And where to find the files for the car remote stuff?


Reply 3 years ago

It should publish by the middle of the day Wednesday once most of the boxes are delivered. Thanks!


3 years ago

Hey guys, any way you can post the PCB layouts for the Christmas tree? -- I think I've gone and derped mine up. Tried to repair it -- but sometimes it just goes solid -- if I plug in USB, it blinks again, but on batteries, it eventually just stops and goes solid ... and a couple of my LEDs are very dim or don't light -- would love to give it another try. :-)

1 reply

Reply 3 years ago

It sounds like you might have some of your resistors switched around.

Regarding the LEDs that blink with USB power but not with battery power, make sure that R1, R3, and R5 (on BOTH board) are all 10K ohm (brown-black-orange). These 10K resistors along with the 47uF capacitors form the RC oscillators that
periodical switch the associated transistor on to make the LEDs blink. An oscillator that is out of range (due to an incorrect resistor values) might behave unexpectedly under different supply voltages - in this case around 5VDC for USB vs. around 4VDC with batteries.

Regarding the LEDs that are very dim, you probably have one or more of the 10K resistors that should have been used above instead positioned at R2, R4, or R6 which are the current limiting (dimming) resistors and should be lower at 1K (or 330) ohm. Bumping one of these up to 10K will definitely dim the associated LEDs.

Regarding the LEDs that are not coming on at all, there are several possible causes. The simplest, and most common, would be that those LEDs are reversed. The problem could be related to one of the resistor swaps discussed above and will rectify itself once you reposition the offending resistors. It could also be a short or bad solder joint at those specific LEDs. Lastly, it could be that those LEDs got a little too much heat while soldering and are just fried.

Let us know what you figure out. It sounds like you actually got almost all the way there. Remember that expertise in electronics is directly proportional to how much equipment you have destroyed. :)


3 years ago

Just finished building the Robotic Smart Car with my 9 y/o daughter. Only tested it with the app. And first time soldering in probably 30 years. But we managed to get through it unscathed :) Tomorrow it's christmas tree time! And now I'm secretly going to play some more with the chip :)


3 years ago

Has anyone else had any trouble with theESP8266? I installed the driver but the virtual serial port doesn't show up. Any ideas?

OS X 10.11.2.

CP210x Macintosh OS X VCP Driver v4

1 reply

Reply 3 years ago

It looks like the OS X driver doesn't support 10.11 yet. It works in Windows 10, though.