This weekend we ran our first micro electronics course based on the popular Arduino learning platform and we were very well subscribed. We had some great kit to demo on the day and during the session guests managed to work out how to:
- about the differing Arduino board/options
- basic communication protocols
- differences between analog and digital pins
- how to install the drivers and IDE
- upload code to the microprocessor
- layout some circuits and troubleshoot
- get everything hooked up and working
On top of that the attendees made:
- a working night light
- a heating/cooling system
I’m pretty sure everyone had a fab day and we’ve now accumulated some great kit and we hope to have a follow up programming course too soon.
On 31st October 8pm we’re having an open night for Halloween Hacking and guests/partners are welcome, and costumes are encouraged
So if you want to mill a pumpkin, see our scary lasers in action, build some cool scary stuff rLab is the place to be this week!!
Feel free to bring an appropriate party trick or treat!!
Sweets gratefully accepted!
One of the first tools Reading Hackspace received was a small but sturdy 3-axis CnC Mill. It was designed for school use so was fully enclosed with lots of interlocks; ideal for training. Despite its limited work area the mechanics are nice with strong bearings, NEMA23 motors, and a 1/2 horsepower spindle. As you can see from the second picture the drive electronics are particularly neatly wired.
Denford also supplied some closed-source software to control the mill. This software is serviceable but we wanted something we could adapt to our needs. We now have several other machines running g-code (the Mill itself shares a bench with two RepRaps) so it seemed a pity it was stuck with a proprietary protocol.
One option was to simply replace the controller on the Mill. However as the current controller was working this seemed unnecessary. Another interesting option was that part of the firmware can be uploaded from the host software as a Mint Basic source file. This would have allowed us to change the meaning of some messages, but the actual structure of the communication messages is handled elsewhere so we could not have added G-Code support. In the end we fired up the official software in Wine and logged all the communication going though the serial port to disk.
As it turned out the protocol was relatively simple, small packets with a simple XOR checksum and often an acknowledgement back from the Mill. Once we realized there was a firmware interlock that you couldn’t move an axis until it had been homed it was fairly quick to get some basic motion out of the mill.
Next we wrote a simple Python program that created a virtual serial port where it listens for G-Code and in turn sends the messages the mill expects to the real serial port. This allows us to drive the Mill with the same interface we use on the RepRaps, and use PyCAM to generate the G-code.
Lucky PyCAM and most modern CAM programs actually only output a very simple sub-set of G-code. Rather then specifying tool offsets etc. it precomputes everything down to a simple list of co-ordinates to move to. This ensures that our G-code interpretor could be very simple yet still cope with anything PyCAM produces.
The only other thing that nearly caught us out (so far), is that some commands (e.g. spindle stop) aren’t buffered, so you have to poll the mill to ensure it has finished the proceeding cuts before you can send them.
From our resident artist in our light machinery room.
Making a dress shirt in an evening!
Reading Hackspace put a lot of work into helping ZSL London Zoo with their work on Marine Monitoring and since being published seems to have gone viral!
You can read more here