Jump to content

Blaster electronics: FX-BlasterOS goes open-source


Recommended Posts

Hi fellow 501st Legion members,

 

After nearly 3 years of development and refinement of the hardware and the code, I'm happy to announce that the currently most advanced blaster firmware

FX-BlasterOS

(previously known as Proto Blaster Platform) goes open-source, freely downloadable for anyone.

 

AOwsqIam.jpg

 

To get an impression of the features you can implement now for free, look at the Intro Video on YouTube. For Easter Eggs, make sure you watch it till the end :):

FX-BlasterOS Intro Video

 

 

With the software going open-source, you have multiple choices too to build your blaster electronics:

Tier1: if you want a high-quality, proven solution which optimally supports all features of FX-BlasterOS, follow the below link:

You advantage:

- proven, tested

- small enough to fit into any blaster

- you can charge your Li-Ion battery over USB

- comes with extensive power saving options for a sleep mode which can sustain your prop for several months on the shelf

- comes already pre-installed with full version of FX-BlasterOS

 

87qSQg5.jpg

 

 

 

 

 

 

Tier2: you can stick together your own electronics from cheap parts, look how easy it is using Arduino boards and breakouts (see also the Shoping list below for details):

BlQBVSo.png

To ease programming for those who are not (yet) familier with Arduino, there are detailed working instructions how to do it on the Wiki Page of the Git. In case of anz trouble of technical support request, use the Issue tab of the Git.

 

There is also the possibility to source a carrier board for the cheap components, hugely simplifying the task of soldering and making the electronics more reliable. You can use skyone's excellent rider board which can be used with components compatible with FX-BlasterOS.

https://www.whitearmor.net/forum/topic/19322-arduino-a-cheap-board-for-e11-blaster-effects/?do=findComment&comment=646230

 

Shopping List

Here is also a shopping list for you of components you will need:

 

Arduino Board: Arduino Nano (actually any Atmega328P based board, wiring examples will be shown for the Nano):

ebay search term: Arduino Nano v3

https://www.ebay.de/itm/Nano-V3-0-ATmega-328-Board-CH340-USB-Chip-Arduino-Kompatibel/252742123829?hash=item3ad89ac135:g:xCEAAOSwPGtb33e0:rk:1:pf:0

 

DFPlayer Mini:

ebay search term: "DFPlayer mini". Please ask the seller if the module comes with the original manufacturer's YX5200-24SS or YX6300-24SS chipset. You will also want to have a 470 Ohm thru hole resistor to connect the D8 of the Nano to the RX of the DFPlayer.

https://www.ebay.de/itm/TF-Card-U-Disk-Mini-MP3-Player-Audio-Voice-Modul-Arduino-DFPlayer-Tafel-AIP/153290978607?hash=item23b0dab52f:g:uewAAOSwP6pbtdXJ:rk:1:pf:0

 

Speaker: recommended are

OD: 20mm or 28mm
Impedance: 8Ohm
Power: 1W to 2W
ebay search term: "20mm 2W 8Ohm speaker"
Examples:
https://www.ebay.de/itm/2pc-Audio-Speaker-20mm-8Ohm-8-2W-Stereo-Woofer-Trumpet-Horn-Loudspeaker-Power/162171125788?hash=item25c227001c:g:WRgAAOSwMtxXsvaV:rk:1:pf:0
https://www.ebay.de/itm/28mm-8-Ohm-2W-Round-Speaker-For-DCC-Sound-Like-Loksound-Hornby-Bachmann-Zimo/263578226658?hash=item3d5e7c8fe2:g:BToAAOSwm-Zavo6p:rk:2:pf:0

 

Neopixel Sticks (for PLI/Status bar):
ebay search term: "WS2812 stick"
https://www.ebay.de/itm/Adafruit-NeoPixel-Stick-8-x-WS2812-5050-RGB-LED-Strip-Driver-for-Arduino-r3/272010992457?hash=item3f551e5b49:g:7YMAAOSw7aBVBxRo:rk:7:pf:0
Important: type shall be WS2812/WS2812B 5050 RGB (not RGBW!!!) or sk6218 3535 RGB (not RGBW!!!)

 

Single neopixel on round PCB (for nozzle light):
ebay search term: "neopixel flora"
https://www.ebay.de/itm/Adafruit-Flora-RGB-Smart-NeoPixel-version-2-Pack-of-4-ADA1260/231237003534?epid=1028248696&hash=item35d6cca90e:g:LGoAAOSwNC5ZezSY:rk:6:pf:0
The original design is from Adafruit, please support the development by purchasing Adafruit products. You can also find similar offers on eBay from cheaper sources as well.

 

Neopixel stripes (for barrel ligting):
ebay search term: "WS2812 stripe"
https://www.ebay.de/itm/5m-30-60-144-RGB-LED-Streifen-Stripe-mit-WS2812B-5050-SMD-LEDs-WS2812-Versand-DE/222192610445?hash=item33bbb62c8d:m:mR_Pz7NGzDUQhwH1s-6BFvg:rk:1:pf:0
Important: type shall be WS2812/WS2812B 5050 RGB (not RGBW!!!) or sk6218 3535 RGB (not RGBW!!!). As most blaster props are black it is recommended to buy a non-waterproof, 60LED/m type of pixel stripe.
The striper are soldered together every 0.5m, but you can shorten the stripes easily to any lenght using scrissors, cutting the stripe at the copper landings.

 

Momentary Switch:
ebay search term: "momentary switch" or "tactile switch"
You will need a single momentary (not latching!!!) swicth for the MK1, MK2 and MK3 builds, two for MK4 and MK5.
For the trigger it is recommended to use a switch with a long arm like this one:
https://www.ebay.de/itm/Mikroschalter-Mikrotaster-mit-langem-Hebel-250V-3A-125V-5A-S67/330793297018?epid=1154680769&hash=item4d04d1247a:g:8EgAAMXQlrxRcPJ9:rk:1:pf:0
For the mode select, aux. switch you can take the momentary switch of your choice, they come in an infinite variety, take the one which suits your needs. I myself like these small ones:
https://www.ebay.de/itm/6mm-x-6mm-Tactile-Push-Button-Switch-Micro-Momentary-Tact-Assortment-Kit-TE948/283285172378?hash=item41f51cb09a:g:SjoAAOSwo-VcAmNI:rk:9:pf:0

 

OLED Display with 128x32 resolution with I2C interface:
ebay search term: "OLED 128*32" I2C"
https://www.ebay.de/itm/0-91-128x32-IIC-I2C-Blue-OLED-Display-DIY-Module-DC3-3V-5V-128-32-Arduino/322536659354?hash=item4b18aed99a:g:ag8AAOSwK6RZLbR9:rk:5:pf:0

or for the scope a smaller one of type "OLED 64x48 I2C"

https://www.ebay.de/itm/4pin-White-0-66-Screen-IIC-I2C-0-66in-OLED-Display-Module-64x48-for-AVR-STM32/272861748083?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

 

Connectors for switches, speaker etc.:
ebay search term: "micro JST 2-pin"
For 2-wire connections like for switches, speaker, I recommend micro JST connectors with 1.25mm pitch:
https://www.ebay.de/itm/5-Paar-2Pin-1-25-1-25mm-1-25mm-GH-Micro-JST-Stecker-Buchse-10cm-28AWG-Kabel-RC/172626910637?hash=item28315d9dad:g:XHsAAOSwux5YTaEB:rk:3:pf:0

 

2.1mm recharge port:
https://www.ebay.de/itm/DC-Einbaubuchse-Stift-2-1-mm-geschlossene-Bauart-Lotanschlus-fur-Hohlstecker/141127499530?hash=item20dbdabf0a:g:4mIAAOSww~xZ1KXj:rk:9:pf:0

 

Micro- and/or Mini-USB breakout boards:
ebay search term: "micro USB breakout" or "mini USB breakout"
https://www.ebay.de/itm/Micro-USB-Platine-Adapter-fur-Breadboard-DIP-DIL-Breakout-Board-Arduino/183233499430?hash=item2aa9915126:g:kywAAOSwm8NbAIfU:rk:6:pf:0
https://www.ebay.de/itm/Adafruit-USB-Mini-B-Breakout-Board/272373312981?epid=1663565126&hash=item3f6ab6edd5:g:8BYAAOSwIIFbML51:rk:3:pf:0
 

Edited by RankAndFileTrooper
  • Like 7
Link to comment
Share on other sites

Added a link to skyone`s excellent FX Blaster Easy Assembly Kit v1.1, which is an option for a cheap but reliable build (Tier2). The used parts are compatible with FX-BlasterOS.

Here is the link again for your reference: https://www.whitearmor.net/forum/topic/19322-arduino-a-cheap-board-for-e11-blaster-effects/?do=findComment&comment=646230

Link to comment
Share on other sites

  • 2 months later...

I've got feedback from many troopers expressing their gratitude for providing this piece of system code open source and free of charge, thanks guys for your kind words! If you have pictures and videos, do not hold them back, let's see those blasters blazing!

 

There is also one recurring issue which can cause the sounds to be jumbled. Therefore for all future users: when you copy the sound files to your SD-card, after properly formatting your SD-card, drag and drop the whole Sounds folder (https://github.com/Protonerd/FX-BlasterOS/tree/master/Sounds) instead of the individual sub-folders one by one.

Edited by RankAndFileTrooper
Link to comment
Share on other sites

  • 7 months later...

The FX-BlasterOS story goes on. I've been working on a full feature firmware including improved scope and status bar OLED display animation, idle mode status bar LED animation and for those facing droid problems, the new electrocute droid killer FX:

 

 

 

  • Like 2
Link to comment
Share on other sites

  • 5 weeks later...
31 minutes ago, likemike973 said:

I just ordered the components. I can’t wait to make it. I have been coding with Arduino boards for awhile I didn’t realize I could add it my blaster build. Thanks!

Good luck with your build and do share pics and videos of your progress for the other to enjoy! If you have any question, drop me a PN, glad to help.

  • Like 1
Link to comment
Share on other sites

Great progress on your build! Thanks for sharing the pic with the community.

 

As to your question, there are 3 components involved which are extremely dynamic memory hungry: the OLED displays and the pixel stripes. The Atmega328p controller, which is an easy to source and very popular workhorse all the Arduino projects, has enough memory to serve two of them, but not all three. Therefore only one of the display types can be included in one build. You can of course build a standalone module with an Arduino Nano only to drive the other OLED.

Link to comment
Share on other sites

  • 4 weeks later...
6 hours ago, likemike973 said:

Hello again, the components are coming in. Question on the memory card, I assume a microSD, what size GB would you recommend? Also the battery any 3.7v work? mAh recommendation, and what did you use as a holder?

 

Thanks

You can use even the smallest microSD, which is 2GB, the sound files take less than 20MB in fact. As a supply you need to use a 3.7V Li-Ion, as blasters are not on all the time and the illumination is on only during shots, in terms of capacity I would say go for one which has at least 1000mAh and is small enough to fit into your blaster. I use type 18500 usually. I do not use a holder, and solder the battery directly to the board/stripes or use a 2-wire connector if I want to make it disconnectable.

Link to comment
Share on other sites

  • 2 months later...
The link is in the first post, somewhat hidden behind the title with the big letters
 
I reveal it now without overlazing it with another text: https://github.com/Protonerd/FX-BlasterOS
 
Let me know if you need any assistance or advice!
Many thanks!

Sent from my SM-G950F using Tapatalk

Link to comment
Share on other sites

  • 3 weeks later...

Can you help me with the upload? I try to run the program and get an error. It is a long error, I just copied the first part of it so I don't fill the screen. I copied all the files into the directory, but cannot get it to load. Thanks

 

sketch\fontconvert.c:23:10: fatal error: ft2build.h: No such file or directory

 #include <ft2build.h>

          ^~~~~~~~~~~~

Edited by likemike973
Link to comment
Share on other sites

21 hours ago, likemike973 said:
21 hours ago, likemike973 said:

Can you help me with the upload? I try to run the program and get an error. It is a long error, I just copied the first part of it so I don't fill the screen. I copied all the files into the directory, but cannot get it to load. Thanks

 

sketch\fontconvert.c:23:10: fatal error: ft2build.h: No such file or directory

 #include <ft2build.h>

          ^~~~~~~~~~~~

Can you help me with the upload? I try to run the program and get an error. It is a long error, I just copied the first part of it so I don't fill the screen. I copied all the files into the directory, but cannot get it to load. Thanks

 

sketch\fontconvert.c:23:10: fatal error: ft2build.h: No such file or directory

 #include <ft2build.h>

          ^~~~~~~~~~~~

Hi Mike!

 

It is not widely known on this platform, but I have not only an open-source blaster system but a far bigger one for lightsaber builders, attracting thousands of fans all across the world. It has a big community to back it up and over the years the documentation evolved into near perfection by integrating topics from FAQs into it.

FX-BlasterOS is in fact a branch development from FX-SaberOS. The method to download the code for Arduino and setting up your environment is the same. You can find a quite good description therefore here:

FX-SaberOS Setting up Ardiuno WI

 

Look at it and see if it solves your doubts. If not, feel free to write here, problems you encounter are likely to affect others as well and I would like to eliminate them as they emerge.

 

Good luck!

Link to comment
Share on other sites

Thanks for the additional information. I followed the instructions. I made progress. Now I get an error for a missing file. See below for the error, I searched for the file it is no where with the zip file. Can someone help me locate the file?

 

Arduino: 1.6.7 (Windows 10), Board: "Arduino Nano, ATmega328P"

sketch\Adafruit-GFX-Library-master\fontconvert\fontconvert.c:23:10: fatal error: ft2build.h: No such file or directory

 #include <ft2build.h>

          ^~~~~~~~~~~~

compilation terminated.


 

Link to comment
Share on other sites

On 6/18/2020 at 2:07 AM, likemike973 said:

Thanks for the additional information. I followed the instructions. I made progress. Now I get an error for a missing file. See below for the error, I searched for the file it is no where with the zip file. Can someone help me locate the file?

 

Arduino: 1.6.7 (Windows 10), Board: "Arduino Nano, ATmega328P"

sketch\Adafruit-GFX-Library-master\fontconvert\fontconvert.c:23:10: fatal error: ft2build.h: No such file or directory

 #include <ft2build.h>

          ^~~~~~~~~~~~

compilation terminated.


 

I made on suggestion in GitHib: https://github.com/Protonerd/FX-SaberOS/wiki/Setting-up-Arduino

Hope it helps. If not, please leave a comment there and we will debug it further. I'm committed to solve is, as it might pop up for other users as well. I can confirm that I also do not have that particular file on my development PC and I do not see such an error message. This part of the library is also not strictly speaking necessry for the code to build.

Link to comment
Share on other sites

  • 1 month later...

I took a long hiatus from working on this. Do you have a walk though or video on getting into the settings menu?  I am planning to place this into a Jawa Ion blaster and want to play with the settings.  Or is that all in the code?  Also my speaker makes a static sound when it's booting and sometimes when it's playing a sound. starting to wonder if I have one of those bad music cards

Link to comment
Share on other sites

On 8/2/2020 at 12:27 AM, Hesikaya said:

I took a long hiatus from working on this. Do you have a walk though or video on getting into the settings menu?  I am planning to place this into a Jawa Ion blaster and want to play with the settings.  Or is that all in the code?  Also my speaker makes a static sound when it's booting and sometimes when it's playing a sound. starting to wonder if I have one of those bad music cards

The settings menu - we call it config - can be reached by pressing the trigger/activation switch in Idle Mode (i.e. the blaster is not activated yet) until your hear "Config Mode". So it's all in the code and every key facet of the system can be configured in that menu.

 

As to your troubles with the buzzing speaker, it is well known if you do not hook up a battery or the battery is weak/discharged. Reason is simple: the audio amp is quite powerful and if not enough current is available (and USB alone will not be able to supply enough), the board will go to undervoltage and reset, hence the buzzing.

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

I just finished printing the F11 blaster from T5h and am in post processing/assembly and would like to incororate this kit into it.  My question is what is this part in the schematic? (Tier 2)

 

I plan on using micro limit switches for the button behind the 3d printed triggers, one to change mode, one for fire

 

 

Screen Shot 2020-08-31 at 4.54.51 PM.png

Edited by deputyd0ng
subscribing
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...