Tag Archives: setup

Laser cutter continued … (PT2.)

This is probably going to end up being as long as my first rant on the laser cutter, if you’re considering buying one or having problems with overheating MOSFETs, tuning your motors or just a long rant about getting to a comfortable functional state, you’ll probably want to read that first.

So not much has changed since I last updated the previous article, the laser cutter is working well, I’ve cut a few more adventurous objects this week and done plenty of engraving. also cut two mounting plates for the relay board and the control board both of which I’ll add to the downloads page when I get chance. I’ve been running a mix of hatching jobs figuring out what works well and how to produce tones using the relay board. Cutting needs refining, currently running between 175-200mm/s cut rate and 35 to 40 passes (4mm ply), Engraving is also working well running at 1000mm/s with a single pass works very well with wood, still yet to test any plastics, but pleased to say I’ve got some primitive extraction sorted. (120mm extraction hose and 12v fan mounted inside.)  Whilst this works surprisingly well currently, when I make an enclosure, I’m pretty sure the fan will be 100% effective (which is a very good thing :0D ).

The new control board has arrived, it features a much bigger transistor (F540NS), the board is much more capable than the last, with a lot of IO, support for x / y / z limit switches, x / y / z motor support each axis has independent drivers. The arduino nano is opto isolated from the twelve volt supply and the circuit board is black, which yes looks nice, but makes it remarkably more difficult to follow the traces, maybe that’s just me? There’s also an i2c header and support for reset / abort and hold switches. Everything else is rather self explanatory four connections for the motors, two terminal blocks one for the twelve volt supply the other for a fan / laser, complete with matching JST sockets.

There are four connections on the board I’m currently unable to identify S_EN (which I think is spindle enable.) DIR (Spindle direction?) and C_EN (not sure) and E_S (emergency stop?)  These aren’t that important at the moment, but they’d be nice to know.

Procrastinating a little, I’ve grown quite fond of the current set up.

Plus what little documentation I’ve located (and translated images + text) it would appear (i hope) that the board supports lasers up to 10w, but recommends installing benbox (argh nope), this may however indicate the PCB is 100% GRBL compatible (meaning all the settings and configuration I have will work 1st time or … I’m back to square one.). I’m not going to flash the included board just in case  I need to revert to for some reason. Meh.

Less procrastination more action, as long as I don’t damage the laser or motors I can always revert to my current set up. Time for a hot beverage and then some cable swappage.

BTW. I’m sitting here writing this whilst the storm is raging outside.

This tea however is fantastic.

Progress!!! GRBL working! Motors working! More tea needed before I test the laser. Taking this opportunity to flash the device and update all the default GRBL settings to my preferred defaults. NB: The settings are contained in c:\users\uname\Documents\Arduino\libraries\grbl\defaults.h

My current settings are as follows …

#ifdef DEFAULTS_GENERIC
#define DEFAULT_X_STEPS_PER_MM 80
#define DEFAULT_Y_STEPS_PER_MM 80
#define DEFAULT_Z_STEPS_PER_MM 80
#define DEFAULT_X_MAX_RATE 6000.0 // mm/min
#define DEFAULT_Y_MAX_RATE 6000.0 // mm/min
#define DEFAULT_Z_MAX_RATE 6000.0 // mm/min
#define DEFAULT_X_ACCELERATION 75.0 // 10*60*60 mm/min^2 = 10 mm/sec^2
#define DEFAULT_Y_ACCELERATION 75.0 // 10*60*60 mm/min^2 = 10 mm/sec^2
#define DEFAULT_Z_ACCELERATION 75.0 // 10*60*60 mm/min^2 = 10 mm/sec^2
#define DEFAULT_X_MAX_TRAVEL 600.0 // mm NOTE: Must be a positive value.
#define DEFAULT_Y_MAX_TRAVEL 500.0 // mm NOTE: Must be a positive value.
#define DEFAULT_Z_MAX_TRAVEL 100.0 // mm NOTE: Must be a positive value.
#define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
#define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
#define DEFAULT_STEP_PULSE_MICROSECONDS 10
#define DEFAULT_STEPPING_INVERT_MASK 0
#define DEFAULT_DIRECTION_INVERT_MASK 0
#define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
#define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
#define DEFAULT_JUNCTION_DEVIATION 0.2 // mm
#define DEFAULT_ARC_TOLERANCE 0.02 // mm
#define DEFAULT_REPORT_INCHES 0 // false
#define DEFAULT_INVERT_ST_ENABLE 0 // false
#define DEFAULT_INVERT_LIMIT_PINS 0 // false
#define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
#define DEFAULT_HARD_LIMIT_ENABLE 0 // false
#define DEFAULT_INVERT_PROBE_PIN 0 // false
#define DEFAULT_LASER_MODE 1 // enable
#define DEFAULT_HOMING_ENABLE 0 // false
#define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
#define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
#define DEFAULT_HOMING_SEEK_RATE 1000.0 // mm/min
#define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
#define DEFAULT_HOMING_PULLOFF 1.0 // mm
#endif

Well currently I’m ecstatic the 540N / new control board is doing a great job, the laser currently works using MOSFET when performing line drawings with the gate fully open. I’m just looking for a bitmap to start some rastering tests. Running some more line drawings and hatching then on to some raster work, all systems nominal, everything is running beautifully so far. (fingers crossed.)

Sleep was needed will pick this back up in an hour or so need to sort a few orders out and tidy my space.

Rastering results so far, it works, but, to get the laser down to an acceptable power, without the MOSFET getting ridiculously hot, I’m having to defocus the laser, which in turn causes fidelity issues with the final burn. So … more testing will report back soon.

Observations, I think this time around the MOSFET under rastering is getting too hot because of the 8khz PWM rate, I’m not really able to generate a good range of colours when rastering unless the image is just black and white not grey scale. The 8khz PWM rate (I think) is having an effect on the amount of operations per second the arduino is processing. So going to reflash the existing firmware but try the default PWM setting and a few more raster operations.

To change the PWM rate you need to edit cpumap.h
Earlier in this guide I tried to change the PWM rate to 8khz, which didn’t have the desired effect so I’m just changing it back to GRBLs default which is 0.98khz

That section of my file currently looks like this …
// Prescaled, 8-bit Fast PWM mode.
#define SPINDLE_TCCRA_INIT_MASK ((1<<WGM20) | (1<<WGM21)) // Configures fast PWM mode.
// #define SPINDLE_TCCRB_INIT_MASK (1<<CS20) // Disable prescaler -> 62.5kHz
// #define SPINDLE_TCCRB_INIT_MASK (1<<CS21) // 1/8 prescaler -> 7.8kHz (Used in v0.9)
// #define SPINDLE_TCCRB_INIT_MASK ((1<<CS21) | (1<<CS20)) // 1/32 prescaler -> 1.96kHz
#define SPINDLE_TCCRB_INIT_MASK (1<<CS22) // 1/64 prescaler -> 0.98kHz (J-tech laser)

So altering the PWM rate has had an effect on the speed off the rastering operation but similarly still having issues with temperature and unable to get a good range of colours without the MOSFET getting too hot.

Altered the GRBL x/y/z acceleration value to 75 on the control board with no noticeable negative effects on the motor drivers.

Will update this blog article as I go as I know a lot of people are having similar problems.

18/01/2018 – Adding pictures.

Installing SDR# on windows …

How to install SDR# on windows …

You will need …

PC/Laptop (Recommended dual core, 4gb RAM)
RTLSDR dongle
(Optional antenna / adapter. *Recommended*)
.NET Framework 4.6

DO NOT PLUG IN THE DONGLE
DO NOT INSTALL ANY SOFTWARE IT CAME WITH
If you have uninstall the software, driver and unplug the dongle.

Goto airspy.com and download the ‘SDR Software Package’
Unzip the files somewhere
Run install-rtlsdr.bat
Plug in your dongle
Run zadig.exe (as administrator)
Click options
Make sure ‘show all devices’ is selected.
In the device drop down select ‘Bulk Interface 0’
Ensure WINUSB is selected in the other drop down.
Click install
Click OK to any warnings
Run sdrsharp.exe
Select the RTLUSB dongle
Click the play icon to start capture.
Tune to a known frequency (FM station)
Ensure WFM is selected
Open the options menu
Increase RF gain, but don’t let the signal distort.
If you can hear distortion try adjusting the volume control in SDR#

Give yourself a pat on the back and get scanning!

Moving on to gqrx and linux in the next video.

Recommended SDR shopping list for up coming content …
RTLSDR – RTL2832(u) DVB-T+DAB+FM Dongle (£10-£15)
MCX MALE TO BNC FEMALE (for connecting antennas) (Approx £2)
AIR BAND (or similar) antenna (usually with BNC male connector) (£3-£10)

Hakology Day 12 : Blog Entry

[1521]
Kettle is on. Coffee to be made. So day twelve begins.
[/1521]

[1530]
Tunes turned to 11 … its Friday!
Operation pre-weekend tidy up has begun.
[/1530]

[1653]
Slow start, written up all the notes for the SDR# tutorial, might have a go at recording it later, need to clear some space in the garage for some new equipment arriving soon.
[/1653]

[1913]
Just had a little jam on my drums .. its been way too long. Great warm up for some FPS.
[/1914]

[2044]
Right time to do something productive.
[/2044]

[0103]
Uploading SDR# tutorial, writing up notes in to a new post.
[/0103]

[0200]

Really quick video showing you how to install and setup SDR# under windows.
Moving on to linux and gqrx next.
[/0200]

[0321]

[/0321]

 

Hakology – Retropie steam controller setup guide

Notes to accompany the following video showing you how to setup and configure the steam controller for retropie. Tested and verified as working with python 2.7 on the rpi model B and rpi3 model B.

sudo apt-get install python-pip
sudo pip install libusb1
sudo pip install enum34
git clone https://github.com/ynsta/steamcontroller.git
cd steamcontroller
sudo python setup.py install
sudo nano /etc/udev/rules.d/99-steam-controller.rules
Add these lines :
SUBSYSTEM==”usb”, ATTRS{idVendor}==”28de”, GROUP=”games”, MODE=”0660″
KERNEL==”uinput”, MODE=”0660″, GROUP=”games”, OPTIONS+=”static_node=uinput”

sudo udevadm control –reload
sudo crontab -e
@reboot /usr/local/bin/sc-xbox.py start

Hakology Day 3 : Blog Entry

[12.33]
Good morning hakologists, mental note go to bed earlier. Coffee time then on with some research think I’ve decided on doing a really boring video tonight we’ll see. I need more time to compile a decent SDR episode but may well do a little v-blogging today, need to get the garage sorted out. So glad to be back computering.
[/12.33]


[13.01]
Now I’m more awake I’m going to have a look at setting up my SDR rig the question is under linux on an old dual core atom or under windows on an i5 …. urgh windows.
[/13.01]


[13.37]
Major panic over located my SDR, time to get the environment setup and working … oh fun 🙂 will post some bonus twitter / WP content when I can get a decent picture of what I’m working on.
[/13.37]


[14.27]
Tea break, have some defcon vids on in the background, looking for a little inspiration and mental refreshment, realised I wasnt following Balint Seeber @spenchdotnot … well I am now.

[/14.27]


[15.13]

Well I’ve got the sdr working! Progress.
[/15.13]


[15.44]
Taking a breather for a while, need to start noting frequencies and gathering some stock footage. So far my refresher today has taught my its gqrx for linux, sdr# for windows and rtl-sdr gets installed with gqrx, need to also sort out a ‘better’ antenna so much noise in my flat. Anyway …. break time.
[/15.44]


[16.41]
Spent the last hour or so taking a ‘break’ scanning with the SDR made me remember how critical height and position are when transmitting / receiving RF. Also have the ALFA sitting next to my rig might do a little war driving for shits and giggles.
[/16.41]


[18.00]
Social, doom4 and insurgency time.
[/18.00]


[23.26]
So my social time over ran, lol, back to the grindstone.

As promised random bonus content for the blog. Here’s a picture of an old swiss army knife and yes its seen better days and is missing a few parts/utilities its a very special one. This was my dads, dads, pen knife who I never got to meet but my dad gave me this a few years ago, dug it out tidying the other day. Will try and keep posting one original picture every so often.
[/23.26]

[1.31] [06/10/2016]

[/1.31]

[4.47]
Really gone to town on the rpi retropie tutorial, signing off.
[/4.47]

Pfsense behind a router

Ok so here’s my setup:
192.168.1.1 - current adsl / cable router
255.255.255.0 - router subnet

1. Install pfsense

2. Assign interfaces
1 for lan
1 for wan

Plug the WAN port into you ADSL / cable router
Plug the LAN port into eg. an un-managed switch.

3. Assign IPs
LAN IP - 192.168.2.1
Subnet - 255.255.255.0/24
Gateway - 192.168.2.1
Enable DHCP
IPRange - 192.168.2.50 to 192.168.2.100

WAN IP - 192.168.1.10 (static)
subnet 255.255.255.0/24
Gateway - 192.168.1.1

4. Configure web front end
Go to 192.168.2.1 (pfsense box) in your browser
Login using : admin pfsense
DNS1 : 8.8.8.8
DNS1 : 8.8.4.4
Allow router to override DNS
Allow 192/172/10 addresses (b/c pfsense is running on your lan)
(Click next, next, next)
Set the web gui password

5. Configure your router (cable/adsl modem)

Set a rule to route:
192.168.2.0 255.255.255.0 192.168.1.10

Go to the routers firewall rules and add this …
Ports : 1-65534
Protocol : ALL
Destination : 192.168.1.10

Or alternatively add the server to your DMZ

6. Load up your web browser and check you can get google.com

7. Enjoy … take a break and come back and install some ubercool packages.

Trouble shooting:
Can pfsense ping router – NO WAN config error
Can pfsense ping pfsense client – NO – LAN config error / Client firewall
Can pfsense client ping pfsense – NO – LAN config error / Client firewall
Can pfsense ping 8.8.8.8 – NO – ASDL/CABLE router config error
Can pfsense client ping router – NO – NAT error
Can pfsense client ping 8.8.8.8 – NO – NAT error / ADSL / CABLE config error
Can pfsense client ping 8.8.8.8 – YES – All good
Can pfsense client load a website – NO – DNS Error – Check everything above is OK
Can pfsense client load a website – YES – Everything is working

If you are having issue make sure you disable any firewalls you have running on the pfsense client boxes … once you have your network configured you can enable them later.

ENSURE YOUR FIREWALL RULES ARE CORRECT BEFORE CONTINUING TO SETUP THE REST OF THE NETWORK