At the beginningAs a juggler, I first used commercial programmable glowing club. But I encountered some limits : no multi platform, no radio communication, no flexibility, no 9-Axis, but above all no possible communication with developers to improve clubs.
Also I realized that it would be more fun and effective to make my own hardware : the clubs of my dreams ! or almost :),
I called them Rastello Club ( a glance at the famous Enrico Rastelli ).
- It should be open source, multi platform and easy to contribute.
- It should meet the requirement of a professional juggler. and at least mine :).
- it could be used by a community of users (all level of programmers), by flashing the adapted firmware.
To begin I will focus on 4 firmwares ( maybe the 1 & 2 can be merged) :
- You can select pre programmed sequences.
- The use of a simple grammar to allow you make your own program.
- Implement micro python, and let the user be free to deal with Python power.
- It is not really a firmware but a C-Api with drivers already implemented. Demanding developers would feel totally free to use them or bare metal program.
You maybe wonder :
Why did I choose a RFM75 2.4GHz radio module and not Bluetooth ?
Because most of the time Bluetooth is used in a piconet and a master can communicate with a maximum of seven devices. The other solution ( scatternets) is less documented for a juggler who doesn't know very well Bluetooth. Also the data rate of Bluetooth low energy is 1 Mbit/s ( according to wikipedia ) while my little, low-cost radio module is supposed to go up to 2 Mbit/s.
So why not Zigbee solution ?
I like XBee module and I often use it when I need to implement quickly a wireless communication. But finding a very small module that could hold on my thin pcb was difficult, and all the more as I looking for a cheap one ! So quickly, I abandoned this idea.
And a WiFi module ?
I think this could be a good idea, mainly because of the famous ESP8266. It's really cheap and exists in versions that were small enough. Moreover, it seemed that the community had done a remarkable job. In terms of data rate, I couldn't find any information. According to a guy on IRC, it would be better than radio modules he used. The wrong side for our application is that it uses much more current. Finally, I preferred keeping the RFM75, but kept the ESP8266 in the back of my mind, in case there would be no more solution. It would be also possible to replace the ARM cortex M by the ESP8266, but for this project, I prefer a mature, well documented, and comfortable microcontroller.
A note on the Raspberry pi bridge and softwares
This page focuses on the hardware, so I'll not go into details, but I must talk a little about the bridge and soft. As we use a radio module in the club, we can't communicate directly with a smartphone, a tablet or a computer without adding a radio transceiver too. But smartphones, tablets and computers can easily use WIFI or Ethernet. For this task, I used a Raspberry Pi, with Ethernet and a USB WIFI dongle ( for now it suits me), who acts as a bridge between WIFI / Ethernet and 2.4GHz Radio. Thanks to freakone, I could quickly have communications with a smartphone, and have a minimal web app in Node.js ( also a little of python for the UDP/TCP server) to change club's colors.
Nodes.js, HTML5... allows having easily a multi platform solution accessible in a simple browser. I think this is a perfect solution to make an app with configuration tools, survival tools and daily tools.
However, I don't intend to make "the big one" app ( with GUI, multitrack, audio... ) as a web app, for 2 reasons :
- I was not very much experienced in HTML5 and would be more efficient with QT / C++.
- the aim of the application is not to be used on a smartphone.
I have already started a preparatory work with QT5 and C++, but I remain open in case a HTML5 ninja would join the project. But it would be also cool, to have other applications...Read more »