An interesting and forgiving project - even if implemented badly you can get nice results. 

The stars of the show:-


- Strontium Aluminate:

When strontium aluminate is charged by light, its electrons jump to a higher energy level. To return to their base state, they must release this energy as light. The "Forbidden" Nature: Returning to the ground state requires a change in electron spin. Quantum mechanically, the probability of this happening is extremely low, making the transition "spin-forbidden".The Result: Because the transition is forbidden, the electron gets stuck, releasing energy very slowly. This slow release creates the bright, hours-long phosphorescence (glow) that strontium aluminate is famous for.

You will need to get the good stuff, not cheap "Glow in the dark powder"

Regarding handling and safety - think powdered glass, and handle appropriately.

-A Frikken Laser: 

405nm Laser (UV), this is a tricky one, look for an engraving laser, there will be lots of lies about its power but as long as it is a focused engraving laser at 405nm you should be OK. 

Some will have heat sinks, some will not, we will use PWM to drive the laser, in my experience the laser will not be pushed too much and the heat sink is not required.

Regarding handling and safety -It's a Frikken Laser! Be very very careful, use appropriate glasses and observe safety measures.

One thing people miss is that it is "a focused laser" that makes it safer in that it will only "burn" when focused at a specific distance - the distance to our Strontium Aluminateafter that it will diverge and become less blinding :-) Seriously though, please be very careful, especially at the early stages of the project, safety glasses are relatively cheap on Amazon.

-ESP32 dual core:

A fantastic microcontroller, the second core is vital for handling the gimbal motor while the first core handels WiFi coms and other stuff.

-Nema 17 stepper motor - and a suitable stepper driver board

A highly popular stepper motor. At least a 1/16 micro step driver  board should be used.

-A Gimbal Motor - and a suitable driver board (DRV8313)

Brushless motor and board, not cheap but getting cheaper. Can do lots of things using the following;

-AS5600 12-Bit Magnetic Position Sensor

a highly popular, low-cost contactless magnetic rotary position sensor. Instead of using physical gears or wipers like a traditional mechanical potentiometer, it uses the Hall effect to calculate the absolute angle of a diametrically magnetized magnet placed near the chip

-SimpleFOC:

This is the big star of the project! Cant say enough good things... Thank you SimpleFOC!

A community-driven, open-source initiative with the aim of demystifying Field Oriented Control (FOC) for user-friendly motor control. The project aims to provide well-documented, modular, and cross-platform solutions both in software and hardware.

Big shout out to using a piece of hard drive platter as the laser mirror, it's perfect. 

A physical overview:

In its simplest form the mechanism is a laser X - Y stage inside a full sphere. 

The 45 degree mirror driven by the gimble motor can do a full 360 scan and along with the base stepper moving the whole thing (only 180 degrees of movement is needed), almost all of the sphere can be hit.

 A portion of the south pole gets blocked by the supports and base stepper motor but its size is relatively small.

If you can imagine this, you will see that it can project / scan to almost any surface around it. 
Scanning to a flat surface works well but needs image transform for bigger angles.

The whole assembly :

The moving bits:

1-AS5600

12Bit Magnetic Encoder Magnetic Angle Measurement Sensor Module

Very affordable module - currently 8 Euro for two, used with the simpleFOC library and a brushless drive board to control the gimble motor. 

2-Gimbel Motor

260kv 1.3A Hollow Shaft Brushless Dc Motor,Low Noise Low

This type of brushless motor is becoming popular and more affordable - currently around 20 Euro. 

3-Laser Mirror Holder
This is a 3D printed part that allows the mirror to be attached to the gimble motor at a 45 degree angle

4-Laser Mirror
Can be bought online and are not too expensive - currently around 20 Euros.

I read about using a piece of hard disk platter, it works so well that I don't think I will have any reason to buy one now.

5-Laser

Something like the above. Search for "405nm laser engraver module" - you won't get it on Amazon, it will be somewhere like AliExpress, price wise - around 30 Euros.

The above module was advertised as 5V 1000MW - I really don;t think this is true..

6-Stepper Motor

NEMA 17 stepper motor

You can't go wrong with this one, its a very popular stepper motor, price wise - around 14 Euros


The Circuit:


1-ESP32

ESP32 USB C with CH340 Chip ESP32 NodeMCU ESP32 

Standard ESP32, nothing special about this type here, apart from it having two cores (very important) - there are newer ESP32 types that have single cores. 
If you have not used this micro-controller before and are into that kind of thing you really should check it out - and yes, it can run Doom very well.
Price wise - around 7 Euros


2-Gimble Driver Board

DRV8313 Mini FOC DC Brushless Motor Driver Board FOC Control Driver SVPWM Control DC 8-30V Module 
There are many Brush less motor driver boards, I choose this one because it is affordable and has worked well with the Gimble motor.
Price wise - around 10 Euros

3-Laser Driver Board

LR784 MOS Module MOSFET control 

MOSFET board with opto isolation for Laser PWM control.
Price wise - 5 for 8 Euro.

4-Laser Arm Toggle 

Its a switch.

5-Laser Arm Indicator

Its a LED

6-Laser Supply Board

5V 1A mini three-terminal regulator

A 5V regulator, drop in replacement for 7805 and is low dropout.
Price wise - 5 for 6 Euro

7-Stepper Motor Driver

DRV8825 Stepper Motor Driver
I choose this because of its price, 1/32 stepping and trying to create some kind of standard build. I really don't like anything about it and will probably change it as the standard (it gets silly hot doing nothing). I have used many stepper drivers -1/256 for max resolution experiments, the price is the thing.
Price wise - 5 for 10 Euro (bananas cheap for 1/32 stepping right?) Hate it though.

8-Buzzer  

Its a buzzer, but so useful for knowing the status of things.




A Control Overview:

There are four operating modes:-


Mode 0: 

This is zero mode, the stepper motor not enabled, laser not armed, however the gimble motor is still engaged - long story.


Mode 1:

This is scan mode, most of the pictures you see here are scan mode. 

The gimble motor will spin at a configurable speed and the stepper motor will move left and right driven by a full rotation of the gimble motor, how much it moves is based on its step size, typically 1/32 step but 1/256 step has been tried (this is its highest resolution scan so far) 

There is a 64Kb 8 bit - in memory gray scale bitmap image that drives the PWM laser output, the software just figures where it is on the bitmap and drives the laser appropriately - its relatively simple and works well. 

Grayscale bitmaps are sent to the device over simple telnet.

Below is the highest resolution scan mode using a 1/256 stepper driver - its slow though


Mode 2:

This is absolute mode, commands are Gcode like - move to x-y position laser on /off or on with a power 1-255, you can send actual Gcode to the device and it behaves like a laser engraver. 

Gcode commands are sent to the device with simple telnet. See below for some images, a lot more work is needed for this mode (its slow and rough) but there are lots of future possibles  (maybe actual laser engraving)


Mode 3:

This is text mode, text strings are sent with an x-y position over telnet and text is written by vibrating the gimble motor and moving the stepper left and right, this is a very interesting mode as it quickly creates bright text but needs a lot more work.  

See below video and notice how the mirror does not appear to be moving: 



GS-Workshop

Very very rough Visual Studio C# win forms app to control it using the telnet interface:

Where is the code?! !

I know,I get it... not yet I'm afraid (I am not happy with any of it), it's all just a proof of concept and needs a lot of work. I plan on releasing Mode 1 first (scanning mode) , I need to completely refactor what I have and make it generic for different builds.


If you really really want to build this thing, contact me and Ill send you on a ESP32 hex file for flashing, and basic instructions for the circuit and telnet Mode 1 operation - you will need to be an experienced maker though!  

Also I'm not providing the GS-Workshop code yet  (look at the state of it :-)

3D printer files are attached



The future of the project and new ideas: