plugg.ee Labs
Robotics & Motors
KiCad

JuicyBoard

An open source, modular, robotic control system for building 3D printers, CNC routers, and other robotics applications

$10,564 raised

of $1,000 goal

1,056% Funded! Order Below

In stock. Order now, ships within three business days.

$5 - $94

View Purchasing Options

Recent Updates

You'll be notified about news and stock updates for this project.

JuicyBoard is the foundation of a modular, open source platform that makes it easy for you to build a custom 3D printer, CNC router, or any other device driven by stepper motors. The idea is simple, unlike other control boards, JuicyBoard is not pre-populated with any drivers, switches, or other functions. Instead, it includes only the components for common, core functions (e.g., microcontroller, USB port, SD card, etc.), so you have control over adding just the necessary functional modules for your application. This modular approach gives the platform a number of advantages over static board designs, as we explain below.

Features & Specifications

JuicyBoard R1000AX
JuicyBoard R1000AX measures 175 mm x 65.5 mm

JuicyBoard R1000AX base board has the following features:

Block Diagram

  1. Triple channel precision power monitors
  2. ATX-compatible input power connector
  3. USB Type-B data port
  4. USB Type-A power output port
  5. 5 V switching regulator (3 A output)
  6. 3.3 V switching regulator (1.5 A output)
  7. LM5060 hot-swap controller
  8. LPC1769 ARM Cortex M3 MCU @ 120 MHz
  9. 100 A PSMN1R2-30YLC,115 NFET Switch
  10. 15 x feature slots
  11. microSD card slot
  12. Full-size SD card slot

Ideas for Other Modules

In addition to the modules available below, we’d like to hear your feedback and suggestions for new modules. This is our current wish list:

We’re very open to working with other people who have cool modules that can work nicely with JuicyBoard, lately we spoke with ODrive team, a very interesting brushless motor driver with postion control that can interface with JuicyBoard through CAN. We’re planning to write Juicyware drivers that allows using brushless DC servos in your application! Check out this cool video of ODrive actuating XY axes of a router.

Use Cases

So far, we’ve used JuicyBoard to build a couple of 3D printers and a CNC machine. Here’s a case where we used it to build a system for controlling a triple extruder, triple-head 3D printer (using polystroooder) that can print three different materials. Here is how we configured a 10-slot prototype JuicyBoard to drive this printer:

  1. R1003: wired as analog inputs to read the temperature through thermistors, three hot-ends and one heated bed.
  2. R1001: 6x stepper motor drivers, three are actuating the motions axes and the other three are actuating the extruders.
  3. R1005: this connects to an R1007 module that is independently powered to switch the hot-end and hot-bed heaters.
  4. R1002: we used one channel to switch the layer fan.
  5. R1003: Wired as digital inputs, three channels were used to read inputs from three end-stop switches, the fourth was used to read from a z-probe (this helps a lot with bed leveling).

R1008 is still new, we’re planning to upgrade the machine with PT100 sensors instead of thermistors. It will take some extra machining as well.

Check out our video above for more applications. We’ll be releasing updates illustrating other applications as well, so make sure you’re signed up.

Support & Documentation

History and Purpose

The idea first came up after we attempted to build a custom 3D printer. At first, we tried several off-the-shelf boards, but these caused several points of frustration:

Hacking an off-the-shelf board

To solve these problems, we came up with a completely different architecture and approach

Open Source & Future Expandability

We love open source. A fundamental tenet of our philosophy is a belief in the power of the community to drive improvements of any designs or products out there. We’re exclusively using open source PCB design tools to create our boards. And, we’ve decided to open source all JuicyBoard and module hardware and firmware under GPL v3.0, so others can further evolve the platform and possibly enrich it with modules we’ve never thought of before. To that end, we have created a template KiCAD PCB project that’s an easy starting point for anyone who wants to design and build their own module.

Firmware

JuicyBoard runs Juicyware, which is a fork of Smoothieware and is open sourced under GPL v3.0. Similar to our hardware architecture, Smoothieware is modularly structured firmware that allows adding and modifying functions easily and efficiently. It’s based on ARM’s mbed library, which means it has a path to portability to other microcontrollers in the future. Juicyware can be found in GitHub.

Questions About JuicyBoard

1. We have concern about long term reliability of PCB edge contacts, any possibility of having a M+F mating connector instead of PCB edge connector?

The short answer is no, here’s why

When we were planning how to connect modules to the board these were the factors that we considered:

  1. Signal density, what's the smallest size connector we can use for the same number of signals
  2. Current rating/signal, we needed to have the max
  3. Cost (everybody wants lower cost)

We looked at different connectors and we reached the conclusion that PCIe is pretty much the most used connector on the planet. There are lots of manufacturers and reliability much better than it used to be. All other M+F connecting pairs we’ve seen were either large (the system will be much bigger for the same configuration) or expensive, and some were mechanically fragile.

There’s also another advantage for using PCIe connectors, the mating of the PCB and the connector provide enough vertical mechanical support without the need for adding extra support structures per module. To make the whole system rigid we designed a bracket the secures all modules in place and prevents them from wiggling horizontally.

There are a couple of drawbacks using PCB edge connector

  1. Limited number of insertions: after 500 insertions the contact rating starts to degrade. In the case of JuicyBoard we are assuming that the number of module inserts typically won't exceed 10 (including lifetime maintenance), if you're experimenting maybe 50~100. The connector reliability should be enough to cover these use cases. If the application case requires more insertions then the design is not suitable.
  2. Degradation of contacts over time due to oxidation: if the module PCBs are HASL finished there's a chance that the surface of the exposed metal becomes oxidized over time and causes open circuit failures. The typical solution for this problem is to finish the PCB with a metal or alloy that doesn't oxidize. We're planning to PCB finish all our modules with ENIG.

2. I have been looking at the juicy and I have been wondering if there are any plans of producing a module to control a closed loop system? instead of just something like a open loop stepper driver.

There are a couple of ways to implement closed loop stepper motor control

  1. With JuicyBoard modules available today you can implement stepper motor closed loop control, you can use the main host to read position from rotary encoders (like this one). Ever R1003 board can read the output of 2 encoders. So for 4 motors you will need to mount 4 x R1001 and 2 x R1003 for closed loop control.
  1. Or we can make a new R1001 (v2) with the ability to read encoder input for every driver. Note that in this case we need to come together (+community) and define how it will be used, like what's the interface, is it still going to be step/dir pins or something else. We're planning to use a forum where people can propose and define new modules

Lastly, you can use ODrive as a closed loop brushless DC motor controller, it interfaces through CAN and can be accessed using an R1003 module.

In the Press

LinuxGizmos.com

"The Plugg.ee Labs Cortex-M3 based “JuicyBoard” robotics kit is designed for building stepper motor controlled devices like 3D printers or CNC routers."

Ask a Question

Produced by plugg.ee Labs in San Jose, California.

Sold and shipped by Crowd Supply.

JuicyBoard R1000AX

This is the JuicyBoard with all bells and whistles! 15 feature slots + SD card slots + all the reliability and safety features.

$94 Free US Shipping / $15 Worldwide

R1001 Smart Stepper Motor Driver

This is a NEMA stepper motor driver based on TI's DRV8825 chip. It's a high-performance stepper driver capable of micro-stepping at 1/32” resolution. Current can be digitally set for every driver in 10 mA increments. The R1001 includes temperature/voltage/current monitors for real-time performance measurement and fault detection.

$19 Free US Shipping / $12 Worldwide

R1002 Quad 1A DC Low Side NFETs

This module can control low-power peripherals, such as large LED status displays and fans. Maximum current limit of 1 A per channel, run at the high input voltage.

$9 Free US Shipping / $12 Worldwide

R1003 Quad Analog/Digital I/Os

This module provides a quad channel analog or digital interface to the main CPU. It includes a 1% 4.7 kΩ resistor as required in most thermistor setups. Can be used for analog inputs, digital inputs, or outputs.

$5 Free US Shipping / $12 Worldwide

R1007 Quad 20 A DC Low Side NFETs

Super-low resistance PSMN1R2-30YLC,115 NFETs from NXP that can be used to drive four very large peripherals, like a large heater or a DC spindle. Want to run a 300+ W heat bed? No problem. The transistors are rated 100 A, with less than 2 mΩ series resistance. The R1007 must be powered through its own auxiliary supply input (up to 24 V) and is optically isolated from JuicyBoard, which means it can have its own separate power and ground. Includes the necessary R1005 extender module.

$29 Free US Shipping / $12 Worldwide

About the Team

plugg.ee Labs

San Jose, California  ·   plugg.ee

I love to design and make cool gadgets, I previously made the WiFi controlled smart plug.

Sherif Eid

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects