Project Development

  • individual assignment: Complete your final project tracking your progress

    #all that you learned

What tasks have been completed, and what tasks remain?


Quarantine has affected the scheduale. I made the boards for the final project during WEEK 18.

Final project completed 70%

2D and 3D design files for laser cutting and 3D printing, and full 3D model assembly of the stage
3D printed and laser cut parts are ready: motor mounts, platform, sample holder, backlight case, joystick case
The mechanical parts are assembled
The electronic components are collected. Stepper motor and driver are tested with Arduino board
The firmware is tested with Arduino board on the assembled setup for motors control and backlight
Design files for boards fabrication

Still, I have to:

Fabricate (mill and solder) and test PCBs: main controlling board Atmega328P, board for stepper motor drivers, board for controlling the backlight based on Neopixels
3D print the case for electronics
Document the final project progress
Develop the application to control the stage (optional, depends on the time)

What's working? what's not?


In general, my main task in the project has been achieved, I can control the stage in the micro resolution range.

The mechanical assembly is stable, 3D parts fits perfectly
The code works with Arduino board
The configured microstepping provides very slow stage translation
The backlight module works properly: 18 Neopixel LEDs can be controlled with potentiometer. Sand blasted acrylic cover diffusing the light

However, I wanted to expand the functionality of the stage:

Set the position as Zero or Home using the stop switches. I've ordered the stop switches and still waiting the parcel. Here is the tutorial on how to set the switch
Introduce more functionality in the code, for example programm the joystick button to switch the speed mode of the motors
Test the backlight and full stage assembly with optical tweezers setup
The stepper drivers TMC2209 I'm using provide the great functionality, they can be controlled via UART, however the activation of this function with coding was challenging for me, therefore I went for manual setting of microsteppping. With UART control, the microstepping up to 1/256 can be achieved, however, 1/64 is already great for my project.
I think the repeatability of the stage can be limited by the mechanical design itself, I can't be sure about the perfect alighnemt of the parts, because I'm they are 3D printed, and the platfom is made of wood, unlike the commercial metallic components. Therefore this cutom implementation can affect the motion, for example by skipping the steps, or travelling slightly different distances per step.

What questions need to be resolved?


How to make the application to control the LED and stage motions?
How to programm the board to switch the speed of the motors?
Does the setup need extra adjustments to be applied in combination with optical tweezers?

What happens when?


Due to the qurantine I'm afraid everything is happening right now;) I made some preparations before we got the access to Fablab again, like the 2D, 3D, and electronis design, along with some code. Now I have one major step to make in my final project: to fabricate, program and debug the PCBs. In case it will go smoothly, I willl have to make a video for the final presentation, and I can defend the project.

What have I learned?


Most of the tasks were new for me, but that is a great thing, because just as I expected, I learned really a lot about the digital fabrication. I have to admit that it was more challenging, that I expected, however no one told me it is going to be easy. Now, when I went through the Fabacademy assignments, it actually seems more clear, and I'm sure I will be applying acquired skills and developing them.

  • Project management: I learned how to use Gitlab, how to create and manage my own website.
  • Computer-Aided Design: I learned 3D design in Autodesk Fusion 360, which is a great tool, and I definitely keep using it.
  • Computer-Controlled Cutting: parametric design, laser cutting machines (Epilog Fusion M2 40, Epilog Mini 24), vinyl cutting - great experince for wide applications.
  • Electronics Production: milling the PCB with SRM-20 machine and soldering requires a bit of the practival skills, but I liked it in the end.
  • 3D Scanning and Printing: Stratasys Fortus 380mc, Sindoh 3DWOX DP200 3D printers.
  • Electronics design: the most challenging part for me, it requires more time to learn about the part, than a span of Fabacademy.
  • Computer-Controlled Machining: I managed to make the piece of the furniture, which I'm actually using.
  • Embedded Programming: took me some time to understand the process of programming with Arduino IDE, but in the end I learned how to do it with different types of programmators.
  • Input devices: I learned how to use stepper motors and motor drivers with my own PCB with Atmega328P microcontroller.
  • Applications and Implications: invested more time to plan my final project.
  • Output devices: Neopixels LED stripe control with Attiny44 microcontroller.
  • Interface and Application Programming: I learned the basic of MIT App Inventor and Processing for interface development.
  • Invention, Intellectual Property and Business Models: I learned a lot about the licences applied to the projects/products.
  • Networking and Communications: how boards can communicate with each other
  • Molding and casting: very entertaining task, I was really enjoying the process and the result.
  • Wildcard Week: sandblasting and cooking the meth
  • Machine design: how to work in a group and not freak out from the approaching deadline