• EUR€
  • £GBP
  • $USD
PROJECTS 3D Printing

3D Printing, Self-Defined Animation Badge

DFRobot Jul 05 2018 1081

Do you like badges?
If you like simple T-shirt and hat, then it will be a perfect combination.
Today, we present you a hands-on electronic badge which case is made by 3D printing.

  • Counting the number of miles in motion;
  • Equipped with a strap, turn it into a smart watch to notify how heart rate changes;
  • Or Bluetooth MP3; infinite possibilities it might bring.

  • Manufacture Part: 

    Since it comes to summer, we want this outer case to be fresh and simple.
    The two openings shown in the picture are for Micro USB interface to program and charge and for power switch interface.

    After the case is drawn, use cura to import the image. Then configure the cura and print. The printing stage will take around 30 mins.

    The accomplished badge appears small and wearable. The power can last for three hours through the first time test. The lighting time is not long due to the reason the flashing animation on the LED might consume too much power;

    It can be fully charged within about 30 mins. You can use power bank to charge it. The working power is enough for many social activities.

    Hardware Part:
    Here’s the components that need to prepare:Beetle - The Smallest Arduino
  • Led Matrix Board V1.0 (KIT0137 Will be available Soon)
  • FPC0.5-10P Reverse cable 6cm
  • 4.2V Lipo Battery
  • 4.2V Lipo Battery Charger Module
  • Triangle Switch
  • Magnetic brooch
  • 3D Printing Case

  • 1. Connect the white cable. Turn the blue interface towards outside; connect the fpc adapter board to the beetle.
    2. Connect the battery to the charging board B+/B-; pay attention to the positive and negative poles

    I'm pleased to find that the first time I used such small round LED panel is pretty awesome. The arrow indicates the forward direction.
    First of all, we need to understand how we control LED light through coding data.
    Take the letter “R” for example. As we can see the data in the ASC_II_table_R[] array, if we write them in LED_RAM_ADDR [] address according to a certain order, we can control the switch of a specific LED!
    unsigned char  LED_RAM_ADDR[]= {                                      
                                         0x00,  0x02,
                                         0x04,  0x06, 
                                         0x08,  0x0a,
                                         0x0c,  0x0e,
                                         0x10,  0x12,
                                         0x14,  0x16,
                                         0x18,  0x1a, 
                                         0x1c,  0x1e, 
                                         0x20,  0x22, 
                                         0x24,  0x26,
                                         0x28,  0x2a, 
                                         0x2c,  0x2e
    const unsigned char  ASC_II_table_R[]= {0x00,0x00,0x00,0x00,0x78,0x00,0x90,0x00,0x90,0x00,0x70,0x00,

    Let’s get familar with the conversion between binary system and hexadecimal, as shown in the table above.

    Then, let’s find how to light up the LED light in the “R” zone. Through the picture, when the data is “1” and LED is lightened. It indicates we give a high level to LED panel. Likewise, when the data is 0, LED lights out. Hence how do we control the electrical level in each unit?

    We take data from the above picture and mark them in red. The binary code from the right to the left is “0111 1000” which is “78” in hexadecimal. According to the LED unit addresses in the aforementioned picture, it can be noted that the address of this unit is 0x08. Comparing to data in code, the fifth data in the “R” matrix is 0x78. By analogy, we can perfectly control the LED light. You can try it yourself to write a matrix of a loving heart and check whether the led lights the same or not.

    Or you can use “Matrix Software” to take matrix. Regards to the application of the software, you can study it on your own. You will discover its secret after trying several graphics!

    Software Part:

    Show_bitmap function:
    This function is used to write the graphic font to the corresponding unit address in order to display the graphic effect.

    Loop function:
    Modify this function to implement different functions.
    Beating heart sample:

    void loop() {    
      Show_bitmap(hartTable_left); //Beating heart