AirGalileo Casing Prototype and Design

Board Standoffs

Before designing the box, we wanted to create some legs on which the board could comfortably sit without rocking. As such, we decided that creating some friction fit, 3D printed standoffs would be the way to go. To do this, we measured the available space around the holes on both the Galileo Gen2 and the PCB for the sensors where the standoffs could be attached. Using a free, online 3D design software called TinkerCAD, I generated a 3D model of the standoffs which we then took to the smaller 3D printers at the CUC Fab Lab to create using ABS plastic.

Standoffs V2 Standoffs V3

The first version of the standoffs did not have a long enough center column attached to the cap to hold the cap and stems together while having the board between them. They also seemed too thin to properly balance the boards. These issues were corrected with version two but there were still some issues with the design. Since the 3D printers are not incredibly precise, the caps and stems varied enough in size where a significant amount of sanding was needed to get them to fit together. In version three, I widened the outer diameter of the hole within the stem in order to accommodate for the error in printing size. This turned out to be too large and, even after slightly adjusting the diameter and printing additional models, it proved too difficult to account for the amount of error and warping from heating and cooling the ABS plastic. We managed to create a few good ones that would work for what we needed them to, but any attempt at creating larger quantities of standoffs was not feasible. The thinner standoffs were still needed for the PCB as the holes on the PCB did not have enough room for a larger standoff. In the future, we would create a few thinner standoffs with a longer center column on the cap and improve the fit of the larger standoffs.IMAG0834


Once the standoffs were created, we took measurements from the heights of the boards and determined approximately how large we wanted a box. The box needed to comfortably fit both boards and hold them in place in addition to holes in the side to allow for airflow over the sensors. As such, we placed the boards beside each other in the desired configuration and measured the size of all the ports on the Galileo, how large the holes would need to be on the side of the box for antenna mounts, and the size of the photo and UV sensors that would be flush mounted into the lid of the box. To add a little flair to the box, we decided to make the final version out of clear acrylic, similar to the box for the AirPi, and to add our own logo onto the lid.Laser Cutpath Final

Using the pressfit box cut path generator at the Fab Lab, I created a basic layout for the box and then added the holes in the sides and lid of the box approximately where they would line up based on the measurements taken. Once I was satisfied with the alignment of everything, I would take the PDF file over to the EPILOG laser cutter to cut the prototypes out. Since acrylic isn’t a very cheap material to cut with, all the prototypes were made with 1/8″ thick birch wood sheets since they cost less and would allow me to check for alignment and changes between each version of the box. After creating a prototype of the box, I would mark on the box where any changes were needed and adjust the cutpath file accordingly in a program called Inkscape. After  three birch box version, voila! I managed to create one that was good enough to transfer over to acrylic. I’ve got to say, going with the clear acrylic does make quite the snazzy box. IMAG0811IMAG0829IMAG0831

IMAG0814Despite the nice appearance and fit of our current acrylic box, some minor design changes are still needed that we have not been able to achieve within the time allotted for the class. The holes to allow for airflow must be lengthened so air can pass over another sensor. The holes that fit the USB, ethernet, and other ports could also be more snug against the board to prevent shifting as well as an inside support to hold the Galileo still since it is significantly less wide than the PCB. Lastly, the inside lip at the top of the box also needs to be sanded to allow for the box to fully hinge open. If we manage to make another clear acrylic casing for the AirGalileo, we would address these issues so that the boards are held firmly in place and so cables can be easily removed or attached to the Galileo.IMAG0818

Weatherproofing and Future Design

Since the final version of the AirGalileo would be a miniature weather station, discussion of applications and placement outdoors came up when talking about design. When creating a weather proof design for the boxes, I had to think of something that would completely cover the acrylic box we had just made and would prevent water and debris from getting inside as well as methods of holding the weatherproof case in place. What resulted from thinking about these factors were two rather funny designed as modeled below in TinkerCAD.

The first box- the brown one in the image below- features a curved lid for water runoff. The curved, outer surface would be a hinged lid that could be easily lifted to provide access to the boards and any power sources or cables inside. The S-shaped lid would overlap the sides and cover any exposed cables and holes in the side of the acrylic box leaving only a small over hole through which air can pass through to the sensors. In order to keep debris out and reduce the odds of water getting in, a small micromesh would be placed over these air holes to catch anything. The entire thing would be wall mounted or attached to trees. After designing the model in TinkerCAD, I realize the thing resembles a bird’s head coming out of a wall. As to whether that’s a cool design or not, I really have no idea.

The second weatherproof box concept I thought up would be something that rests on a flat surface or contains ground spikes to hold the station in place. Back to ideas for water runoff, a dome shaped lid atop a cylindrical container came to mind. Fairly simple overall; the dome lid would snap into place over the box and would create a complete seal to prevent water from getting in. Again, micromesh would be placed over the air holes to stop any debris. In the midst of modeling the actual container, I realized that it was pretty much a turtle. Yes, a turtle. By adding some legs to the box, it looked exactly like one and would have the perfect means for staying in place. Honestly, I think a turtle sitting on someone’s lawn and collecting weather data is a fun idea and would also double as decoration. Much better than a lawn gnome in my opinion.

Both these designs could be used indoor and outdoor but what we would really want for a weatherproof station is still up for debate. Again, these were some quick ideas off the top of my head and are kind of odd in form, but I really do find the idea of a weather turtle quite fun. There’s also the possibility of adding extra sensors and features in the future, such as a solar panel, battery pack, an anemometer, or a rain gauge, so nothing is really final. What we do know is that depending on what is added down the road, the final weather station should handle practically any weather thrown at it. Until that’s decided, I might just try making a lawn turtle of my own.

Weatherproof Case Designs

Additional PhotosIMAG0832IMAG0810IMAG0836IMAG0835

AirGalileo Casing Prototype and Design

Code Conversion

All the code for the AirPi was written in Python. This easily works for the Raspberry Pi, but it is more of a challenge when using the Intel Galileo. It is possible to use Python for our purposes, but the process of finding and downloading the appropriate libraries would be very tedious. This is why we have proposed to convert the code to another, more friendly environment. Node.js was the runtime environment of choice because of its smooth networking capabilities and improved package management for obtaining necessary libraries. Choosing Node.js required writing the code in JavaScript, which was a new language to learn but not difficult to pick up and understand.

The code is currently being converted from Python to JavaScript one sensor at a time. Each sensor will be tested and verified, preferably in order from the least difficult to code to the most difficult.

Code Conversion

Mapping the Pinouts

There are two major issues with mapping a Raspberry Pi project to a Galileo (or any generic Arduino project): 1. Mapping the pinouts for consistency ; and 2. Software libraries for node.js or Arduino integration.

This post addresses the pinouts, software libraries will be detailed in a separate post.

For the AirGalileo project we performed an audit of the pinout requirements of the AirPi, then mapped them over to the Galileo platform. Continue reading “Mapping the Pinouts”

Mapping the Pinouts

PCB Update

So, the PCB that we used is credited to the AirPi team.


Using their circuit from a previous post, a well-finished PCB was made, and we are utilizing this for our project as well.





**Pictures credited to AirPi team’s blog,**


The major different is the fact that we will need to properly convert the python libraries from the Raspberry Pi interface to the Arduino Galileo interface.


Furthermore, in our current implementation, we are not using a GPS Unit until we finish our first revision of the project. That is because we want ad-hoc networks to be a secondary goal, as the Galileo is still a new and constantly improving microcontroller that we are trying to properly utilize. Once finished with our first Revision, we will move on to adding a GPS Unit and starting ad-hoc capabilities.



PCB Update

Example Setup for Average User

This post is further dedicated to helping understand the types of situations that this project can help in:

Situation A: Using NOAA before leaving home.

What does this accomplish? We can understand our temperature and climate, so we can dress/pack properly before leaving home, and we can prepare for upcoming predicted hazards. This helps a lot, but in some ways, isn’t enough.
Situation B: Using AirGalileo

By using AirGalileo, we can properly set up a unit in the house, at work, and outside. There are benefits to having them in each of these places.


Outside: Live tracking simple weather conditions, along with contaminants/dangerous compounds in the air.

At Home/Office: Especially useful for checking for smoke or carbon monoxide leaks. If you’re at work and check the data to see a significant rise in Air Contaminants, you can make the assumption that there must be smoke or something similar present. You be informed, and act, much faster because of this system. If you see a rise in Carbon Monoxide, you can make sure to attack the problem immediately, such that by the time you reach home, significant progress is made by fixing your equipment/appliances.


Other things that can be used are smart thermostats and smoke detectors, but for those that don’t have hundreds of dollars to spend, this is a cost effective solution that helps alerting you as efficiently as possible. This way, you can be prepared for any environment, outdoors AND indoors.


We have summarized a lot of our technical work and vision for this project in the following presentation: Air Galileo Presentation



Example Setup for Average User

Understanding the Circuit

So, this is an update on the PCB that we’ve set up.

Essentially, this PCB utilizes the following circuit diagram (this circuit diagram comes from the original AirPi project):

Circuit Diagram for AirGalileo Project

So our modification to this design is to utilize the GPIO pins on the Arduino Galileo. Basically, on this diagram, all of the RPi# pins can be replaced with Galileo# pins in order to understand our circuit diagram.


Our circuit utilizes an 8-bit ADC in order to take in signals from a photoresistor, an air contaminant sensor, an NO2 (Nitrogen Dioxide) sensor, and a CO (Carbon Monoxide) sensor. In order for our Galileo to be able to properly interpret the data, the analog signals from this sensor are then converted to digital signals that can easily be interpreted and used to accurately display the relevant information that is sensed for the users to understand.


Our Temperature and Pressure sensor works independently, as it can be seen on the top, as it outputs digital data that we can take in straight to the Galileo and interpret it accordingly.


This is just a schematic of the overall design, and we will be implementing it onto a PCB, which I will upload very soon. I have already put on the major pieces, but need to add on the smaller scale components (resistors capacitors) to insure proper current flow and voltage drops throughout all of the components in this system.


A picture of the finished Hardware Component will be uploaded within the week.




**For an understanding of the PCB for this, you can see a mock-up included with the AirPi schematic at:**

Understanding the Circuit