This project is the successor of my previous CyBalls project from 2019.
First, the bauble itself is now 3D printed, and from my feeling it looks much better than the previous 'low-cost commercial' plastic version.
Second, a small PCB was desigend to fit directly into the ball, including a BLE controller and one NeoPixel.
Of course, you can mix-up both projects, e.g. using the former 6 pcs LED assembly, what will fit into the new 3D printed ball, and control it by the CyBalls controller circuitry. In this case, you get the new and nicer globes with the more effectful illumination.
Advantage of the new electronics is that each globe works individually and just requiers a simpel 2-wire power cable (instead of the previous 3-wire cable). In case you like to have several balls hanging arround, the first powered ball will act as master, while all later powered balls will follow as slaves the color of the master ball. By this, the balls does not need to share a power unit or controller circuitry, and can be located somewhere in the room - as long as the BLE connection work fine.
3D printed christmas baubleThe bauble consists of two parts, the globe and the cap, both have a thread to be screwed together.
Inside the globe's screw a small terrace allows to hold a round PCB of approx. 24.5mm
ElectronicsA small PCB was designed that can be easily mounted inside the globe's neck. The electronics consists of a Cypress (now belonging to Infineon) BLE controller, CYBLE-022001-01, that belongs to the EZ-BLE™ Creator Module series, and is based on PSoC4BLE. Software can be written by using the PSoC Creator IDE, that was already used by the previous project. This module drives one WS2812 LED (also known as NeoPixel), that is mounted on the other side of the PCB and illuminates the ball. Originally it was planned to have a second LED connected by wires, but this expansion socket J3 is not used now, as the single LED illumination is good enough, and no further light effects can be generated by using a 2nd LED.
The system is powered by 5V, so it can be connected easily by two wires and e.g. a USB connector to a standard phone's power supply. The diode D1 protects agains wrong power polarization.
- Note 1: The used BLE module of type CYBLE-022001-01 can be found on several evaluation kit from Cypress/Infineon. In case you have a heating plate, you can remove it from old kits.
- Note 2: The used BLE module of type CYBLE-022001-01 is already outdated and not well supported anymore by Cypress/Infineon. Neither ModusToolsbox nor PSoC Creator newer than version 4.2 are supporting it. Hence, best to use V4.2!
Partly the software project is similar to the previous one. The new and tricky part, is the BLE communication. After power-on the firmware runs as BLE central device where it scans the BLE channels to find already running CyBall3D systems. If no other ball is found, then it changes to BLE peripheral mode where it starts advertising it's own color so that other balls can find and follow it. Currently the color generation is simply done randomized, but of course user can specify a sequence of colors and related timing, meaning the fading time and length of stay. Once in peripheral mode, it keeps this mode until a new power-on is done.
In case the firmware starts and finds by BLE scanning another CyBall3D advertising, then it stays forever in the BLE central mode, and will listen to the advertising packages including the color and time information for setting its own color to same values.
Please refer to the project code for more details.
DemonstrationSome impression, difficult to capture by photos ...
... or video ...
Open issuesAlthough the idea having a master/slave principle for the communication looks fine on first glance, it's somehow obvious that a wireless communication may be disturbed by noise. In order to synchronize all CyBall3D the advertise package of is only sent twice quickly after a new color is started by the master. Unfortunately it may happen, that a slave may not have got received it, what results in holding the former color until the next valid advertisement is observed. Hence, this kind of synchronization could be improved for future firmware updates. I am thinking about it, and proposals are welcome.
SummaryCyBall3D is a worthy successor to the former project CyBalls. Especially the 3D printed christmas bauble looks pretty much better. The designed PCB gives an alternative to the former controller, but functionality varies so that user have to choose which feaatures may best fit to his illuminaton requirements. Of, course the mini PCB can be used for other simple BLE projects, too, as it is mainly a break-out board of CYBLE-022001-01, allowing to access to all 21 pins, where only one pin is currently hard-wired to just one WS2812B.
Enjoy & Stay safe!
Comments
Please log in or sign up to comment.