3D printer controller software for BeagleBone with BeBoPr Cape. For information about the BeBoPr++ follow this link: https://github.com/modmaker/BeBoPr-plus-plus
C C++ Shell
Permalink
Failed to load latest commit information.
.gitignore Also ignore .ts_env, patches and eeprom-tool. Jun 16, 2013
Makefile Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
README.md Updated BeBoPr++ status. Feb 24, 2014
algo2cmds.h Give Bridge implementation of stepper code a different major version … Aug 3, 2013
analog.c Snapshot of experiments with ADC. Jul 4, 2013
analog.h Moved cycletime definitions to header file so these can be accessed b… Oct 11, 2012
beaglebone.h Remove use of BBB definition from file. Aug 10, 2013
bebopr.h Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
bebopr_r2.c Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
bebopr_test.sh Initial version. May 29, 2012
cape-bebopr-R2.dts Added target and rules for device tree compilation. Added cape-bebopr… Aug 12, 2013
cape-bebopr-brdg-R2.dts Fixed version info text to reflect history. Aug 11, 2013
cape-bebopr-ena-R2.dts Cosmetic: Fixed indent. Aug 11, 2013
comm.c Fixed failing comm thread on 3.8.13 kernel, fcntl needs extra argument. Jun 23, 2013
comm.h Added files and code for a communication thread that inserts keep-ali… Jun 15, 2012
debug.c Removed last bits of old configuration from sources and replaced it b… Jun 10, 2012
debug.h Added DEBUG_VERBOSE option and DBG macro for more compact log messages. Jun 16, 2013
eeprom.c Added multi-byte eeprom read. Aug 10, 2013
eeprom.h Defined board configuration flag in EEPROM and added API to get its v… Apr 28, 2013
gcode_parse.c Prevent illegal moves caused by previous move flags not being reset. Jun 16, 2013
gcode_parse.h Added input gcode text to data structure for logging. Jun 16, 2013
gcode_process.c Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
gcode_process.h Removed use of global variable 'next_target' to parse data. Apr 20, 2013
gpio.c Initial version. May 29, 2012
gpio.h Initial version. May 29, 2012
heater.c Fix compiler warning by removing unused variable. Jun 12, 2013
heater.h Increased default PWM frequency from 10 to 100 Hz. Removed K constant… Oct 12, 2012
home.c Initial implementation of changed limit-switches-signals when using B… Aug 3, 2013
home.h Changed home.c api to accept min/max as parameter and removed duplica… Apr 28, 2013
limit_switches.c Disabled kernel 3.2 specific code for gpio that's handled by DT overl… Aug 11, 2013
limit_switches.h Disabled kernel 3.2 specific code for gpio that's handled by DT overl… Aug 11, 2013
mendel.c The 3.8 kernel is very picky about RT tasks hogging the CPU. After re… Jun 17, 2013
mendel.h Cleaned up and streamlined initialisation process. Jun 1, 2012
pepper.c Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
pepper.h Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
pruss.c Implemented globbing to solve path issues caused by changing suffixes… Oct 19, 2013
pruss.h Added G244 command te resume halted PRUSS. Apr 30, 2013
pruss_stepper.c Give Bridge implementation of stepper code a different major version … Aug 3, 2013
pruss_stepper.h Replaced traject_wait_for_completion by pruss stepper function. Jun 16, 2013
pwm.c Implemented globbing to solve path issues caused by changing suffixes… Oct 19, 2013
pwm.h Added M113 gcode to set laser output power via PWM channel. Nov 7, 2012
setenv Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
sys_paths.c Fixed null pointer ref on error situations. Jul 18, 2014
sys_paths.h Implemented globbing to solve path issues caused by changing suffixes… Oct 19, 2013
temp.c Dummy heaters and/or temperature devices now always show 'temperature… May 9, 2013
temp.h Changed temp_achieved to refer to a single channel instead of all. Fi… Oct 11, 2012
thermistor.c Extended the low end range of my board thermistor to prevent out-of-r… Apr 28, 2013
thermistor.h Added primitive thermistor curve for (special) bed thermistor and int… Jul 2, 2012
timestamp.c Added timestamp routines and replaced existing code by calls to these… Nov 18, 2012
timestamp.h Added timestamp routines and replaced existing code by calls to these… Nov 18, 2012
traject.c The 3.8 kernel is very picky about RT tasks hogging the CPU. After re… Jun 17, 2013
traject.h Started implementation of move optimization: Add routine to traject.c… May 1, 2013
version.c Show version information at program start. Generate automatic build n… Oct 2, 2012
version.h Added support for penta-stepper (PEPPER) driver board. At start-up, s… Oct 23, 2013
version.sh Show version information at program start. Generate automatic build n… Oct 2, 2012
xperror.c Created perror that accepts variable arguments and is thread-safe. Jun 23, 2013
xperror.h Created perror that accepts variable arguments and is thread-safe. Jun 23, 2013

README.md

BeBoPr

2014-02-24 - The BeBoPr++ is available for immediate shipping. See here for details.

2014-02-09 - Announcement of a new BeBoPr. The new BeBoPr++ integrates the BeBoPr and Bridge and replaces the BeBoPr+.

2013-09-30 - Announcement of a forum at http://forum.bebopr.info for BeBoPr related topics and q&a.

2013-08-30 - Announcement of a new board in the BeBoPr series. The new BeBoPr+ (BeBoPr-plus) integrates the BeBoPr and Bridge. Initially the board is available as BeBoPr with the Bridge soldered on as shown on the picture below. Once this stock depletes, the combination will be replaced by the redesigned (functional equivalent) BeBoPr++ (BeBoPr plus-plus) board as entry-level solution.

The BeBoPr+ (and later the BeBoPr++) will be compatible with the current BeBoPr and Bridge combination. It requires no soldering or assembly otherwise. The cape is 100% BeagleBone and BeagleBone Black compatible and requires no fixes / hacks / patches. The BeBoPr++ will also mount the BeagleBone elevated above the board to provide easy access to all the connectors (serial, HDMI, USB and SD-card) once stacked on the BeBoPr.

2013-08-12 - The new Bridge PCBs are available for shipping. See here for details.

This repository contains the (Open Source) software to create 3D printer with a BeagleBone and a BeBoPr Cape. It also hosts the wiki pages with information about the BeBoPr Cape and software.

The software controlling a home built Prusa 3D-printer can be seen here and here. The step pulse generation, including acceleration and decelleration, is done entirely in the PRUSS coprocessor that is part of the AM3359 ARM SoC on the BeagleBone.

Bones and Capes

The BeBoPr is a so called BeagleBone 'cape'. It is the interface between the 3D printer hardware and the BeagleBone processor module.

Originally the BeBoPr was designed for the BeagleBone (classic/white), but there are two ways to use a BeagleBone Black with the BeBoPr Cape. The first needs some changes to the BeagleBone boot configuration and a hardware patch to the BeBoPr board. The second solution uses the BeagleBone Black without changes by adding a small Bridge adapter to the BeBoPr that makes it 100% BeagleBone Black compatible.

LinuxCNC

Alternative software that can be used with the BeBoPr to create for example a CNC lathe, mill, router or laser cutter is LinuxCNC (formerly known as EMC2). It uses a xenomai real-time kernel on top of Debian 7 (wheezy) and a PRUSS based step pulse generator. More information and a complete SD-card image can be found here.