Project Development
In this section I explain in detail the process of development of my project. At the end of the page you can get links to the relevant weeks where I was developing all the different aspects of the project if you want to check further details. Also at the end of this page you have a link to all the relevant files of my project for replication and the corresponding bill of materials.
Step 1: Parametric design of the overall wall fassade element
At the beggining I made several attempts to generate a parametric model of the fassade element by using the Cadwork-Grasshopper interface application, see the details of this app here https://www.food4rhino.com/en/app/rhinoinside-cadwork-3d. That was my first try because I am used to work with Cadwork (it is a popular CAD/CAM software for timber construction design), however, I realized that that would require additional licenses of software and more limited design options, therefore finally I decided to fully generate the design of the fassade element in Grasshopper. I started developing this model very soon in my Fab path, already in Week2: Computer Aided Design.
However, it was not until latter, once I learnt some basics about electronics (something completely new to me) that I was capable of really refining the model, first on my conception and latter in Grasshopper. By the week 7, I gathered much better idea of what I wanted to do and how to do it, and then I decided to refine the design of the wooden parts of the fassade by the lessons of computer controlled machining. Here you can see full details of the model that I finally developed Week7: Computer Controlled Machining.
As you may have realized after checking the initial design in week 02 and the refined design of week 07, at the beggining I was thinking of using hydrogel or some other material for increasing the thermal inertia of the wall element and therefore achieving better energy efficiency, however I soon realized that was unfeasible and too ambitious to be developed in parallel with the work demand of the FabAcademy because hydrogels for wall elements are not yet commodities that can be easily purchased and applied in construction, therefore that would mean a considerable risk for the realization of the project. Therefore, I decided not to use hydrogel and focus on the digital fabrication, electronics and all other relevant parts that are taught in the FabAcademy.
In summary, the strategy for parametrically modelling my fassade element in Grasshopper is outlined in the following:
- The general parameters of the wall size and thickness of the raw timber boards are defined.
- Two Bézier curves are defined parametrically following aesthetics considerations, that in real world would be defined by the corresponding architect or designer.
- The wooden boards are then generated automatically by seting the corresponding stud spacing and via polygonal edges construction.
- Extrusion operations follow to generate NURBS in 3D of each wooden piece.
- After the main fassade ellement is generated, the lower and upper timber chord are automatically constructed, as well as an inner conventional squared timber framing that will serve as inner part of the building. The latter is generated also by establishing parametrically a separation bettwen the outter part of the wall and the inner part, thus letting an air cavity in-between that will allow for controlling air convection. In my case the thickness of the cavity was finally set to 5,5 cm, which is reasonable for practical applications (typically spans from 5 to 10 cm), but it is rather thin because in my case I was afraid that the servos of my inventory were not capable of generating enough torque for moving the gates.
Here you can see a caption of the CNC cutting of the wooden parts of my fassade:
.
And here you can see some working of the process:
- parametric design of my final project to approach to the final parametric desing (at least from the pannel skeleton itself) reaching out this design in Grasshopper/Rhino
- DXF of the countour polylines for exporting to VCarve and thus CNC machining, here you can see the result after machining some pieces:
- assembling of the pieces of my panel:
And here you can see the first draft of prototype skeleton as for March 2025 in the lab
Step 2: identification of system components and electronic design and fabrication
The second major part of the project development was the conception of the different components, so in other words, answer the following question:
- What do I need to achieve the autnonomous walls?
Answering this question took me many weeks in the FabAcademy, partly because the entire sensoring and electronics topic was completely new to me. Fortunately, I had a lot of support from my local instructor Luis and also my global instructor Yuichi gave me valuable feedback in the midterm review.
First of all, I was started designing and fabricating a PCB that potentially could alocate the sensors of the kind I probably needed to use, you can see my first designed PCB here Week06: Electronics design. It consisted of a PCB that could alocate a temperature sensor and an OLED screen, two devices of high probability I would need to use. Subsequently, I fabricated and tested that draft PCB in the week08 you can see the details here Week08: Electronics production.
During the week 09 of input devices, I focused on thinking and trying to make it working the input sensors I needed for my project. In particular, I learnt how to sensoring temperature and moisture by generating a code in Arduino IDE and testing it in the lab, here you can see all the details Week09: Input devices. Latter, after maturing the project idea also I thougth of using an additional input device, consisting of an ambient light sensor, however as explained latter i did not necessitate it at the end of the project.
On the other hand, regarding the output devices, I had quite clear that my outputs will consist of an OLED screen for monitoring purposes as well as servos for moving the convection gates of the wall. Therefore, during the week 10 I designed and fabricated a PCB capable of using both servos and OLED and put them working together. I generated several arduino codes and at the end I finished by being able of moving the servo as desired and plotting at the same time the possition of the servo in the OLED screen, see the details here Week10: Output devices.
After all that experiences, I had talks with the local and global instructors, especially during the midterm review in where I further refined the idea of what sensors to use, how the data flow and energy supply should be and how they neeeded to be integrated and allocated, see more details here Week13: Midterm review.
After completing all those experiences, I was in the position to start designing the PCB, which was accomplished during the week 16. I concluded that my project will contain as input sensors the temperature (sensor DHT11) and ambient light (BH1750FVI sensor), the OLED screen of my inventory and two servos (Micro Servo MG90S) as outputs, XIAO ESP32C3 as microprocessor, and a cluster of solar cell (NIVIAN 9W) plus battery and USB module (VISSQH) and stepper for voltage conversion. Also I neeeded a diode for assuring integrity of microprocessor when getting energy from external battery. In the following I explain the design process of my PCB.
In order to start with the system integration of my final project, I started working on the redesign of my PCB. Previously I worked in serveral designs but my PCB had the inconvinient that it was designed for having servos fed by 3.3V, whereas due to the relatively heavy task they need to deliver (opening closing methacrylate gates) it is necessary to fed them by 5V. As usual I worked in KiCad and here you can see a summry of the resulting PCB with refined design:
- Schematic of the PCB:
- Design of the PCB:
- Gimp edition prior to machining:
- VCarve programming for machining:
- Resulting PCB:
Here you can see a caption of the PCB drilling process:
.
- Summary of the system components of the PCB final design
Microcontrtoller: one XIAO ESP32C3 microcontroller.
Inputs: 2 DHT11 moisture and temperature sensors for reading air moisture and temperature within the air layer of the wall element. BH1750FVI light sensor for dectecting natural sunlight and therefore, deciding energy source (solar or battery)
Outputs: 2 Servos.I will try first with the ones I have in my inventory (Micro Servo MG90S) for the opening/closing of the gates. In case it does not work I will try to accomplish this with another servo, 1 Oled Screen (already in my inventory) for monitoring temperature and energy consumption.
Energy supply: 1 solar cell NIVIAN 9W with micro USB, 1 module VISSQH 5 pcs 5V 1A Type-C USB 18650 with battery and volatage boosting for storing solar energy and upscaling the output to 5V, 1 diode (already in my inventory).
Electronics integration: 1 printed box parametrized for electronics integration.
Material necessary for the construction of the fassade element: 6 methacrylate plates of 1000x700 mm and 3mm thick, four 2400x400x28 mm pine (Pinus sylvestris) boards, common wood adhesive.
Step 3: Metacrylate parts and system integration
Having the wooden fassade and electronics components ready, I had left to solve the design and fabrication of the convection gates plus the integration scheme. For metacrylate parts, I developed a simple calculation model to calculate the necessary torque required in servos for assuring the opening and closing of the gates. As aforementioned, the typical gaps in real ventilated fassade elements typically spans from 5 to 10 cm. After some calculations (see below the details), I reach the conclusion that a servo of about 0,5 kg*cm should be capable of moving a metacrylate gate of 5,5 cm width (thickness of air cavity) 82,2 cm long (width of my fassade element) and 3 mm of thickness (tentative appropriate thickness of the metacrylate layer after going to shoping center and checking the rigidity of the element).
.
Once the metacrylate parts and dimensions were clarified, I cut the parts in our laser CNC machine. The cut of my parts was straightforward (much simpler than the wooden parts) because they all were regular rectangles. Here you can see a caption of the cutting process.
.
Regarding the system integration, I thought I will essentially need four groups of actions towards achieving system integration:
- Designing and fabricating a 3D box that contains the PCB and has all the perforiations needed for the wiring. Also the box was intenteded to contain the OLED for monitoring the temperature at the inner and outter part of the wall. In a previous week we worked in a mechanical model that contained an OLED screen and I realized that this should work fine for my project. Therefore, I adapted that design by considering the exact whole needed for the screen and put that as input volume for Grasshopper. After doing that I enterely generated my box by parametric design, for which it was needed to measure the exact final dimensions of the PCB, the position of the pins for connecting the servos and sensors and the pin connections for fixing the PCB with 3mm bolts. You can see the details of our mechanical design from which I could create the adaptation for the OLED screed and here Week12: Mechanical design, and here you can see the full details of the creation of the box Week16: System integration. Here you can see a caption of the printing process:
.
And here you can see some pictures I took during the wiring and integration process of the electronics and OLED in the box:
.
.
.
.
.
.
- Regarding the servos, after doing some testing, I realized that I will require two items to fabricate by 3D printing. The first was a small box containing the servo and with two holes for screwing to the fassade element in the right direction (not the one that comes by deafult with the servos). The second was a prolongation of the servo arm to be able to fully achieve the appropriate opening and closing of the gate (the arm that comes with the servo was too short). For accomplishing that I downloaded the exact geometric model of my servo in Thingiverse (https://www.thingiverse.com/thing:2641076) and then I created a parametric model in Grasshopper to create the necessary volumes. Then the STL files were sliced in Prusa sofware for printing with PLA filament, which in my case was brown in color for better aesthetic integration with the wood. I was developing this during the week 16 and you can see the full details here Week16: System integration. In the following I show a picture of the resulting integration elements and its connection in the fassade wall:
.
- Also I fabricated several foam profiles that enhance the air tightness and integration of my system. The profiles were designed and fabricated during the assignment of week 17. I decided to design and fabricate foam profiles for attaching at the edges of the metacrylate ventilation gates, enhancing thus the entire integration of my system. The design and fabrication process is explained with full details in week 17, so here I only present the resulting foam profiles, and the working process for integrating those in my system. The foam profiles I designed and fabricated look like this:
After fabricating it, I realized that if I just put the foam profiles in the metacrylate it will be raised by about 3 mm from its original position, therefore generating an air cavity that drops the possibility of air-tightness. Thus, I measured the size of the hinges and first cut by laser several rectangles of wood panel to make a perfect fit as base for the hinges. Here you can see the result:
Once that was done, I started gluing the foam on the metacrylate, here you can see the set up I used for the gluing:
I did some mistakes and need to wash the metacrylate….
Buf finally I got those pofiles glued and integrated in my system, improving the air-tightness and overall integration of components:
- Finally, I needed to integrate the remaining wiring in my system. In my first attemp, I tryed doing that by using a flexible wiring cover that I purchased in Amazon, you can see here the details Wiring cover. That wiring was then fixed in the wood with simple double sided tape we had in our lab. I developed this during the week 16 and you can see the details here Week16: System integration. Also here I display a picture of the wiring process:
.
However, during the presentations, following Neil recommendation, I worked to improve that so……XXXXXX
Step 4: Embedded programming & Testing
Once all the components and their physical connection was integrated in the system, I started the programming and tesing of my device. For doing that, I resorted to an “increasining” programming strategy, which I normally do when programming anything. First of all I created an ino file that just serves for reading one temperature. Then, once I knew it worked, I started reading two tempreatures. Then added one servo, then the other servo, then the screen and finally the connection of everything. This programming and testing was performed during the last three weeks of the FabAcademy.
During the tesing I checked that everything was working properly, but of course I also experienced some problems. The first one I noticed is that with USB energy supply my servos were working and were able to move the convection gates. However, that was not possible when suplying the energy with the solar cell (without the USB). I made a lot of tests including the connection of only one battery of 3.7 V and two batteries in parallel (fully charged) of 3.7 V. Even with the two batteries in parallel, and assuring with the multimeter that the ouput voltage was exactly regulated to 5V, the servos were not able to move, even more, not even one servo was moving… When facing this I used the energy supply of our lab and connected my PCB measuring a peak of amperage consumption of 0.23 Amps when moving the two servos, which is not so high, but still was not able to be moved via external battery. After discussing with my local instructor, we decided move forward by suplying energy only by USB, which of course can be improved to solar cell (more autonomous system) afterwards when further refining the prototype after FabAcademy. In the following I show some pictures of the tests I did with external batteries and solar cell with stepper:
.
.
.
The second problem I observed, which rather than a problem is a source of improvement for the future, is that even when everything was digitally designed and fabricated, it is hard to assure the air-thightness of the system. However in real world applications is assured via application of resins and silicones, therefore it can be resolved in future applications.
Apart from that, everything was working properly, but I realized that for demonstration purposes (such as creating the demonstrative video of the FabLab) it was not feasible to control temperature induced moving of the servos because I would need to achieve rapid variations of ambient temperature for being able to show that my device was properly working. Therefore I generated two .ino files, the first one is the one in which servos are moved when surpassing an established temperature, which in my case was 26ºC (upon that temperature gates are open, and below are closed). The second ino file was programmed only for demonstration purposes and there the servos are just constantly moving to show others that the gates are being properly opened and closed. Below you can download both .ino files.
Step 5: Final result
After the testing, I achieved my wall prototype properly working, here you can see a video of it working:
Links to the details of the development weeks of my project
First draft of the parametric design of the wall Week2: Computer Aided Design
CNC cutting of the wooden pieces Week7: Computer Controlled Machining
PCB first draft design Week06: Electronics design
PCB first draft fabrication Week08: Electronics production
Temperature sensoring Week09: Input devices
OLED and servos programming Week10: Output devices
Schematic of system components Week13: Midterm review
Design of box top for accomodating OLED screen Week12: Mechanical design
PCB, servos and wiring integration Week16: System integration
Foam profiles Week17: Wildcard Week
Files for donwload and replication
PCB Kicad design files, STLs and VCarve file for reproducing my PCB: PCB_Pablo.
Grasshopper file and corresponding VCarve for CNC machining of the wall element: wall_Pablo.
System integration files (Grasshopper and STLs) for 3D printing of box cover with OLED screen PCB_box_Pablo plus servo body and arm covers Servo_cover_Pablo.
Ino files of my final project, including moving of servos according temperature treshold (normal working) Ino_normal_Pablo plus ino file for demonstration purposes (servos move all the time for demonstration purposes) Ino_demonstration_Pablo.
Foam profiles Foam_Profiles_Pablo
Bill of Materials, list of software used and machines
Source | Quantity | Cost (Euros) | |
---|---|---|---|
Spanish Pinus sylvestris wooden boards of 240x40x28 mm | Leroy Merlin | 3 | 107,97 |
Square meter of Metacrylate 3mm thickness | Exclusivas RER | 4 | 140 |
Varioius screws and bolts | Fixagal | — | 5 |
Virgin PCB | Cetronic | 1 | 3,49 |
Micro Servo SG90S | Amazon | 2 | 7,99 |
Light Sensor BH1750FVI | Amazon | 1 | 3,86 |
Oled 1,3" | Amazon | 1 | 5,99 |
PLA filament, 1.75 mm kg | Amazon | 1 | 17,99 |
Microcontroller ESP32C3 | Amazon | 1 | 9,99 |
Soldering tin roll 0.6 mm | Amazon | 1 | 5,99 |
DHT11 Temperature & Moisture sensor | Amazon | 2 | 5,58 |
TOTAL | — | 313,85 |
Regarding the machines to be used, they are detailed in the following table:
Machines | Component to fabricate |
---|---|
Roland PCN-2500 | PCB milling |
Cenece FRH210 | Wooden CNC parts |
PC 10/80KII | Metacrilate laser cuts |
Original Prusa i3 MK3 | 3D printed parts (electronics boxes) |
ZD-912 Soldering | PCB and electronics soldering |
Regarding the software I will use for design and fabrication, it entails the following tools and corresponding versions/builts:
Software | To Do |
---|---|
Grasshopper/Rhinos Build Rhino 7 SR36 2023-12-12 | Parametric design of all wooden, metacrylate and PLA parts |
Vcarve Build 8.511 3026.2680.418 | Milling of PCB and wooden parts |
PrusaSlicer 2.9.1 | PLA printing parts |
Corel Draw V2025 | Export CAD for laser cutting |
KiCad v9.0.0 | PCB design |
Gimp 2.10.38 | PCB editing before Vcarve |
Visual Studio Code 1.89.1 | Coding for documentation |
ffmpeg 7.1.1. | Video editing for documentation |
Arduino IDE 2.3.4 | Coding of the Microcontroller program |
Here you can download the BOM that also contains the specific software (version/built) I used as well as machinery for replication purposes BOM_Pablo.