Hello everyone, I hope you are well. Today, I open source project: the Jewel85.
You can imagine, it's the evolution of TinyJewel85 I have presented here: http://anderson69s.com/2017/08/03/tinyjewel85/
It always keeps the same principle as the TinyJewel85 to wear as a necklace or use wherever you seem, but I added two LEDs and it is now possible to load a 1S LiPo battery 3.7V via micro-USB:
I will start by thanking everyone // companies that made this project possible technically:
- Ootsidebox for technical advice and many other things. https://www.ootsidebox.fr
- Techno-Innov for electronics and philosophy discover KiCAD. http://www.techno-innov.fr
- Arduino for exceptional community that allows the development of various and varied projects. https://www.arduino.cc
- Davis A. Mellis for his support of ATTINY in Arduino IDE. https://github.com/damellis/attiny
- Jeff Saltzman for its code 4 features a button. http://forum.arduino.cc/index.php?topic=14479.0
- Microchip to market the ATTINY85. http://www.microchip.com/wwwproducts/en/ATtiny85
- Seeedstudio for his PCB service. https://www.seeedstudio.com/fusion.html
- Adafruit for introducing me to the SK6812 and superb library NeoPixel: https://github.com/adafruit/Adafruit_NeoPixel
The links of the project are in the source part.
2. General RecommendationsIgnoring the safety instructions can cause injury and damage severe.
You have to climb a LiPo battery on the collar, please consider the following information:
- Keep batteries out of children's reach.
- Do not attempt to pierce the casing of the battery.
- Do not try to disassemble or modify the batteries.
- Do not jump into water or fire.
- Avoid contact with liquids.
- Do not put batteries in a microwave.
- Like any other type of battery, lithium-polymer batteries generate an electric current. If a battery is subjected to a short circuit or excessive discharge, the internal components can be damaged and cause a fire.
- Charging batteries should be done under the supervision of an adult.
- Do not leave unattended charge batteries.
The elements must show no visible external fault. Internal short circuits, with all the risks they entail, are likely to occur when the batteries drops, or they receive a shock. If the temperature of the battery seems excessive, immediately:
- Unplug the charger.
- Put the battery in a well ventilated area, preferably outdoors on concrete and away from flammable materials.
- Observe the battery for 30 minutes, maintaining a distance of security. Look specifically deformations or warming of the battery. These two factors are indicators certifying internal damage.
- Do not attempt to recharge a battery that has undergone deformations or being inflated.
- Never charge a battery which has undergone deformation or being inflated.
- Always let the battery cool to room temperature before a new load.
- Never leave the battery unattended during the charging process.
- Never perform load on a flammable surface such as a wooden workbench, near flammable materials or inside a vehicle.
- LiPo batteries must be recharged only with studied chargers designated for this application. It is imperative to read and follow the instructions given by the manufacturer of the charger.
- Put the card to OFF:
- Connect a 5V - 1A in the micro-USB connector. The red LED lights up to confirm the setting load:
- The charge thus at a rate of 100mA / h for safety. The end of the charge is indicated by the green LED:
- Never expose LiPo batteries to direct sunlight, or in a place where temperatures can exceed 60 ° C. (Car in direct sunlight, for example)
- LiPo battery should not be stored with a voltage less than 3V per cell. Conserve battery over-discharged may damage irreparably.
The TinyJewel85 is good but it nevertheless suffers from some problems from the feedback I got:
- The mounting holes are too big.
- The battery connector takes much room for anything.
- Having to disconnect the battery to recharge is long and inconvenient.
- The capacitors 0402 are not obvious soldering for someone just starting and wants to get its PCB.
- It is not obvious to easily make a case for the PCB.
- 3 SK6812 is good, 5 SK6812 is better.
It is clear that we learn from these mistakes and that perseverance pays sometime. So I pretty much redesigned to improve the abovementioned points. Small bonus, the resolution of these problems, reduced production costs...
With course still the same philosophy behind the object: simple, sober and strong.
The result is an open source project that provides a simple electronic platform to anyone who wants to appropriate it and customize based on open-source software or not.
4. DesignSymmetrical, I like the geometric shapes of bases that we all know. The symmetry is found to be a parameter that always attracts the eye and which has always been exposed during my chemistry studies.
Nevertheless, this sleek design allows you to unleash your imagination and allows you to make the necklace or piece of jewelry that please. Since it is possible to change everything...
The case, adornment, support, assembly, use is up to you to imagine... The animations and colors displayed by the LEDs is also customizable by you cheaply.
5. Hardware5.1 PCBshttps://github.com/anderson69s/jewel85
It was necessary to add the components, but everything falls on a reduced format.
Double layer PCB with a round or square shape, powered by a Li-Po battery 1w delivering a voltage of 3.7V allowing a ATTINY85, steer 5 SK6812. It then becomes easy to use the button to change animation.
5.2 CaseBonus, I even drew all easily reproducible simple boxes in FabLab. Tools needed a 3D printer, laser cutting, some PLA or ABS and a piece of PMMA 2 or 3mm thick:
6. Software & Sourcehttps://github.com/anderson69s/jewel85
Simple, with the Arduino community, the versatility of the ATTINY85 and simplicity of the library NeoPixels, it becomes possible to customize the objects easily. Always the same routine to change the animations:
- A single press: Change animation
- 1s pressure A: Medium brightness
- Pressing 3s: Strong Brightness
- A double pressure: Low Brightness
There is also the *.svg, *.stl of the FreeCAD files, all you need to make your...
The Arduino ecosystem so we used USB bridge <-> Serial <-> ISP to customize colors played on the LEDs through the NeoPixels library.
Here are the instructions to customize the code and make its programmer from an Arduino UNO:
BEFORE HANDLING, ALWAYS PLACE THE KNOB IN POSITION OFF ON JEWEL85.
6.1 Materials needed- 1 Arduino UNO
- 1 Jewel85
- 1 USB cable type A
- 6 cables prototyping Male / Male
Visit the Arduino website (https://arduino.cc) in the Software section:
Download the latest version of the IDE for your operating system:
You can choose to make a donation or not just before you start downloading:
Install the Arduino IDE on your computer. For Windows users I recommend you use the installer that contains the USB driver for the Arduino.
6.3 Setting up the schedulerStart the Arduino IDE:
Then open the example -> Arduino ISP:
Then just connect your Arduino UNO to your computer using the USB cable and upload the code:
It's over, your Arduino UNO is ready to send the code on your TinyJewel85.
6.4 NeoPixel Bookstore & Card DefinitionIt only remains to indicate the correct parameters to the Arduino IDE so it can compile and send our code through the Arduino UNO on our TinyJewel85.
6.4.1 Library NeoPixelsLEDs need a library to be driving by ATTINY85, the project uses the famous NeoPixel of Adafruit. Here's how to install it:
If the installation of library went well, you should have access to the example of NeoPixel library:
Go to the preferences of the Arduino IDE:
Add the following address:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
To the list of additional cards to get the kind of ATTINY85 card in the Arduino IDE:
Confirm by clicking OK. Then go to the card manager:
You can then select the correct settings for Jewel85:
Visit the project's Github: https://github.com/Anderson69s/Jewel85
Download the content of the repo:
Open the Jewel85 code. There are several easy enough parties to recognize here is an explanation that will help you understand:
- lines 1 to 7: credits.
- lines 8 to 11: Definition of libraries.
- lines 13 to 302: Piloting LEDS.
- lines 304: Routine for interruptions.
- 308 lines: Creation of the object for the LEDs.
- 310 lines: Setting showType which to choose the animation.
- Lines 312-324: Setup.
- lines 326-336: Loop.
- Lines 331 to 354: Action to take based on the button.
- Lines 355-422: Choosing the animation on the LEDs.
- lines 425-433: Routine end.
The tab button used primarily for the debounce and tracking events, you normally need to change anything in it.
It only remains to connect the Arduino UNO with Jewel85 as for TinyJewel85:
Then send the code on the Jewel85 as with TinyJewel85:
You now know how to change the animations displayed by LEDs and he'll just have fun making your own jewel...
@ Soon Anders
Comments