What are you doing right now..?

108 posts in this topic

While waiting for 0.3mm PCB drills so I can finish and test my prototype PCBs I have now managed to get most systems running on my (high-end?) stereo multimedia center.




Remote control (RC5, MSP430G2312).


Rasperry Pi 2 running OSMC, internal SSD for music (I am using FLAC compression) - network storage of other media.


Power control for Raspberry Pi (MSP430G2553), PC-like startup/shutdown. I2C and button based. Daemon running on Pi handles shutdown requests.


Audio DAC (Chinese made).


Pre-amp board, 5 input channels including RIAA (optional), digital switching and VCA based volume control. MSP430G2553 on daugther board provides I2C control of input switches, I2C DAC on same for volume control.


KeyStone DAB/FM-radio, prototype on MonkeyBoard - new version of pre-amp board will include this and MCU for I2C-control.


Main controller powered by Tiva C for now, will move to custom board when drills arrive. 2.2" TFT-display and old stepper motor behind navigator button. I will try to implement selection buttons (on each side of navigator button) by using Atmel AT42QT1012 touch sensors - not sure if that will work...






bluehash and dubnet like this

Share this post

Link to post
Share on other sites

Experimenting with stencil cutting in my CO2 Laser. KiCad -> HPGL -> G-code so using vector cutting, can adjust cutout size for beam width. I am using PPI-mode (Pulses Per Inch) and adjustable pulse width in order to deliver relatively constant energy to the cut. PPI-mode is implemented by two CPLDs for counting stepper pulses and a 2553 for handling calculations and pulsing the laser. This kind of circuitry may be retrofitted to chinese lasers that only uses simple on/off switching resulting in uneven cutting in the corners (in vector mode).



Fmilburn, greeeg and Fred like this

Share this post

Link to post
Share on other sites

@@terjeio your PCB laser plotter looks great! I've been trying to do the same thing with my CO2 laser, but it just puts out too much power.



Rendering bit maps directly is an interesting idea. Does your custom software stream the data to the printer in real time?


You can use metal alignment pins in the table to align a double sided board, the drawback being you need to mill holes in the PCB prior to plotting.

Share this post

Link to post
Share on other sites

@@greeeg PPI/pulse length control is a must (IMO) - it is then possible to very finely control the power delivered. I have seen some references on the net about using car paint and stripping that with a CO2 laser. A problem with the CO2 laser beam is its wavelength, you will not be able to get the same resolution as with a blu-ray diode - 10.9 um vs 0.4um. Real resolutions above 300 dpi for CO2 is not easy to achieve...


My software streams data in real time, I pack seven pixels per byte - the 2553 handles this just fine. With only 512 bytes of RAM available there is not much room for buffering. I am currently working on the laser controller, I want to upgrade this to a TMC1231 (Tiva C) - my plan is to integrate my bitmap rendering code with grbl and to extend the bitmap code to support grayscale engraving (4-6 bits?). The PCB-design is ready - will start coding soon. I will still use the CPLDs and a 2553 for PPI/pulse width control - if anyone are interested in this as a way to "upgrade" a chinese laser I will be happy to share the design and code used.

I know I can buy a DSP way cheaper, but then the fun (and challenges) making it myself is lost.


The solution for aligning double sided boards was to pre-mill the boards slightly oversized, there is an edge around the table that then can be used for alignment. So, now I am at the mercy of the repeatability of the optical homing sensors - good enough for prototyping.

Share this post

Link to post
Share on other sites

Printing a holder for a aiming laser for my CO2 laser on my new homemade 3D printer. The printer controller contains a Raspberry Pi running OctoPrint, an Arduino with a Ramps shield and an "intelligent power switch"  based on a MSP430G2553 circuit of my design for booting/shutting down the Pi. I am using FreeCad & Slic3r for the 3D workflow - a lot of new stuff to learn...




Share this post

Link to post
Share on other sites

"On the edge" - I finally got around to port the latest GRBL version (1.1f) to ARM, in the process HALifying and making a library out of it. I then integrated it into my Tiva C based CO2-laser controller card codebase - next step is to hook it up to the laser proper to verify everything is working outside the test setup.


I have to spend some time to learn git - currently I use Subversion for source control, running on my local server. I will not swich to git, Subversion works great for me, but for making code available to the community git is the way forward?


Implementing a HAL-driver should be relatively straightforward, the core GRBL code in my port is nearly 100% hardware agnostic and all hardware related code can reside in one file (the HAL - Hardware Abstraction Layer).


A preliminary version of my port can be found in the tread  "Portability Experiments (ARM M4)" over at




Test rig, from the edge...



Fmilburn likes this

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now