2 Revolute Joint Robotic Arm

What is it? This is a two-axis robotic arm that was explicitly designed to assist in learning and developing algorithms for robotics. This was a two quarter capstone design course that involved Mechanical, Electrical, and Software engineering. Arm from the top view Why is this cool? This arm is cool because it is the first low friction, desktop-sized robotic arm that is direct drive. There were quite a number of engineering challenges that had to be overcome to achieve this, and I’m quite proud to be part of the team that designed this robot. ...

January 6, 2019 · 18 min

UART controlled LCD screen

I really like the ST7735 LCD. It is large enough to display a lot of relevant information at once, but small enough to still be portable. It also has RGB colors, so you can really display some interesting graphs and information with this screen. It is a popular LCD because the communication method is well supported and understood. One LCD is about $2, which really makes it an attractive option as a debugging tool. For example, if your code isn’t working, sometimes it might be helpful to print out the internal details to a screen instead of back to a terminal, especially for mobile systems like robots. ...

December 31, 2018 · 4 min

Webcam project

This was the project that started it all. This was the final project of the class Engineering System Design I. In this class, we were taught how to design and produce a webcam from scratch, from the programming, to the PCB and CAD design of the case. Design Top with camera Bottom with WiFi chip and power jack This webcam is driven by a ATSAM4S8B chip. It processes the incoming data from the OV2640 webcam and stores it to memory before streaming it bit-by-bit to the Zentri WiFi chip on the reverse side. The Zentri chip is programmed to connect to the wireless network as well as host a website to display the images. Without optimization, our design was able to display images at a rate of about 3 frames a second. ...

December 25, 2018 · 4 min

Simple Melody Generator

Why is this cool? This is a melody generator that is housed in a tiny 3 pin package. It is mostly used for toys and sounds. Old part day I found this music generator in the trash with some other electronics. I was initially inclined to throw it away, but I saw that it had a speaker attached to it, and a intriguing pair of connectors that said 3V and GND. ...

December 23, 2018 · 2 min

EFM8 Laser Bee from Silicon Labs

Why is this cool? It is a low cost microcontroller from microchip manufacturer Silicon Labs in the US that could find many uses for small projects as an alternative to the SAMD10 or PIC16. This is my first microcontroller that uses the 8051 from Intel. The EFM8 family comes with multiple variations of the same chip, tailoring them to various tasks. The Universal Bee has USB capabilities and an integrated 3.3V LDO regulator, the Laser Bee is targeted towards analog and digital sensing functions, featuring a 14 bit ADC and a 4 channel 12 bit DAC, the Sleepy Bee is a low power specialist, and the Busy Bee serves as the generalist of the bunch. ...

December 18, 2018 · 3 min

Getting Started with Atollic TrueStudio and STM32

Tldr; I really like the STM32 and you should definitely give it a whirl. UPDATE [12 October 2019]: ST just integrated Atollic into their CubeMX branding, and it is now known as STM32CubeIDE. It is essentially the same as Atollic TrueStudio with proper STM32CubeMX integration. I wrote a brief post about this. Recently, ST Microelectronics bought Atollic and released TrueStudio as a free Integrated Development Environment (IDE) for their STM32 line. The STM32 line is a 32-bit microcontroller line from ST Microelectronics utilizing the ARM Core. This is part of same series of cores that you see in the ubiquitous SAMD21 development boards. ...

December 14, 2018 · 10 min

Paddle-ball Project

This was a final project for a class in Machine Dynamics. The objective was to design a project that showcased all that we learned throughout the quarter. I decided to model a paddle-ball that utilized a strange sort of ball: a triangular ball. However, this would introduce some interesting behavior upon collision. The spring was also made discontinuous, so that only beyond a certain length would there be a spring constant, under this length, the spring acts like a string. ...

December 12, 2018 · 4 min

Getting ST7735 working with CircuitPython

tldr: Load the font5x8.bin in the root rather than in the lib directory. Change _MADCTL in the ST7735.py folder to 0xc8 to flip BLUE and RED. How to draw text Follow the Adafruit guide here: https://learn.adafruit.com/micropython-displays-drawing-text Some notes on the implementation in Python: Load the font5x8.bin in the root folder rather than in the lib directory. Change _MADCTL register in the ST7735.py folder to 0xc8 to flip BLUE and RED if you have a green tabbed LCD ...

December 5, 2018 · 1 min

Webroots 3: Cloud Reading

The final part of this Webroots project is to read data from our sensors. This is useful because many IoT devices are intended as a means to collect data. By implementing this service, we will be able to tell the state of our room, even when we are not close by! For this tutorial, we will be reading the button presses, the light levels, and the number of times our Night Light has been turned on. ...

November 25, 2018 · 2 min

A More Precise ADC

Why is this project cool? Measure tiny voltages! Without a lab bench! Set up a Wheatstone bridge! The proper question is, why isn’t it cool? Motivation Wheatstone bridges are finicky little things. But they are very useful because they transform problems. Inherent to many objects is a resistance, and often, this depends on a thing that we want to measure, such as temperature and strain. However, the problem is that these changes in resistances are very small, and measuring them directly is not practical, because large currents would be required to have an appreciable change in voltage. ...

November 22, 2018 · 5 min