Skip to main content

Posts

Fixing heated bed

Today I set about fixing the issue with my heated bed. Using a multimeter to test the thermistor that came pre-installed showed it was dead so I snipped it out and soldered in a replacement. In Pronterface I could see that it was connected, but it was reading -15C. The room is cool but not that cool. The new thermistor is "100K ohm NTC 3950 1% 1.8mm" and after a bit of googling I found it was a type 11. I edited my "configuration.h" file and set "#define TEMP_SENSOR_BED 11". After uploading Marlin; Pronterface was now reading a temperature of 16C. I was able to change the bed temperature from the LCD to 20C and watched as it warmed up. I checked it was warm (carefully with my hand) and then increased it to 60C.  So another job done. Next will be to fix the connector on the hotend thermistor and get that working: For now though, it's starting to look good:
Recent posts

Test and configure LCD screen

Ok, so I finally think its time to test the LCD Screen; so I plugged it in and... Nothing happened! I did some reading online and on the  RepRap Wiki  I found a quote that reads: Some versions of this board have the notched connectors the wrong way around. If your controller only flickers and beeps, cut off the notches on the cables and insert them upside down. Ok; that doesn't sound good! The only way I could think of to prove if mine had this issue was to identify where the GND pin was located and cross reference that with the MKS Gen-1. So I got out my multimeter, set it to resistance, connected my black lead to the SDCARD slot on the back and found the GND pin... I cross referenced it with the MKS pin layout (GND Marked in yellow arrows) and found that my connector was fitted the wrong way around. I had to file/cut off the block at the back of the connector, but after that, the LCD screen powered up :) In Arduino IDE, I installed the U8glib and U8glib-HAL drivers and enabled th

Replace temporary V-nuts on back plate

Next on my list was to replace the temporary TNuts I used on the backplate because I had run out of Nuloc nuts: Simple little job, but looks much better:

Fixed Z Axis Alignment

I finally got around to fixing the Z-Axis alignment issue: After getting the frame sorted and the axis all mounted; I noticed that the Left Z-Axis didn't align As you can see, its out by quite a lot! So I ordered a replacement bracket and today I fitted it: That's much better! Its a shame it sticks out a bit, so maybe it is a piece I need to have custom made. It'll do for now. 

3D Printer

I've not posted about this before, but I guess I should have. My home grown DIY 3D printer started out as an expensive pile of random parts that I've been purchasing on an ad-hoc basis since May 2021, but now It looks like this: The Chassis is complete and I made a wooden base with rubber feet so it doesn't scratch the table.  I've mounted the power supply and got most of the mechanical parts connected including the timing belts and timing rods. The little box contains my motherboard which will be mounted soon because I need (ordered) a 90 degree USB type B adapter so I can feed the control cable to the back. Today I have made 4 connectors (one fitted) for the stepper motor drivers to connect them to the motherboard for UART control: The project plan can be found over on  Github

LSP templates

I took a step back with my LSP and decided that what I really need is a template based system for building responses. Previously I had started creating the JSON on the fly but realised that the jsonrpc specification has what it called interfaces which are basically templates, so I wrote a Type that allows you to add templates and variables and then it joins them all together for you. It works well but I might find a better way at some later time. After getting the template system working and removing some debug messages that I think might be inadvertently picked up as responses. For reference, the LSP receives an "initialise" message from the client that contains a lot of data. In my case it was over 4k in size. The LSP then returns an "initialized" message and receives confirmation from the client in the form of an "initialized" notification. The "initialize" and "initialized" messages are very similar. Both contain "jsonrpc"

LSP and JSON

I've taken on the challenge of writing an LSP for BlitzMax NG to help with the integration of the vs-code extension.  For those who don't know what an LSP is; it is simply a communications component that is used by any IDE to obtain information regarding your source code. It then uses this information to create outline views, hover, help and diagnostics etc. Rather than use the BlitzMax JSON module, I decided to write a JSON parser specifically for this application that gives me a little more control to transpose JSON directly into BlitzMax Types. I will publish this on GitHub shortly. With the JSON module almost complete, the LSP application can now read/write to/from StdIO and I'm currently working on getting the "initialize" and "shutdown" event handlers operational. Watch this space.