DIY SFF low volume mini itx computer case

The custom pc case project was initiated when the off-the-shelve case took too much area and hides the beautiful Asus Strix 980ti.

Case dimension and volume as below

310mm x 115mm x 184mm – 6.56 liters

length is dictated by the length graphics card : 305 + 2 + 2 + 1
depth is by graphics card and PSU : 40 + 65 + 2 + 2 + 2 + 4
height is by motherboard and hard disk : 170 + 10 + 2 + 2

Computer specifications
Motherboard – Asus H110I Plus (mini itx)
Processor – Intel I5 6500 with factory heatsink
RAM – 16GB DDR4
PSU – Silverstone 600W SFX
Graphics card – Asus Strix 980ti (30.5 x 15.22 x 3.98 Centimeter)

On to pictures

Original case not being space efficient
 photo DSC03882_zps855tliti.jpg

Components pulled out
 photo DSC03885_zpsuwanaaz7.jpg

2mm thick L shape aluminum
 photo DSC03903_zps01ngehjo.jpg

The connecting components
 photo DSC03910_zps3kcmmefo.jpg

Putting it together
 photo DSC03912_zpsjtfog2od.jpg

Installing power supply
 photo DSC03914_zpsnumwhijd.jpg

Motherboard is inside
 photo DSC03917_zpsue9ot9hl.jpg

Halfway done
 photo DSC03919_zpskzao36go.jpg

Harddisk is at the bottom
 photo DSC03922_zps9xiwbwoz.jpg

All done
 photo DSC03923_zpshk4bro4r.jpg

 photo DSC03925_zpszgnbgzu7.jpg

 photo DSC03933_zpsbcukk2zj.jpg

 photo DSC03938_zpsumd7ra28.jpg

 photo DSC03939_zpsne7koryo.jpg

Solo 1864 corners ride

This entry is to record my journey and hopefully can be a reference for others and my future self. It took seven days to complete and was done around Christmas break of 2015. Also known as Mae Hong Son 1000 corners.

Below was the trip schedule, all hotels are book before the trip so it is important that I arrive at destinations as planned.
Dec 24 – Penang to Hua Hin (956km)
Dec 25 – Hua Hin to Mae Sot (750km)
Dec 26 – Mae Sot to Mae Hong Son then Pai (503km)
Dec 27 – Pai to Chiang Mai (147km)
Dec 28 – Chiang Mai to Hua Hin (878km)
Dec 29 – Hua Hin to Hatyai (747km)
Dec 30 – Hatyai to Penang (215km)

Gears as follows
Bike – 2015 BMW F800GS
Rear pannier rack – Holan
Rear top rack – Holan
Crash bar – Holan
Panniers – Ortlieb front roller city (was used for my bicycle touring)
Navigation – Garmin Nuvi 205W with ram mount
Charger – DIY DC-DC converter

Helmet – Nolan N104
Jacket – Rev it Sand 2
Gloves – Taichi Leather Glove
Pants – Taichi Drymaster
Boots – Sidi short Goretex boots

Day 1 – Penang to Hua Hin

The first day and the longest ride of all the days. Bad news is that it was a public holiday so there was a big crowd at the Malaysian-Thailand border. Leaving home at 6am, I was only able to clear customs at 10.15am (Malaysian time). Due to the late departure, I arrived in Hua Hin after dark. It was raining throughout the way but my gear kept me dry and comfy. Accomodation is Chaba Chalet in the center of all the action in Hua Hin.

 photo IMG_0490_zpsd2ona4ee.jpg

 photo IMG_0493_zpshej7arxp.jpg

 photo IMG_0501_zpsechvskox.jpg

Day 2 – Hua Hin to Mae Sot

I didn’t go directly to Mae Sot but diverted to the tiger temple in Kanchanaburi for some pictures first.

Left the hotel before breakfast is served at 7am, I considered this late as it would be 8am in Malaysia. It is quite a slow route since some of the road is a single carriageway. The road after the turn towards Mae Sot gets pretty technical as it includes steep climbs and descend. Not remembering very clearly, some part of the route is unpaved. Accomodation is Baan Rabiangmai in Mae Sot, this hotel is surprisingly clean and probably new. Rented a bicycle from the hotel to witness the friendship bridge.

 photo IMG_0507_zpsfpfk79dh.jpg

 photo IMG_0514_zpsif65ktm5.jpg

 photo IMG_0515_zpsqfi9y7nw.jpg

 photo IMG_0527_zpsfaczhwe8.jpg

Day 3 – Mae Sot to Pai

This would be the meat of the journey where the corners would be conquered and presented with the certificate.

In the map above it would be route 105 and 108. Towards Mae Sariang I would like to stress that there is a part of the road being fireroad. This is already being tricky for newbie rider like me, the thick fog that reduces visibility and condensated on my glasses didn’t help. Refuel at Mae Sariang since it is about 200km from Mae Sot and the bike can do at most 330km on a full tank.

I couldn’t agree more if somebody said that the roads is made for motorcycle. This is a pilgrimage that has to be done if you are around here.

Mae Hong Son is a town in the hills and I immediately located the Mae Hong Son Chamber of Commerce by asking a motorcycle repair shop.

Planning to eat in Pai, nothing else was done in Mae Hong Son. It also worth mentioning that the road to Pai is quite technical which can be dangerous. Accomodation is Diamond De Pai hotel. I’m thoroughly impressed with the variety available at the Pai Walking Street market. Temperature wise, my bike thermometer indicates 18 degrees while standing still, so it is understandable that the room is not equipped with aircon because it is not required!

 photo IMG_0542_zpsvewa0uvq.jpg

 photo IMG_0550_zpse91e6edc.jpg

 photo IMG_0557_zpsc1w0sylr.jpg

 photo IMG_0560_zpsbgpebvq3.jpg

 photo IMG_0566_zpsqqfbqicu.jpg

 photo IMG_0575_zps2ykyznfc.jpg

 photo IMG_0578_zpshxf9smnu.jpg

 photo IMG_0579_zpsh4lny4ia.jpg

 photo IMG_0591_zpsluwsi8iu.jpg

 photo IMG_0593_zpsesxnphea.jpg

Day 4 – Pai to Chiang Mai

This is the shortest ride throughout the journey, I took my time having breakfast and packing. You’ll be faced with similar climb and descend like on the way to Pai the day before. Also parts of the road being unpaved, I feel bad enough to throw the GS onto these roads so I’m not sure how I would feel not riding an adventure bike. Arrives at Lanna Palace hotel before the room is even ready, this gives me ample of time roam around Chiang Mai.

 photo IMG_0601_zpsxihmgvpd.jpg

 photo IMG_0602_zpsddnx7ulz.jpg

 photo IMG_0606_zpsgwpe271g.jpg

 photo IMG_0619_zpsyq7zmbnh.jpg

 photo IMG_0623_zpskmkdjopc.jpg

 photo IMG_0629_zpswubbkpju.jpg

Day 5 – Chiang Mai to Hua Hin

This route was designed to avoid Bangkok traffic. It heads to Suphan Buri and onto route 321. I was able to reach Hua Hin before its dark, left Chiang Mai when it is still is. Note that some part of the route was foggy so more care is needed. Staying at Chaba Chalet again in Hua Hin.

Day 6 – Hua Hin to Hatyai

No drama here except that I started to ration the last gas fillup so that I didn’t put more RON91 E10 gas than needed. The rain rinses the bike from the dust it gathered a few days before. Accomodation in Hat Yai is Leevana hotel, this looks to be a new hotel where tv channels are in HD. And there are a few muslim restaurants nearby.

Day 7 – Hatyai to Penang

This is a short ride compared to the other days, 200km and includes immigration crossing. What can I say, happy to be home.

I’m grateful that the bike and all the gears work flawlessly so to make this journey to go as planned. Also not forgetting friends and family for their constant support. For me at least, I think it is very important to have mobile internet so that you can seek information anywhere and keep in contact with friends through instant messaging. I got a tourist package sim card (true move h for 299 baht) at a 7-11 which has good coverage throughout the journey.

Sensored BLDC motor control with Arduino

UPDATE : May 12, 2015, I’ve added schematic after the Arduino sketch below

I couldn’t find much info on this on the net so I thought to share my experiment for those researching on this.

Hardware as follows
Arduino – Pro Micro 5V
Mosfet – STP75NF75
Half bridge driver – IR2103

Three PWM outputs are used in this design to pulse the upper mosfets while the bottom mosfets are either on or off.


//Knobs
const int analogInPin1 = A0; // Analog input pin that the potentiometer is attached to

int sensorValue1 = 0; // value read from the pot
int outputValue1 = 0; // value output to the P

//hall input
int hall_sensor_y = A3;
int hall_sensor_b = A2;
int hall_sensor_g = 15;

//buzzer and LED
int buzzer = 16;
int LED = 17;

float throttle = 0.0;

boolean MotorOff = false;

float Cn = 0;

//Motor setup
const int y_motor_lout = 5;
const int y_motor_pwm_hout = 6;
const int b_motor_lout = 7;
const int b_motor_pwm_hout = 9;
const int g_motor_lout = 8;
const int g_motor_pwm_hout = 10;

enum WheelDirection {
DIR_FORWARD,
DIR_BACKWARD,
DIR_STOP
};

// MOTOR DRIVE
void MoveWheel(WheelDirection (dir), float (speed)) {
if (MotorOff) return;

//empty all motor registers
//half bridge driver, hi part is active high
//lo part is active low
analogWrite(y_motor_pwm_hout, 0);//set motor to stop
analogWrite(b_motor_pwm_hout, 0);
analogWrite(g_motor_pwm_hout, 0);

digitalWrite(y_motor_lout, HIGH);
digitalWrite(b_motor_lout, HIGH);
digitalWrite(g_motor_lout, HIGH);

int hall_y = digitalRead(hall_sensor_y);
int hall_b = digitalRead(hall_sensor_b);
int hall_g = digitalRead(hall_sensor_g);

//Serial.print("\r\n");
//Serial.print(hall_y);
//Serial.print(hall_b);
//Serial.print(hall_g);

if (dir == DIR_STOP) {
// do nothing
} else if (dir == DIR_FORWARD) {
if (hall_y == 0 && hall_b == 0 && hall_g == 1) {//001
analogWrite(b_motor_pwm_hout, speed);
digitalWrite(g_motor_lout, LOW);
} else if (hall_y == 1 && hall_b == 0 && hall_g == 1) {//101
analogWrite(b_motor_pwm_hout, speed);
digitalWrite(y_motor_lout, LOW);
} else if (hall_y == 1 && hall_b == 0 && hall_g == 0) {//100
analogWrite(g_motor_pwm_hout, speed);
digitalWrite(y_motor_lout, LOW);
} else if (hall_y == 1 && hall_b == 1 && hall_g == 0) {//110
analogWrite(g_motor_pwm_hout, speed);
digitalWrite(b_motor_lout, LOW);
} else if (hall_y == 0 && hall_b == 1 && hall_g == 0) {//010
analogWrite(y_motor_pwm_hout, speed);
digitalWrite(b_motor_lout, LOW);
} else if (hall_y == 0 && hall_b == 1 && hall_g == 1) {//011
analogWrite(y_motor_pwm_hout, speed);
digitalWrite(g_motor_lout, LOW);
}
} else if (dir == DIR_BACKWARD) {
if (hall_y == 0 && hall_b == 0 && hall_g == 1) {//001
analogWrite(g_motor_pwm_hout, speed);
digitalWrite(b_motor_lout, LOW);
} else if (hall_y == 1 && hall_b == 0 && hall_g == 1) {//101
analogWrite(y_motor_pwm_hout, speed);
digitalWrite(b_motor_lout, LOW);
} else if (hall_y == 1 && hall_b == 0 && hall_g == 0) {//100
analogWrite(y_motor_pwm_hout, speed);
digitalWrite(g_motor_lout, LOW);
} else if (hall_y == 1 && hall_b == 1 && hall_g == 0) {//110
analogWrite(b_motor_pwm_hout, speed);
digitalWrite(g_motor_lout, LOW);
} else if (hall_y == 0 && hall_b == 1 && hall_g == 0) {//010
analogWrite(b_motor_pwm_hout, speed);
digitalWrite(y_motor_lout, LOW);
} else if (hall_y == 0 && hall_b == 1 && hall_g == 1) {//011
analogWrite(g_motor_pwm_hout, speed);
digitalWrite(y_motor_lout, LOW);
}
}
delay(10);
}

void setup()
{
//Serial.begin(115200);

pinMode(y_motor_lout, OUTPUT);
pinMode(y_motor_pwm_hout, OUTPUT);
pinMode(b_motor_lout, OUTPUT);
pinMode(b_motor_pwm_hout, OUTPUT);
pinMode(g_motor_lout, OUTPUT);
pinMode(g_motor_pwm_hout, OUTPUT);

pinMode(buzzer, OUTPUT);
pinMode(LED, OUTPUT);

pinMode(hall_sensor_y, INPUT);
pinMode(hall_sensor_b, INPUT);
pinMode(hall_sensor_g, INPUT);

//half bridge driver, hi part is active high
// lo part is active low
analogWrite(y_motor_pwm_hout, 0);//set motor to stop
analogWrite(b_motor_pwm_hout, 0);
analogWrite(g_motor_pwm_hout, 0);

digitalWrite(y_motor_lout, HIGH);
digitalWrite(b_motor_lout, HIGH);
digitalWrite(g_motor_lout, HIGH);

}

void loop()
{
// read the tuning knob value:
for(int i=0;i<5;i++){ sensorValue1 += analogRead (analogInPin1); } sensorValue1 = sensorValue1/5; // map tuning knob to the range of the analog out: outputValue1 = map(sensorValue1, 0, 1023, -90, 90); //PID CALC Cn = outputValue1; //MOTOR DRIVE WheelDirection dir; if (Cn > 0)
dir = DIR_FORWARD;
else if (Cn < -0) dir = DIR_BACKWARD; else dir = DIR_STOP; throttle = abs(Cn); MoveWheel(dir, throttle); }

May 12, 2015 - Hi, due to quite a few requests on the circuit I've decided to draw it out and post it here. The components for the half-bridge driver is picked up from http://www.irf.com/technical-info/appnotes/an-978.pdf . The schematic below shows that the motor is driven by 24V power source, you can use higher voltage as long as it meets the rating of the MOSFET. Guys, please use the schematic at your own risk and please take necessary precaution when working with high voltage. I suggest test your circuit and motor at low voltage first before supplying full voltage. Again, I should stress that this is how I do it in respect to my hardware (Arduino) limitation, your project should use this as a base and expand to fix it's flaws. Cheers

DSC03573