The day is finally here!
I’ve decided to release the project with all the issues I’ve found and could not fix – in hope that someone will be able to look at the code and schematics and help me hunt down the issues.
You can download the code from the Download Page
And also available on github:
I hope this initial release would be a stepping stone for things to come! thank you all!
Arduino Based DED for Falcon BMS
- an Arduino or compatible board:
- Arduino Uno (or compatible)
- Arduino Micro (or compatible)
- all other arduino types (mega/leonardo/Due) will require code to be adjusted
- For DED/PFL: One 2.8″ 256*64 OLED display, SSD1322 based
- BuyDisplay 2.8″ yello on black oled
- other screens may be also compatible – but may require code edit
- For FFI: one 1.3″ 128*64 OLED white on black. SSD1306 or SH1106 based
- Adafruit 1.3″ 128*64 OLED
- Generic 1.3″ OLED (off the internet), will do fine as long as it’s of one of the supported chipsets.
- Other displays might be also compatible – but may require code edit
- For Indexers/Caution panel:
- 74HC595 Shift Register – can be also generic from ebay
- LEDs of your choosing (If using attached PCB design unmodified – 5mm pirahna leds are used)
- Resistors (220-330 ohm reesistors would be a good place to start)
- Arduino IDE
- Windows Vista and up with .net 4.5 installed (XP does not suppoer .net4.5 and I’ve not tested the supplied connector app with .net4.0)
- Falcon BMS 4.32+
How to use:
- Download and install the Arduino IDE (if not already installed)
- Download the Arduino code – uncomment the correct define for your arduino version (Uno, Micro or Due).
- In the Arduino IDE – “Add library” choose “U8glib_DEDuino” it’s standard U8glib 1.16 with 16BIT support enabled (required for the large displays)
- Uncomment the define statements for the periferials you want to use. please note that adding both DED and PFL may have an impact on performace.
- Advanced – If needed modify the loop function (for PFD only configuration for example).
- Wire prereferials according the the pinout in the code. Please pay attention to the SCK and MOSI pins and the latchpins
- Upload code to your Arduino.
- Download the DEDuino Windows app and place it in a folder of your choosing (no installation required)
running the project:
- launch DEDuino App
- Select proper COM port for the arduino to be used and hit “Start”
- Once connected – WIndows app will indicate connected status and all displays and leds should be blanked except for FFI screen that will show “00000”.
- Launch Falcon BMS – As soon as you enter the cockpit, all the instruments connected should display acording to the pit.
- DED – Tier 1
- FFI – Tier 1
- PFD – Tier 1 (disabled by default due to performance considuration)
- Indexers – Tier 1
- Caution Panel – Tier 1 (Disabled by default due to performance consideration)
- Future supported instruments:
- Glareshield lighs – TBD
- Threat Warning Prime – TBD
- CMDS – via OLED screen, TBD
- Activating more the one large res display (DED/PFD) will cause performace degradation. Activating more then two might cause noticable lag without further optimization to Arduino code (not yet implemented).
- “lamp test” might not work properly for Caution panel is some scenarios.
- Lights have some issues with the Due – I’m still debugging, but it’s electrical thing, maybe too low voltage on the latch pin for the shift registers.
- currently there is an issue with Micro/Due in using tow shift registers, with two screens, SPI freezes, again, it’s an electrical thing I’m currently debugging.
In the PCB folder you would find Eagle files and PDFs with schematics and board drawings. These are the boards I’m working with. You can make them yourself by hand soldering the connectors (see schematics) or source them out to production. All boards were edited using the Free version of Eagle (version 7).
In the “enclosure” folders you’ll find some stractual stuff, like the foamboard DED box.