Arduino Based DED for Falcon BMS. Project Blog: http://pits.108vfs.org
- an Arduino or compatible board:
- Arduino Uno (or compatible)
- Arduino Micro (or compatible)
- Arduino Due (or compatible)
- all similar Arduino/Arduino-like variations (Mega/leonardo/pro Micro) will require code to be adjusted
- For DED/PFL: One 2.8" or 3.2" 256*64 OLED display (yellow or green), SSD1322 based
- BuyDisplay 2.8" yellow on black oled
- BuyDisplay 3.2" green on black oled
- other screens may be also compatible (as long as they are SSD1322 based) - but may require different wiring.
- 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:
- PCF8574 8-bit I2C I/O Expander - for Indexers
- MCP23017 16-bit I2C I/O Expander - optional 16 bit extender (useful for caution panel and other things)
- 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)
- Legacy SPI lights are using 74HC595 Shift Register - you can find them on ebay as well.
- Arduino IDE
- Windows Vista and up with .net 4.5 installed (XP does not support .net4.5 and I've not tested the supplied connector app with .net4.0)
- Falcon BMS 4.32+
- Download and install the Arduino IDE (if not already installed)
- Download the Arduino code
- In the Arduino IDE - "Add library" choose "U8glib_DEDuino" it's standard U8glib 1.18.1 with 16BIT support enabled (required for the large displays)
- In "config.h" and uncomment the correct define for your arduino version (Uno, Micro or Due).
- In "config.h" 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.
- 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)
- 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.
- Displays:
- DED - Tier 1
- FFI - Tier 1
- PFD - Tier 1 (disabled by default due to performance considuration)
- Lights:
- 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.
- When using SPI for driving multiple light arrays, there are issues including freezes, wrongly timed blinks and all sort of wierd shananigans. That is way, I2C is now the primary, prefered protocol for driving lights. SPI support will not be extended, and only retained for comptability.
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.
While the project is OpenSource. Currently I'm holding back the source code for the PC connector application. That is done because The code is a mess, I need to properly document it before I release it. Hopfully sometime this year. Nothing secret about it, promise :)