Firmware settings, first prints, slicer settings...

Discussion in 'OpenBeam Kossel Reprap and OpenBeam Kossel Pro' started by Terence Tam, Dec 27, 2014.

  1. Terence Tam

    Terence Tam Mr. OpenBeam Staff Member Vendor

    We are still waiting on MatterHackers to give us the new OpenBeam Kossel Pro specific build. Matthew Wilson, the creator of the original Brainwave controller board, whose input was critical to the development of the Brainwave Pro, is currently testing a set of instructions and building a new Brainwave Pro software bundle for our board as well; he’s testing it with one of our local backers to make sure things are running smoothly before posting them to the forum here.

    In the meantime, these are a few tips and tricks to get the Kossel Pro talking to your computer, how to flash and readjust your firmware values as well as some initial configuration / settings for KissSlicer to get people going.

    FWIW, the settings that I am sharing out is what Solarbotics used to print their tree-top star here, on their Kossel Pro.

    KissSlicer: Up until our partnership with MatterHackers, KissSlicer had been the primary slicer that we used, primarily due to Johann’s preference for KissSlicer. A limited freeware version is available for Windows, Mac and Linux here. If you find it useful, please consider buying a pro license to support further development. OpenBeam does not have any financial relationship to KissSlicer.

    The slicer is the first step in the Reprap tool chain; it’s job is to take in solid geometry, “slice” it into layers, and output each individual layer as machine tool path.

    Generally, we like KissSlicer, it’s a pretty fast and robust program, and we’ve found that for mechanical parts, having the option to go outside-in on the loops makes for more accurate parts. (MatterHackers have the math figured out for dimensionally accurate, inside out loop pattern, but have not implemented it yet). Traditionally, outside in gives better finishes, while inside-out gives better overhangs.

    The one thing that we do notice with KissSlicer is that it doesn’t seem to have very good bridging detection and bridge abilities. While running the MakeZine 2014 challenges, it failed miserably on the bridging test. But I consider this a software issue, and not a hardware issue. That’s why I don’t think that the MakeZine test methodology is particularly accurate.

    To install our KissSlicer profiles, simply copy the .ini files in the KissSlicer Config zip file into the installation directory and restart KissSlicer.

    Device Driver: Brainwave Pro implements a regular USB Serial port profile for normal communications, and the boot loader on the board emulates a DIFFERENT USB port for firmware flashing. This causes a bit of confusion for new users, especially on Windows - the serial port changes from normal operation to a different port when you are programming the board - and you can watch this in Device Manager when you put the board into programming mode.

    To put the board into programming mold, press and hold “Boot”, then press “reset”, before releasing “Boot”. If you do this right, one of the LEDs will start to slow flash.

    The MatterHackers build of MatterControl will include the “drivers” for Brainwave Pro (technically the driver is already built into Windows, but for reasons beyond my technical skills I can’t explain why it sometimes doesn’t load). I can tell you one trick I have learned though, installing Arduino (needed for firmware work anyway) and installing Teensy for Arduino solves the driver issue quite nicely, due to the Teensy using the same Atmel AVR processors.

    Arduino Bundle: Because Brainwave Pro is not part of the official Arduino hardware distribution, a “bundle”, containing definition files defining pin outs, etc, is required for Arduino to know how to talk to a Brainwave Pro. The necessary files are in and needs to be unzipped into the hardware directory of your arduino installation. Once installed, restart Arduino, and you’ll have the option to define “Brainwave Pro” for the board type in Arduino.

    We are still resolving a code issue with the bundle. In a nutshell, please make sure that you match the versions: Use my bundle with my code, use Matthew’s bundle with the code that he will release. We noticed, but cannot explain, compatibility issues between the two sets of code bases.

    ALL printers that have shipped and been under testing uses my code bundle and my branch of Marlin.

    Here is a link to the .zip file with the Arduino bundle and the version of Marlin I am using: + Brainwave

    Host software:

    Up until Repetier went closed source, we’ve been using Repetier Host (and we still use it on our engineering test fixture). But since Repetier Host is closed source now, we have been using MatterControl more and more. We are committed with working with the MatterControl team to bring an open-sourced, well tested, user friendly solution to 3D Printing.

    Both software works quite well. If you are printing a big file, it is recommended that you load the file onto a SD card (8.3 format for file naming), and use the host software to start the print from the SD card. Once the printer starts the print, you can disconnect the USB cable and the print can continue on.

    Please note that disconnecting the USB cable during the auto leveling routine really screw things up; the printer will try to report back the probed coordinate and fail USB communications, and will have to time out on each probe point. What is worrying to us is that we do not know what the status of the rest of the firmware is doing during this crucial time (whether the temperatures are being throttled accordingly on the PID loops for example).

    Marlin (and configuration.h)

    We made some minor changes to Marlin; specifically we abstracted out the coordinates that the print head needs to move to for probe deployment and retraction. (It always scares me for people to go muck around in Marlin's main.cpp to change a probe retraction; remember, this firmware can burn someone's house down if it malfunctions).

    Search for //Bed Auto Levelling in configuration.h, and you'll find this code snippet:

    // ttstam: These are coordinates for deploying and retracting the spring loaded touch probe. Added for OpenBeam Kossel's integrated end effector
    const float TOUCH_PROBE_DEPLOY_1[] = {-110.00, 0.00, 100.0, 0.0} ; // This is the first point that the touch probe moves to to start the deployment, on G29, if servo actuated touch probe is not defined
    const float TOUCH_PROBE_DEPLOY_2[] = {-110.00, -125.00, 100.0, 0.0} ;// This is the second point that the end effector moves to deploy the probe
    const float TOUCH_PROBE_DEPLOY_3[] = {45.00, -125.00, 100.0, 0.0} ;// This is the third point that the end effector moves to deploy the probe (such as retracting off the belt, etc.
    const float TOUCH_PROBE_RETRACT_1[] = {36.00, -122.00 , 50.0, 0.0} ;// This is the first point that the touch probe moves to retract the probe
    const float TOUCH_PROBE_RETRACT_2[] = {36.00, -122.00, 18.0, 0.0} ;// This is the second point that the end effector moves to retract the probe
    const float TOUCH_PROBE_RETRACT_3[] = {0.0, 0.0, 100.0, 0.0} ;// This is the third point that the end effector moves to retract the probe

    I'll need Mike to confirm what we finally changed: const float TOUCH_PROBE_RETRACT_2[] = {36.00, -122.00, 18.0, 0.0} to to fix the probe deployment issue.

    -=- Terence
  2. Dantzler

    Dantzler Member

    Thank you, Terence!!
  3. Dave

    Dave Member

    Concerned: I can no longer move the print head with the movement controls within MatterControl and I get an error message stating "Printer Stopped due to errors". The terminal output also has an error about not being able to connect to the SD too ???? Is my card bad? Also before it would tell me the temperature of the Extruder and now it isnt reporting anything. it shows "0 Degrees"

    <-echo:SD init fail
    <-X:0.00 Y:0.00 Z:0.00 E:0.00 Count X: 0.00 Y:0.00 Z:0.00
    <-ok T:0.0 /0.0 B:24.4 /0.0 T0:0.0 /0.0 @:0 B@:0 ADC B:24.4C->977 T0:0.0C->1023
    <-FIRMWARE_NAME:Marlin V1; Sprinter/grbl mashup for gen6 FIRMWARE_URL: PROTOCOL_VERSION:1.0 MACHINE_TYPE:OB Kossel Pro HBP EXTRUDER_COUNT:1 UUID:00000000-0000-0000-0000-000000000000
    <-ok T:0.0 /0.0 B:24.4 /0.0 T0:0.0 /0.0 @:0 B@:0 ADC B:24.4C->977 T0:0.0C->1022
    ->G1 F315
    <-Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)
    ->G1 Z-10
    <-Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)
  4. protoserge

    protoserge Member

    Did you check wiring and make sure all connections are secure? Have you tried using the G-command M999? Have you used the board's reboot button?
  5. Dave

    Dave Member

    Yes I rebooted and even powered down, I still cant move the arms with the controls in Mattercontrol and the temperature is still reading zero degrees on the Extruder. I have not touched the wiring since i had it together so thats why I am confused as to why iy suddenly isnt working. It was working before with no issues except for the error I get after running G29 where it goes off the bed and crashes then returns to X0 Y0 and Z 100.

    Ran M999 here is the result.
    <-Resend: 1
    <-ok T:0.0 /0.0 B:24.2 /0.0 T0:0.0 /0.0 @:0 B@:0 ADC B:24.2C->978 T0:0.0C->1022
    <-: Extruder switched off. MINTEMP triggered !
    <-Error:printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)
    Last edited: Dec 27, 2014
  6. protoserge

    protoserge Member

    In MC are you displaying as connected? I've had to physically unplug the printer USB from the computer on occasion to get it to respond.
  7. Dave

    Dave Member

    Yes it shows starting to get the feeling I will never get this working properly....I know it might get fixed after the firmware is fixed next week but my confidence is is failing.
  8. protoserge

    protoserge Member

    It almost sounds like the temperature thermisor on the extruder is not reading a temperature and preventing extruder from working. I just found out the extruder will not function unless the extruder has reached a preset minimum temperature.
    Dantzler likes this.
  9. Dantzler

    Dantzler Member


    I initially couldn't find the brainwave bundle.

    I copied the files under brainwave_hardware_bundle ( /bootloaders, /cores, etc. ) into the arduino hardware directory and it works fine and shows as "brainwave 2" in the Arduino IDE.

    Does anyone have the KissSlicer Config zip file?
    Last edited: Dec 27, 2014
  10. Dantzler

    Dantzler Member

    Dave--powered down, I measure 5,400 ohms across my hot end thermistor terminals at 8.5 degrees Celsius actual temperature. Check that the wires are okay and then see if you can measure a resistance in that ballpark. I don't know what dR/dT is for that particular thermistor, but your resistance should not be too far off if you are in the 'room temp' range. My shop is a bit on the chilly side. :cool:
  11. Dave

    Dave Member

    Well a borken wire might explain it :( One of the two small wires the connect the hot end to the Extruder under carriage is broken off. Its one that inserts into the hot end itself. Now what?

    Ok I slid it back in and now it reports a temperature of 22.6 degrees for the extruder. Should I jsut put a dab of glue on it or do I need a whole new extruder head?

    I also noticed smoke which I know Terence said to expect some. But the white plastic covering the two small wires and the material that holds them in place on the head expanded a lot. See the picture I have attached to see what I mean.

    Attached Files:

    Last edited: Dec 27, 2014
  12. Dantzler

    Dantzler Member

    If there is enough wire left, you might be able to either capture it under the bolt head (like the fans) or solder in an extension. Best thing is probably to replace the J-head, but if you can jerry rig something, you can continue working out other aspects of getting the printer running in the meantime.
  13. Dave

    Dave Member

    Thanks Dantzler,
    I got it working I slid the wire back in the the J-head and got a reading from it. I next told it to heat up to 200 degrees and when I did I noticed smoke and the white plastic around the wires that are inserted melted and they are not solid in place and still giving readings. Based on the design I assume its suppose to expand but I didn't design this printer so I am still not sure if I need to replace the J-head now even though it appears to be working. I dont want to run the G29 sequence and have the Jhead crash out for fear of putting strain on the Thermostat wires.

    The good news is I can move the head around with the control buttons again. So my issues was a the loose wire on the Jhead which caused the printer error which prevented me moving the print head around manually.
  14. protoserge

    protoserge Member

    I'd recommend not running until you have a proper fix. It's highly possible the temperature reading and actual temperature are different. Please verify with another means before continuing to operate. From your photo, is it the portion of the wire near the PCB or the potting compound?

    You can get a new thermistor and potting material. The head shouldn't be damaged.

    In any case, I'd recommend holding off until you can assess the situation with @Terence Tam .
  15. Dave

    Dave Member

    Its the two wires that go into the Jhead the connection to the board is fine and the potting material is what swelled after getting heated up. I assume that is suppose to happen. in any case it seams to be working. Having the porper Firmware and printer settings will tell me if its working or not right now I can only speculate.

  16. Terence Tam

    Terence Tam Mr. OpenBeam Staff Member Vendor

    The thermistor wires are threaded through PTFE insulation to help prevent it from shorting together. We then crimp a ring terminal on. This has to be a mechanical crimp, the wires are nickel plated and require a special flux to solder to.

    If they did come out, you can thread it back in and just manually crimp the crimp with a pair of needle nose pliers. We did do a pull check on each of them as we were assembling, but maybe something snagged and it got pulled out. You should keep the insulation away from the heater cartridge (ie, make sure it's not touching) but it is high temp PTFE insulation.

    Swelling of the potting compound is normal. It's function is to hold the thermistor to the hot end. If the hot end connection comes looose the printer shuts down. This is standard Reprap safety feature. Otherwise you can burn down someone's house by overdriving the heater cartridge.

    If it's reading a temperature, it's working fine. If it's reading zero, the connection is broken.

    From our perspective the hot end does not appear to be broken. We can swap it out if it makes you feel better, but our priority is getting the rest of the printers out the door and finishing up documentation, etc.

    -=- Terence
  17. Dave

    Dave Member

    Thanks for Replying Terence, the wires are holding firm now that I warmed up the hot end and the area they attached to swelled some. I am reading a temp and the head heats up and cools down. Yes after heating up the hot end I got the Extruder to feed the filament using the E+ key in Matter Control. The only issue I still have is the G29 issue when after finishing the bed leveling diagnostic the print head goes off the glass slightly towards the XY side and crashes but then returns to X 0 Y 0 and Z 100. I am assuming the new firmware will fix that. I dont want to mess with the firmware I would prefer leaving that to the experts.


  18. Dr.J

    Dr.J New Member

    Thanks Terence!

    Just to be clear as an "end user", someone who has no intention of diving into the firmware edits, the basic software I need to be able to print is MatterControl (+/- KissSlicer if I want something more than what comes standard with MatterControl). To my read of the MatterControl documentation, it should have everything I need to get started. Correct?
  19. sandman

    sandman Member

    For those trying to compile the firmware here some tips.

    -To get the board into program mode the trick is to hold in the Boot button, then quickly tap the Reset button and release the Boot button. Took me many tried until I got it right.

    -To install the Brainwave bundle copy the contents of the folders in the bundle folder to the corresponding folders in the hardware/arduino folders. Also, apend the contents of the boards.txt in the bundle to the boards.txt in the hardware/arduino folder. Do this all with the Arduino IDE closed, then when done, open it and you should see Brainwave and Brainwave 2 come up under boards.

    -To compile this version of Marlin you also need the Time library which you can download from the arduino site, and add the library from inside the IDE.

    If you are on OSX there are some extra steps necessary I can post if there is someone else that is on a Mac.

    I uploaded the new firmware and tried to print something with MatterControl but I must have missed a setting somewhere because it finished the auto level routine and then tried to drive it self out of the build volume. Will keep trying to figure out what I missed.
    protoserge likes this.
  20. Chris

    Chris Member

    @Terence Tam (or anyone else with access) it looks like the aforementioned Kisslicer config never actually got posted. It would actually be nice to just get some basic numbers (bed size, extruder nozzle diameter, speeds, etc) so those of us using slic3r or other apps can configure things. I'm happy to share a slic3r config once I have the data to create one.

Share This Page