Tuesday, January 9, 2018

Adding Status LED lights to RE-ARM smoothieboard

I've been the happy owner of a RE-ARM smoothieboard that I purchased through the kickstarter campaign. If you haven't heard of this board, it's a cost-effective way to upgrade your existing 3D printer that uses a Arduino Mega with Ramps 1.4. The RE-ARM replaces the old and creaky 8-bit Arduino Mega with a powerful ARM based Smoothieboard- and keeps your Ramps 1.4. It's basically a plug-and-play upgrade. The software configuration is fairly straightforward, and there are many example configuration files on the smoothieware website. In addition to the improved processing power, it also had a big advantage in configuration- you simply update a config file on the SDCARD and reboot- no recompiling each time you want to change a setting.

It was a great upgrade to my "snowstock" delta printer over it's original Arduino Mega. The old Mega didn't really have enough processing power to drive the delta, resulting in poor print quality and many pauses during print, particularly when it was trying to drive a LCD panel.

All was well until I did a firmware update last week, and something went wrong, apparently "bricking" the re-arm. It wouldn't even show up as an external USB drive when attached to my PC. I asked for help on the forums- and was asked for status lights on the smoothieboard. The re-arm only has one status light- power - so no help there. Another helpful person on the reprap forums described how to add status lights to the re-arm. I added status lights to my re-arm- which told me my firmware was locked up. I ended up downloading a fresh copy of the latest firmware from the smoothieware github site, and that did the trick. The version I downloaded that temporarily bricked the board must have been corrupted.

Example status LED example from Youtube:

Even though they were not helpful for this problem, the status lights do seem like a good thing to have available. I thought it might be helpful to post pictures of what I did. Also a note- the LED's are not in order of the smoothieboard- on this implimentation on the re-arm they are left to right, LED3-LED4-LED2-LED1.

I only have through hole components and supplies. The sample circuit shown on the youtube video linked in the reprap forums uses surface mount components. The build shown below only uses simple through hole components.

"Bricked" RE-ARM, power light illuminated- no other clues about what is going on
RAMPS 1.4. Note the unpopulated servo pins at the bottom center of the photo, immediately to the right of the reset button. This is where the status LED will be installed. 



Step 1: Add female headers to the RAMPS 1.4 board to allow addition / removal of the status LEDs from the RAMPS board. Note we only need to add headers to the ground row and signal row of the servo pins.

Female header pins I had available
Trimming the headers to 4 pins wide



I used a 3x6 male header pin array to keep the proper spacing on the female header when I solder them to the RAMPS 1.4 board. 
Another view of the female headers prepped for soldering



Female headers inserted into the RAMPS board

Female header soldered into place & excess pin length trimmed

Male header pin array removed. The male pin array kept the female headers nicely aligned during soldering onto the RAMPS board.

Supplies Needed
 Step 2: Gather materials needed:

  • 4x 1k ohm resistors
  • male header pins
  • LEDs
  • perf board (I used cheapo non-plated perfboard, but anything would work)
  • breadboard (used to keep pins aligned during soldering)
Step 3: Layout and solder

Cut 2 male header pin strips- 4 pins long, insert into breadboard as shown
Insert 4 1k ohn resistors into perf board

Flip over and place on top of male header pins in breadboard (see tips of male header pins slightly protruding through perf board)

Nicely lay out resistor leads

Solder resistor leads to first row of header pins

Trim & solder long LED lead (anode / +) to second row of header pins- right side of photo. Solder short LED lead (cathode / - ) to left resistor lead. Trim excess leads. 

Completed "dead bug" build. Note the various LED leads have to be sided to space out the LEDs. Also make sure the various LEDs are not shorted to one another. 

Completed board trimmed and ready to go. Ugly(!) but functional. 

Side view

Step 4: Plug into RAMPs

New LED board plugged onto RAMPs. Note LED anode / + connect to the signal lead, and cathode to ground (through 1k resistor to control current)  All LEDs lit- firmware crash!
Step 5: Check LEDs vs. reference
See Smoothieware wiki. Again, note that the LED order on the RAMPs board doesn't match the "real" smoothieboard: left to right, LED3-LED4-LED2-LED1.


Fixed- test print with Benchy