Ezekiel K.

Hi my name is Zeke and I am a rising Junior at Heschel. For my starter project I made an electric dice based on these instructions. I chose this because it seemed simple and a good start with electrical engineering. This is very closed project so I could not do much but I made it so when I drop it shows a random number from 1-6. My main project is a smart punching bag. This punching bag uses accelerometers to measure the force of the punch. I use Newton’s second law to calculate the force. 


Ezekiel K.

Area of Interest

Martial Arts and Engineering


Abraham Joshua Heschel High School


Rising Junior

Final Project

I have now finished my project. I have added bluetooth to the punching bag so I can see the results on my phone wirelessly. This is so when you are training you can use an armband to hold your phone so you don’t have to leave fight position when look at your results. In order to add the bluetooth I had to change my Serial coding. I added a library call SoftwareSerial that has easy to use bluetooth coding. Something that was really confusing to me was difference between the write function and the print function. The write function is strictly for variables and the print function for writing . The wiring is equally as confusing. On the bluetooth module there is a TX (Transmission) pin and a RX(Receiving) pin.Originally I connect the TX pin to the TX pin on the Arduino and the RX to the RX pin on the Arduino. But now in hindsight that doesn’t make any sense because then the receiver on the bluetooth module isn’t receiving any information and the transmission pin isn’t transmitting any thing . Later on I connect TX to RX and RX to TX and the bluetooth module worked . 

Materials:Bill of Materials

Code: Smart Bag Coding

Schematic: Smart Punching Bag Wiring (pdf) Smart Punching Bag Wiring Fzz (fzz)

Stand Parts:Stand


The problem solving, research, and testing at first was relatively new to me and annoying. But the goals I set out to do everyday and the milestone I check off helped me continue on the project and not give up. There were plenty of times that I was at a complete loss and thats when you have to really work hard. For example when I first started coding my accelerometer I had no idea where to start I never even heard of I2C coding, but slowly I learned. Overall the experience was great because I believe that every step matter big or small so those small step that I achieved everyday was really rewarding. My only regret was making the stand out of PVC I would instead make it out of steel tubing so I could hold 2 bags and have a punching bag for the head and one for the body. This would make the training with the bag much better.

Third Milestone

I have now completed the stand, which is made out of zip-ties, PVC, and steel tubing. The PVC is the main structure of the stand. The steel is to reinforce the spine of the stand so it won’t bend due to the weight of the bag. Finally the zip-ties are to connect everything together. The reason I chose zip-ties is so I can upgrade it in the future without breaking anything. I also have hung the bag. Sadly I can’t hang two bags due to structural errors on the stand. I had to add a 6 kilo counter weight for the stand that is connected by rope, plus 7.5 pounds on each leg for the stand so it won’t flip backwards. Due to the little weight I added there is a force limit before the stand will flip but the accelerometer caps out before that.  The limit  for how much force it can calculate is 104.24 Newtons, any more will show up as 104.24. The advantage of this is that the force is more accurate. The next step is adding bluetooth so you can see the force from your phone while training.

Second Milestone

I have now put the accelerometer inside the bag. The accelerometer is inside a PVC capsule to make sure that no sand damages the accelerometer. I secured the accelerometer to the PVC capsule with a holder that I 3d printed. Then that is hot glued to the PVC capsule. Then, I elongated all the pins so the accelerometer can connect to the Arduino. The bag is made up of 6 kilos of sand and foam on top for added volume. The foam also protects the accelerometer from to much force.

First Milestone

I have now made both accelerometers talk to the Arduino using I2C coding. Accelerometers are sensors that measure acceleration and use I2C coding to communicate with the Arduino. I2C coding is a coding so that multiple devices can talk. In my coding the Arduino tells the accelerometers when to inform the Arduino about the acceleration. Now about the wiring. There are 3 central pins that the accelerometer have. First the SDO, this is the pin that sets the address of the accelerometers. This address is like the name of the accelerometer so the Arduino knows which accelerometer to talk to . Second is the SDA, this is the pin that the information about the acceleration goes through. And finally the SCL, this is the clock to make sure that the Arduino doesn’t talk at the same time as the accelerometers do.

Starter Project

The electric dice is controlled by a microcontroller like an Arduino but really really small. A microcontroller is a very basic computer that can control a circuit. This circuit uses a piezo electric crystal to make an electric current that would tell to microcontroller to make a new random dice face. This is done by the microcontroller turning on certain lights and turning off others. For safety every LED has a resistors in order for them to last longer. There is also a diode which is like a one way valve but for electronics which just protects the circuit from reversing polarity. Then the way that the die is random is through its coding. The computer chooses a random number from zero to 1023 which is a ten bit number meaning that it has ten 0s or 1s in binary. Then is chooses the last 3 bits which can only make numbers 0 to 7 then if it get a zero or seven it redoes the coding until it gets a number from 1-6. This makes it sorta random or at least as close as it can get.

Leave a Comment

Start typing and press Enter to search