Introduction: CrimsonBot Alarm

Students find it difficult to wake up in the morning and are often late for classes as a result. To combat this issue, we will be using the basis of the crimsonbot model, with some modifications, along with light and sound effects that force the user to get out of bed in the morning and locate the crimsonbot to turn it off.

As a way to ensure that students wake up on time, our group will be making a mobile alarm system that incorporates a moving machine, lights, and sound system that all functions at a user specified time. The goal of the project is that the user will be forced to rise at the specified time to locate the moving machine and disable movement, lights, and sound.

Risks and Exposures: The biggest risk we face is not being able to meet because of our different schedules, but we are all relatively flexible and can meet different days and times. If we are unable to meet, we can work on the project individually and communicate in our group message. If the project begins to take more time than expected, we can add another day to meet. All in all we will be able to work on the project individually and together whenever it is needed.

Implementation environment and rationale:
The Implementation environment would need to include the NodeMCU and micropython. Our group specializes in different areas that we will combine to achieve success. As a team we have specialties in coding, electronics, mechanics, record keeping, and time management.

Step 1: Step 1: Planning

The first stage was planning the bot. Based off the ideas we had, we first sketched the model with possible options.

Step 2: Gathering Materials

When searching for materials, we found that Amazon and Adafruit were the best websites to use.

Below is a list of our materials we used:

Adafruit LCD with i2c

LCD module adapter

Arduino Microcontroller


Acrylic for 3D printer

Jumper Wires

Solderless Breadboard


4 AA batteries

USB cable for Arduino

Piezo Buzzer

10 Ohm resistor

Battery holder

Hot glue gun

3D Printer

Step 3: Wiring the Components

As far as wiring the components, everything is pretty straightforward.

Your LCD should come pre-soldered, so the only soldering you have to do is with the LCD module adapter on the back.

Connecting LCD to Arduino:


5V (arduino) to VCC

SDA to A4

SCL to A5

Wiring the Buzzer:

We have our buzzer soldered to the resistor, but you don't have to do that.

The buzzer is connected to pin 9 on the Arduino, and the connected resistor is wired to GND

Step 4: Writing the Code

We have attached a document for the code that has descriptions for what each section does.

We found that YouTube was the best source for help.

Step 5: 3D Design and Printing

Many different parts needed to be created in order to complete the steering assembly.

The first part was a 3D printed clip to hold the rear motor on.

After that I created a mount to hold the stepper motor in place. Hot glue was used to attach the mount to the acrylic base.

Three disks were printed out in order to move the string to steer the car.

Next, I had to redesign wheels that would freely spin. I made the moving wheel into two parts, an arm to control steering angle, and a rim to hold the rubber tire and spin freely. The wheel was attached to the arm by sliding on and bending a metal wire through the middle hole so that the wheel wont fall off.

The steering arm attached to the base by use of a small 3D printed pin that was secured with wire just like the wheel.