Applications And Implications

This week's assignment is to answer key questions regarding the Final Project.

Due to the COVID-19 lockdown, we have a whole month to work from home and to me, life became less hectic. Finally, I could sit down and make a plan of what to do for my Final Project. This week's assignment seems to be useful, since I could write down some crucial questions and see where will my Final Project go.

Concept

What will my Final Project do?

My idea is to create an off-the-screen and modular robot with customizable behaviors that can give preschoolers the basic ideas of programming and robotics. There will be 3 groups of blocks: Input, Logic, Output. Kids will need at least one block of each group to perform the desired task. I want the robot to symbolize a cool and modular animal, hence, I sketched here a dragon with customized habits that can be defined by kids through a trial-and-error process:

My MVP for Fab Academy will have 2 Input blocks (including Proximity and Dark), 2 Output blocks (including Move Forward and Flashlight), and at least 2 Logic blocks (including If and Until). It would be nice if I could have enough time to build more blocks and a mobile/web app which is connected to a Scratch account and is able to execute further complicated tasks.

The below pictures show how I'm planning to connect the block physically and electrically:

And how I'm planning to exchange and process data between them:

Who has done this idea before?

I found some STEAM toys (which are quite successful) with a similar idea:

Some cool projects by the alumni of Fab Academy and MIT's CBA that are related to my idea:

What makes my Final Project different?

Project development plan

What will I design?

The design tasks of my Final Project will be divided into 3 parts. The first step will be designing the electronics parts of my project. After making all the electronics parts work perfectly, I can move on to 3D modeling my MVP. Then if I have enough time, I will continue to work on a user interface.

What parts and systems will be made?

Parts that I will make: the ESP32 compatible main control board, the ESP8266 boards within blocks, the FTDI programming chip, the multi-sensor shield, the multi-actuator shield, the dragon's body and the blocks, and the mobile/web interface (optional).

Parts that I will buy instead: connectors between PCBs, external power supply, sensors (HR-SC04 ultrasonic sensor, LDR/photoresistor, DHT11 temperature/humidity sensor) and actuators (RGB LED strip, mini DC/servo motors with gears and wheels, active buzzer).

What processes will be used?

For the electronic parts, I will use KiCad to design the schema and PCB layouts, Fab Modules to generate toolpaths, and the Roland SRM-20 machine to mill the boards. I will program the boards with Arduino IDE or PlatformIO. For the blocks, I will design with Fusion 360 and laser-cut them using the TROTEC Speedy 400 machine. For the 3D printing parts, I plan to use Fusion 360 and Blender to design them, and they will be printed using Creality CR-10 or Prusa i3 printer.

My weekly schedule starting from the 9th week:

Final Project requirement Final Project scope Process CAD/EDA software CAM software Programming IDE Machine Material Timeline
Subtractive fabrication Press-fit blocks Laser-cutting Fusion 360 Rhino + TROTEC JobControl N/A Trotec Speedy 400 Acrylic 4mm Week 15-18
Additive fabrication Dragon's head, tail, and adapters FDM 3D printing Fusion 360 + Blender Ultimaker Cura N/A Creality CR-10 S5/ Prusa i3 MK3S PLA 1.75mm Week 15-18
Electronics design & production Micro-controller boards, multi-sensor/actuator shields PCB milling & soldering KiCad Fab Modules N/A Roland MonoFab SRM-20 PCB 50 x 70 x 1.6mm Week 9-13
Embedded micro-controller programming Micro-controller boards, mobile/web interface Embedded programming N/A N/A Arduino IDE/ PlatformIO N/A N/A Week 13-16

Bill of materials (BOM)

What materials and components will be used?

For the blocks, I will use plywood 4mm or cast acrylic 3mm. For the 3D printing parts, I plan to use PLA 1.75mm. For the PCBs, I will use one-sided copper PCB 50 x 70 x 1.6mm available at Fab Lab Barcelona.

I plan to use the ESP32 chip as the central micro-controller for a couple of reasons:

I also bumped into this article while studying the ESP32 and ESP8266 chips, and the idea of stackable shields seemed to be what I'm looking for. To stack/connect and power the boards, I might need external power supply, JST jacks, normal pin headers/sockets and magnetic connectors. I'm considering using these sensors and actuators: HR-SC04 ultrasonic sensor, photoresistor, DHT11 temperature/humidity sensor (optional), WS2812B RGB LED strip, DC motors and A4953 H-bridge drivers, active buzzer (optional).

Another thing I might need to deal with is level shifting from a lower voltage to a higher voltage and vice versa. For example, the working voltage of my ESP32 board is around 3.3V and its GPIO pins are not 5V tolerant. However, all the sensors I'm going to use will only operate at 5V. I'm not sure about the required voltages of the motors yet, but I think they will be greater than 6V, up to 12V. Hence, I might need level shifters and LDO regulators for controlling the appropriate input voltages of all the components. Of course, there will be the ESP8266 chips which will be included in blocks, capacitors, resistors, diodes, switches, and LEDs for power status and debugging.

Where will they come from?

Most of the laser-cutting/3D printing/PCB milling materials and electronic components are available at Fab Lab Barcelona. Some specific modules can be ordered from Amazon, Mouser Spain or DigiKey.

How much will they cost?

Below is just a DRAFTED bill of materials for 1 dragon and 3 blocks which resulted in ~ 138€. The .csv file can be downloaded here.

Challenges and evaluation criteria

What questions need to be answered?

I will try to answer these questions in the upcoming classes:

How will it be evaluated?

For the Final Project prototype, it should be able to demonstrate clearly all the Input-Logic-Output combinations. It should also look clean and nice as an almost-there product. In the long run, users' feedback will be the most important way to evaluate the performance of my Final Project. In the future, it would be great if I can start a Kickstarter campaign to see whether users will support it. For now, I will be satisfied with my nephews loving it.