Software Projects

Remote Bluetooth

The Bluetooth MCU in the electric longboard remote was a major challenge. Firstly, there was the connection types. The original plan was to develop around an Adafruit Feather w/ a BLE module. Unfortunately, Adafruit loaded their own firmware onto the BLE module that did not support central mode (master). This is a problem because was trying to pair two of these modules to each other and the remote side had to be the central mode. Normally, this is not an issue since it is typically paired to a phone or computer and operates in peripheral mode. I did however manage to flash the original manufacturers firmware onto it with a heartbeat stack and successfully connected to another module in central mode. However, finding a stack for serial passthrough proved to be difficult. Additionally, the IDE’s required to program this module were upwards of $2000. Since I was going to develop my own PCB anyway, I decided to look at what other modules were out there. I ended up going with the TI 26650 BLE module. They had a nice tutorial series to work through to get started and had the free IDK Code Composer Studio. Having worked with TI in the past, this was an easy choice. The project is still ongoing and I am aiming to have it wrapped up in a few months.

ESXI Server

Since I discovered the ability to host a Minecraft server in high school, I have been hosting various servers for various functions. I have built two server boxes, and even had an old google full 2U PowerEdge rack server. The first box was an old computer I had laying around. I upgraded it as much as I could, and it had two cores, and 4G of DDR2 ECC RAM. It could barely run a game server and a website, but it worked enough to get the ball rolling. Once I wanted to run more servers, I decided to purchase a PowerEdge rack server on ebay. It was an old server from google funny enough and I got it for about $300. It had 32Gb of DDR2 RAM, dual quad core Xeons, and 6 1Tb drives. I configured the drives in RAID 5 for redundancy and maximum capacity. The OS of choice was ESXI, an underlying Linux based OS for VM deployment. This box worked great, but heated my room by more than 10 degrees. After a year and not utilizing the box’s full potential, I decided to look at a more power efficient option. The most recent box was a newer Dell Optiplex desktop with a i7 quad core, 16gb RAM. I also added on two 3Tb drives in RAID 1 for full redundancy. A LSI hardware RAID card was required for this since the motherboard did not support RAID and ESXI did not support software RAID. This card had a 512Mb cache for speedy file transfers. The server was then loaded with ESXI and broken up into different virtual machines for the various servers and services to run on.