Cosmos in the Stacks automotive gas engine

| Type | Model Engine |
|---|---|
| Authors | Tobias Mitchell Adam Piecre Demar Tobey Steven Dunnicliff |
| Status | Deployed |
| Years | 2026 |
| Made | Yes |
| Replicated | No |
| Uses | education, science |
| Map | |
|---|---|
| Location | Arcata, United States |
| Coordinates |
This Internal Combustion Engine Model (ICED) shows the operating principle of a four-stoke engine. It was designed and built by the Adeptus Mechanicus team, consisting of four engineering students at Cal Poly Humboldt. This took place during Spring 2026 for an ENGR 205 Intro to Design class. The model is located on the third floor of the Cal Poly Humboldt Library in the automotive literature section. The purpose of the model is to make learning about engines easy and fun for all of the library visitors.
Background
[edit | edit source]The third floor of the library consists of meeting rooms, bookshelves, and study areas. Data from interviews and observations shows that many people visit the third floor to study, and foot traffic through the bookshelves is limited. A library representative expressed that few people are interested in the richly populated shelves of the automotive section, and that the mechanical marvel of the combustion engine should be shared with the library more accessibly.
Problem statement
[edit | edit source]The objective of this project is to design and manufacture an interactive model engine to create a way for people to easily access information about combustion engines and to draw foot traffic to the books on the third floor of the Cal Poly Humboldt library.
Criteria
[edit | edit source]The Table below describes our Criteria, Constraints, and how they are weighted (0 lowest-10 highest).
| Criteria: | Constraint: | Weight: |
| Visual Appeal | Must look professional and appealing, museum quality | 7 |
| Cost | Less than $400 | 10 |
| Educational Value | Details of simple engine, 5 minutes of information | 9 |
| Maintenance | Must have maintenance door, easily replaceable components | 7 |
| Accessibility | Usable by wheelchair bound/ limited mobility persons | 10 |
| Durability | Does not need maintenance for 10 years | 6 |
| Safety | Does not have any exposed gears or moving parts that can the user | 8 |
| Noise | Less than 50 dB at any time | 8 |
Prototyping
[edit | edit source]The first prototype was a simplified 3D printed model of a piston, connecting rod, and crankshaft inside a cylinder. This prototype was scaled down and was made to make sure the design looked good and the parts fit together well, though it had its issues. Some of those were that the parts fit too tight and the crankshaft was unsupported.
The second prototype was made with some of the issues from the first prototype in mind. This prototype was similar to the first with a 3D printed piston, connecting rod, and crankshaft, but these parts were all larger and had space for bearings to limit the wear on the moving parts. Each part was also redesigned on Fusion 360 to make them look better and stronger. We learned that this new prototype was the correct size and the dimension would be used in the final project.
The third phase of prototyping went away from the 3D printing side of the project and was focused on the electrical side. It consisted of an Arduino and a breadboard with a rotary encoder that turns 4 LEDs on and off sequentially. This was used for the display to light up within the display indicating the four strokes of the engine (intake, compression, combustion, exhaust). This setup needs a debounce to prevent jittering and a calibration point and we learned that a stepper motor with a built in encoder would work better.
As electrical prototyping continued, the project group settled on a design which uses a stepper motor for noise limitation, longevity, and precision. It includes 4 LEDs which light up in sequence with each stroke (180 degree rotation) of the engine. The design uses a 12V 2A power supply, with 12V going to the stepper motor driver and a 12V-5V buck converter to power the Arduino. The LEDs are powered directly from the Arduino, and the display is interacted with via a floor pedal which operates using a potentiometer.
The full assembly of the engine revealed that the stroke length, or the distance that the piston travels, was too high. To remedy this, the crankshaft offset was reduced by 10mm. This change also reduces the amount of torque the stepper motor has to produce to turn the engine.
The final phase of electronics prototyping used components soldered to a perfboard, a simple way to make a circuit, including the 12V to 5V buck converter and the A4988 stepper motor driver. These components were soldered for reliability and durability. Jumper cables were used to connect the circuit board to the Arduino for testing. Simple code was written to the Arduino so that pressing the rotary encoder’s button would begin the rotation of the motor, and turning it right and left would increase and decrease the speed of the motor.
Final product
[edit | edit source]The final solution for the project is called ICED for Internal Combustion Engine Display. The ICED is a cabinet with a base measuring 15.5” by 20” and stands 36” tall. On top of the cabinet is the engine display itself, protected from wayward hands by a sheet of acrylic. The display is a cutaway model of a single cylinder engine, showing the internals and how they interact. Inside the cylinder, LEDs show the direction of the piston’s travel and indicate which phase the engine is in. To operate, a user must simply depress the pedal in the cavity at the bottom of the display. An engraved wood text panel sits on top of the cabinet, displaying information about the four strokes of the engine in operation. Together, the display is a cohesive unit comprising the pedal, cabinet, engine, and information panel. It provides the user with 5 minutes of information and an intuitive understanding of the operation of engines.
The engine is 3D printed both from PETG-CF for non structural parts and PPA-CF (polyphthalamide carbon-fiber) for structural parts. PPA-CF is an extremely strong and rigid filament that will give the display a long life. Because PPA-CF is very abrasive, a PTFE sheet is used on the interface of moving parts to increase life of the product. Long life shielded bearings are used in all rotating components for the same purpose.
The cabinet is constructed from MDF (medium density fiberboard) for the purpose of aesthetics. MDF can be sanded to a very smooth finish to create a professional product. The cabinet includes a maintenance door on the back to allow access to the electronics and replacement parts for the display.
The pedal is 3D printed from PPA-CF and contains a spring and a potentiometer to send input to the Arduino microcontroller.
The electronics consist of an Arduino Uno R3 clone, a 12V power supply, a 12V to 5V buck converter, an A4988 stepper motor driver board, a potentiometer, a button, and 4 LEDs. The button is used to reset the "top dead center" position of the engine in the event of desync or power loss.
Construction
[edit | edit source]There were many different steps we took to achieve the final design. The first step was designing the engine components and the cabinet in Fusion 360 (Figure 3-1).


Then, we cut the MDF to the correct dimensions for the four sides and cut a hole at the bottom of the front board for the pedal. Once we had the four sides, we started assembling them together with wooden dowels and glue. However, after connecting only two of the conners, we realized that this way would take a very long time and wasn't easy, so we connected all of the corners with two conner brackets each. We used bolts to connect the brackets (Figure 3-2).
We later realized that the finished look wasn't very smooth with the bolts sticking out and we discovered that the cabinet was too big. Since it was too big, we dismantled the cabinet, cut down all of the sides so that it would fit in the designated space and we cut a maintenance door in the back. Next, we reconnected the sides with the same brackets, but with screws this time giving it a much cleaner look (Figure 3-2). We then put on the top using two boards and some more brackets and screws and we drilled the holes for the 3D printed model to get bolted down. After we had the cabinet assembled, we filled in the holes with wood filler, sanded it, and started painting it with spray paint.
The spray paint was very difficult to put on in an even layer, so after spraying on the primer, yellow stripes, and most of the green, we decided to use acrylic brush paint which was much easier to use. Once the cabinet was all green, we painted the yellow stripes on with the arrow pointing to the pedal (Figure 3-3).

During the construction of the cabinet we started 3D printing, we had already made the majority of the models on Fusion 360, so we just made a few edits before printing like adding bolt holes and a place for the stepper motor. The filament being used switched between carbon fiber infused filament for the parts under a lot of stress and PLA Plus filament for the parts not moving or wearing. This caused a problem, the carbon fiber filament is very strong, however it is also very difficult to print and very expensive, so we had a print fail, which wasted some of the filament. Even though there were problems, the pieces got printed and we assembled them into the final model (Figure). While the prints were going, we started the electronics, starting from the last prototype. The electronics were difficult to get working because there is many different things that need to happen at the same time. By connecting an Arduino, breadboards, LEDs, a stepper motor a potentiometer, and a lot of soldering, we finished the electronics (Figure)
Bill of materials
[edit | edit source]| Material Costs | ||||
| Material | Purpose | Quantity | Project Cost ($) | Projected Project Cost ($) |
| PIR Sensor | Motion Sensor | 2 | 7.00 | 7.00 |
| 0.1x18x24" Acrylic Sheet | Cover moving parts | 1 | 22.00 | 22.00 |
| Screen Hinges | Hinge for service pannel | 2 | 13.00 | 13.00 |
| Wood Screws | Securing MDF connections | 32 | 30.00 | 30.00 |
| Brass Push Plate | Protect MDF from shoes | 1 | 23.00 | 23.00 |
| 4x8' MDF | Main cabinet building material | 2 | 120.00 | 120.00 |
| Carbon Fiber Filament | Filament for the model | 1 | 60.00 | 60.00 |
| Corner Brackets and Nuts | Used to reinforce cabinet corners | 3 | 21.00 | 21.00 |
| 12V to 5V Buck Converters | Converts 12V input to 5V | 3 | 7.00 | 7.00 |
| Stepper Motor | Rotates crankshaft | 1 | Donated | 85.00 |
| A4988 Driver | Powers stepper motor | 3 | 6.00 | 6.00 |
| 12V2A Power Supply & Jack | Power source from wall | 1 | 8.00 | 8.00 |
| Arduino Uno R3 | Computer for electronics | 1 | Donated | 18.00 |
| LEDs | Lights up engine | 4 | Donated | 2.00 |
| Misc. Electronic Components | Circuits: resistors, transistors, capacitors | 10 | Donated | 8.00 |
| Spray Paint | Paint Display Box | 7 | 44.00 | 44.00 |
| Acrylic Brush Paint | Paint Display Box | 1 | 40.00 | 40.00 |
| Total | 401.00 | 514.00 | ||
Operation
[edit | edit source]Maintenance
[edit | edit source]The maintenance is very simple, every two weeks the display needs to be dusted and this can be done by any library staff. About every 10 years, the worn parts need to be replaced, this can be done by any library staff with the extra parts that come with the display, but if those have all been used then new parts will have to be printed with the library's or the Makerspace's 3D printers.
Maintenance schedule
[edit | edit source]- Every 2 Months
- Dust the Model and the cabinet.
Yearly
- The model uses about $ of electricity if ran for thirty minutes every day for a year.
- Every 10 years
- Replace any worn parts, there is one set of extra parts inside the cabinet.
Conclusion
[edit | edit source]Testing results
[edit | edit source]Electronics:
The new stepper motor to LED interface works without flaw, an improvement over the original prototype. [Additional Information about pedal performance and electronics]
Construction:
[MDF, Plexiglass, and Info Cards construction/
Discussion
[edit | edit source]Discuss the testing results.
Lessons learned
[edit | edit source]Discuss lessons were learned during this project and what you would do different next time.
MDF is not a very clean material to use as it produces sand-like shavings when planed or cut, it is also a fragile material that does not warp but does chip and crumble quite easily. MDF is more suited for mass produced products as it is not very ergonomic for handcrafted furniture. While it is a professional looking material when painted and finished, MDF is not a material that this team would recommend using for similar projects in the future.
PPA-CF is a versatile 3D printing filament that has been used as a metal replacement material in additive manufacturing processes, this is due to the material's high tensile strength, thermal resistance, low moisture absorption rate, and dimensional stability (inability to warp). While this specialized filament is relatively cost-effective, it is best suited for more specialized and consequently more expensive 3D printers than the team had access to. While our team had access to impressive machines both in the Makerspace as well as at home, this material requires a printer that possesses an enclosed chamber capable of maintaining a temperature between 40-60°C. Any projects that use this material are recommended to have a printer capable of this, alternatively further insulating a printer with an enclosed chamber incapable of reaching these temperatures has proven capable but is most certainly not recommended.
Next steps
[edit | edit source]The next steps for this project include installation in the 3rd floor stacks of the CPH campus library and any final troubleshooting prior to access by library visitors.
Troubleshooting
[edit | edit source]This is only how to troubleshoot basic operation. For complex issues, the solution might just say something like contact ________. It should be a table in this format:
| Problem | Suggestion |
|---|---|
| Example issue | Example solution or suggestion |
| Does not turn on | Make sure it is plugged in |
| Another issue | Etc. |
Team
[edit | edit source]- Steven Dunnicliff
- Tobias Mitchell
- Adam Pierce
- Demar Tobey
References
[edit | edit source]
| Authors | Steven Dunnicliff, Tobias Mitchell, Adam Pierce, Demar Tobey |
|---|---|
| License | CC-BY-SA-4.0 |
| Organizations | Cal Poly Humboldt |
| Cite as | Steven Dunnicliff, Tobias Mitchell, Adam Pierce, Demar Tobey (2026). "Cosmos in the Stacks automotive gas engine". Appropedia. Retrieved June 4, 2026. |