Skip to the content
PCBKitNew board
2 layers56.5 × 74 mmAscom flat panel, the printed circuit board in 3D

Open source ASCOM and INDI driven automated flat panel for astrophotography

Size
56.5 × 74 mm
Copper layers
2
Thickness
1.6 mm
Parts
17
Nets
32
Pads
68
Tracks, vias
64, 0
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
24 Mar 2025
Updated
7 Sep 2026

Overview

Ascom flat panel is an open-source printed circuit board by letelescope, from the letelescope/ascom-flat-panel repository on GitHub, published under the MIT licence. It is a 2-layer board of 56.5 × 74 mm with 17 parts on 32 nets, routed with 64 tracks and 0 vias.

It is built around the TLC272CD, IRLZ34N and TIP120. Its parts include 4 resistors, 3 ICs, 2 capacitors, 2 diodes and 2 transistors.

Main components

3

README

README.md

Le Telescope Flat Panel

Website GitHub release Licence ASCOM plateform designed with FreeCAD routed with KiCAD Build with PlatformIO Arduino No Maintenance Intended

Open source ASCOM and INDI driven automated flat panel for astrophotography.

⚠ DISCLAIMER
This project is still very much work in progress. None of it is likely/expected to work at this stage !


Introduction

This project is an open source initiative, under the MIT license, by Le Telescope. This is the v2 of a fully automated and drivable motorized flat panel/dust cap. The device is nicknamed FFFP. Don't ask why! If you still want to know, see the misc. section of this readme.

This project should contain all you need to build your own ASCOM and/or INDI driven Flat Panel.

  • firmware: Firware of the programble chip used to control the panel and its cover
  • drivers: Implementation of the drivers
    • ASCOM : Implementation of the ASCOM driver
    • INDI : Implementation of the INDI driver
  • electronics: Electronic schematics and PCB layouts
  • models: 3D models for the plat cap
  • specifications: Specifications of the project. Mainly the specs of the communication protocol between the drivers and the firmware.

This project, the protocol, the implementation of both the ASCOM driver and the firmware, the electronics and the 3D models are heavily inspired by the the work of Dark Sky Geek. And more precisely:

Kudos to him.

The Pulse Width Modulation (PWM), used to control the panel brightness, implementation is heavily inspired, or more accurately shamelessly ripped, from the work of Khoih Hoang and more precisely SAMD_PWM.

Kudos to him too.

Finally te INDI driver architecture follows very closely the official Gemini Flat Panel as well as teh Flip Flat implemtentations.


Construction

Why a "motorized flat panel" ? And what do we mean by "motorized flat panel" ?

In this scenario a flat panel is made of two things

  • A light panel with variable brightness
  • A motorized cover

The cover is motorized using a servo motor and held in open/close positions using simple magnets. The lightpanel is made

  • either using LEDs and the variable brightness is achieved via pulse width modulation (PWM).
  • or eusing a EL panel and the variable brightness is achived usi a DAC (Digital to Analog Converter) coupled to an OA (Operation Amplifier) in non-inverting amplifier mode.

This "electronico-mechanical" assembly is controlled via a SAMD21 based board with a custom firmware within a custom PCB. The SAMD21 is particullarly suited because:

  • it can output 5V, that is needed to power the servo.
  • it can output +3V3 and allow us to choose between 3V and 5V to power the LEDs.
  • it has 16 bits timer counters necessary to achieve fast PWM. We do not want flickering flats...
  • it has a real DAC output pin to alow "easy" dimming of a flat panel.

One can connect and send commands to the flat-panel using Serial (COM Port) over USB. When plugged in the device will be recognized by windows/linux as a COM device.

Finally this is driven by ASCOM/INDI, such that one can fully automate taking flats following the acquisition sessions of our beloved night sky targets.

⚠ DISCLAIMER
This project is built around the Seeeduino XIAO board that uses the ATSAMD21G18A-MU chip. This is the only board that we tested. This may work on other boards that uses these SAMD21 chips, but this may need some rework on the firware, the PCB layout and the mechanical assembly.

Now that we have the big picture let's get real and build the thing !

[INSERT HERE SOME PHOTOS]

Pre-requisites

Very few pre-requisites are necessary in order to build the flat panel. More precisely one will need to:

  • have access to a 3D printer, to print the mechanical assembly parts
  • have some soldering skills and a soldering kit, to solder the components to the custom PCB
  • install PlateformIO, to upload the firmware
  • love "diy-ing", because you may need to want/need to tweaks things a bit to make it work in your setup.

And that's it ! For instance you won't need software developpement skills as both the driver and the firmware are usable as is. Moreover, the ASCOM driver installer is already pre-compiled and made available to the download. Unfortunaltely one cannot make an "installer" for the arduino firware. Yet using PlaterfomIO to upload the firmware is a matter of three clicks.

We chose PlatformIO instead of ArduinoIDE due to recent concerns about Arduino's Open Source commitment under Qualcomm, and ,icing on the cake, PlatformIO provides superior dependency and library management.

Bill of material

[TODO] ADD BILL OF MATERIAL

Get a coherent version.

We heavily use the git version control "tags" to label released versions. We also leverage the "GitHub releases" that add the possibility to pin "binaries" (ie anything we want PCB layouts, Driver installers, mechanincal assembly 3D printer files,...) on "tagged" versions.

When we deem a version is "usable" we tag it, ie we freeze this repository at a particular "commit", and create a release out of it.

To access the various releases just got the releases page of this repository.

Access the releases

And choose the release you want. The latest should be the "better".

Access the content of a release

We recommend that you use one of these released version as they are coherent and tested. Be careful some release are labelled "pre-release" and should be used with caution. Those are developpement, beta and alpha version. Use it at you own risk like all the material on this repository. But even more in this case :D.

In the same spirit, we do not recommend you use the "head" of the main branch (or any other branch) of this repository as this is work in progress and hence is not guaranteed to be stable or even usable...

If you already have an FFFPV1, please note that both drivers and firmware should be backward compatible. You can use the latest version of both the ASCOM driver with your FFFPV1 without any issue and vice-versa: upload the new firmware on your FFFPV1 device and still use the legacy v1 driver. Yet we recommend you use the latest version of the driver, the firmware, the electronic circuit and the assembly as they all have been improved coherently.

Electronic circuit

We provide three options for the electronic circuit. The difference is made on wether you want to use a led panel or a EL panel (You may not have the choice, as LED panels are restricted to smaller diameters).

EL Panel option

This is certainely the "go to" solution, as this allows for a slicker and ligther mechanical assembly. Ans the electronics are not that much more difficut.

  • The The Pin "AO" (DAC) of the Seeeduino XIAO is used to control the LED brightness:
    • Is is directly connected to the non-invervint pin of ta TLC272 Op.Amp. The Ration of R1/R2 controls the amplifying contant (R = 1 + R1/R2)
    • The output of the TLC272 is connected to the base of a darlington transistor. Such that more current can flow to the EL Driver without worring too much about the life expectency of the TLC272
    • The +12v needed for the Op Amp and the Driver is obtained using a DC/DC regulator

⚠ WARNING
The choice of Pin AO for DAC is not random. This is the only one on the Seeeduino XIAO (and SAM-D21 chips) capable to produce proper DAC. Please see.

  • The Pins "5,6,7" of the Seeeduino XIAO are used for power control, position control and servo feedback:

    • Power control is connected, via a voltage divider bridge, to the gate of a IRLZ34N MOSFET.
    • Feedback is directly connected to the feedback pin of the servo.
    • Position control is directly connected to the position control pin of the servo.
  • Servo VCC and Servo ground are decoupled using diodes.

  • +12V and +5V are decoupled from ground using 10μF capacitors. It acts both as

    • an energy storage for a stable +5V/+12V output.
    • a "wire" for very high frequency spurious oscillations and effectively ground them.
LED Panel schematics

This should be the go solution for most setups. Yet if you setup si particularly slow you may want to check the led versions.

Here is the schematics for this option

Circuit with EL panel

LED panel option

There are two options regarding the tension value used to power the LEDs: either +3V3 or +5V. But appart from that the two circuits share the same principles:

  • The Pin "8" of the Seeeduino XIAO is used to control the LED brightness:
    • It is connected, via a voltage divider bridge, to the gate of a IRLZ34N MOSFET.
    • The "+"terminal of the LEDs (strip or panel) is plugged to the constant +3V3 (or +5V) output of the Seeeduino
    • The "-" terminal of the LEDs (strip or panel) is connected to the drain of the IRLZ34N MOSFET.
    • The source of the MOSFET is grounded.
    • High frenquency PWM is used to swich rapidly ON and OFF the MOSFET, and allow to control the effective tension applied to the LEDs.

⚠ WARNING
The choice of Pin 8 for PWM is not random. Not all pins of Seeeduino XIAO (and SAM-D21 chips) are capable to produce high frequency PWM. That's possible with Pin 8 because it use timer counter TCC1 which is 16bits. And If you want to choose another pin please check the documentation first.

  • The Pins "5,6,7" of the Seeeduino XIAO are used for power control, position control and servo feedback:

    • Power control is connected, via a voltage divider bridge, to the gate of a IRLZ34N MOSFET.
    • Feedback is directly connected to the feedback pin of the servo.
    • Position control is directly connected to the position control pin of the servo.
  • Servo VCC and Servo ground are decoupled using diodes.

  • +5V (and +3V3 if needed) are decoupled from ground using 10μF capacitors. It acts both as

    • an energy storage for a stable +5V/+3V3 output.
    • a "wire" for very high frequency spurious oscillations and effectively ground them.
The +3V3 output for LEDs

This is best suited for small refractors using fewer LEDs and/or fast optics.

Here is the schematics for this option

Circuit with +3V3 output for LEDs

The +5V output for LEDs

This is best suited for bigger tubes using a larger number of LEDs drawing more current.

Circuit with +5V output for LEDs

Cicruit layout breadbord validation

We recommend you prototype the circuit using breadbords first.

  • This can help you choose between the +5V and +3V3 version. A quick "hint", don't go for to bright ouputs for LEDs as a very bright panel is in fact not really needed when taking flats. Especially with fast optics.
  • This allows to check each component/part of the circuit independently. It's always better to find a faulty component before it is soldered on a PCB.
  • It's always fun to prototype.

Here is and example of what the "+5V" circuit may look like on a breadbord.

+5V circuit breadboard prototype.

Printed Circuit Board

We had our PCBs printed by PCBWay. If you do not modify the PCB layout and want to have it printed by PCBWay, you can just download one of the provided zip files that are pinned to the release (fffpv1-electronics-5V-LEDs-pcbway-files.zip or fffpv1-electronics-3V-LEDs-pcbway-files.zip, depending if you intend to use the +5V or +3V3 version).

If you want to modify the PCB layout, you have two options depending on the company you chose to print your PCB :

  • If you chose PCBWay, just run a "Desing Rules Check" after your modifications are done to make sure there is no error (there may be warnings, but who cares about warnings ?). The PCBWay design rules are associated to the KiCAD project (they are implemented in the ascom-flat-panel.kicad_dru file). From here you can generate the fabrication files using the KiCAD interface and following the recommandations explained on the PCBWay website, OR you can simply install the PCBWay plugin for KiCAD, which will do the job for you in one click, and will drive you to the PCBWay website to complete your order (yes, we live in a fantastic era).
  • If you chose another company, make sure their design rules are implemented to the KiCAD project. Depending on the company, you may find them in tables on the company's website and implement them using the KiCAD interface, or they can provide a .kicad_dru file you can use instead of the one we provide. Then perform a "Desing Rules Check" to check your modifications. Then you can generate the fabrication files using the KiCAD interface and following the recommandations provided by your supplier, or you can find out if there is a KiCAD plugin to do the job. Some suppliers will just take your KiCAD project and do all of this by their own, leaving you with basically nothing to do but creating an account and uploading your project (and pay, of course).
Firmware upload
Pre-requisite

The firmware needs to be uploaded using Visual Studio Code/PlateformIO . PlateformIO setup section of this documentation to set it.

Upload the firware
  1. Open the firmware project from Visula Strudio Code/Plateform-IO.

  2. Connect the board via US.

  3. Select the board.

  4. Click the "arrow" at the bottom to compile and upload the firmware on the board.

The output should look something like:

Arduino IDE firmware upload

Firmware checks

Once the firware is uploaded, do not disconnect the board yet. Still from the Arduino IDE open the "Serial Monitor". Once connected, in the console type:

console
COMMAND:PING

the board should answer

console
RESULT:PONG

Congrats! The Seeeduino is ready to act as your flat panel controller !

Mechanical Assembly

Moving on to the actual print and build of the assembly.

Prints from pre-designed assemblies

This repository (and therefore the tagged release version) contains a fully fonctional model. This is made to fit an Askar SQA-55 and uses premade 100mm led panel. It also feature an adapter to fit an Askar 71F.

"Ready to print" STL files are also pinned to the release. Just download the fffpv1-100mm_led_pan_diam_stl.zip archive, unzip it. The archiver files are organized within two folders "Black" and "White". Files in he "black" repository can be printed in the color of your choice, but the one in the "white" folder should be printed using white PLA for better performance. This is especially true for the "spacer/diffuser" that, as its name suggests, helps homogenise the illumination of the panel.

Modification of pre-designed assemblies
Manufacturing sequence
Calibration of servo motor

⚠ WARNING The firmware needs to be calibrated.

At first boot the LEDs will flash to indicate that it needs to be calibrated.

⚠ WARNING Disconnect the servo from the mecanical assembly before launching the calibration procedure.

Then from the IDE connect to the board and using the Arduino serial monitor send (type) the "command"

console
COMMAND:COVER_CALIBRATION_RUN

The device should perform its calibration procedure and reply with

console
RESULT:COVER_CALIBRATION_RUN@OK

Once it has completed, re-attach the right arm to the servo. The device is now ready to be used.

ASCOM Driver Install

You can either used the installer to install the ASCOM driver or build it from source. For the sake of simplicity we recommend using the installer.

Pre-compiled installer

The installer is pined on each release releases page.

  1. From the wanted release, download the file "FFFP_Setup.exe".

  2. "Double-click" on the downloaded file to launch it.

    ⚠ WARNING Windows will warn that the publisher is unknown. This is perfectly fine. As buying a verified signing key, is definitely not a priority for us, we could not sign the installer. Yet this is perfectly safe to use it.

  3. Follow the instruction to install and register the driver.

Congrats! You just installed the driver !

driver install

Build from sources

To build it from source please check the relevant section of the "developpement documentation".

Driver validation

Once install is complete, one can use the ASCOM profile explorer tool to check that this was installed properly. From the ASCOM profile explorer check that the ASCOM CoverCalibrator Drvier for Le Telescope FFFP is listed in the Cover Calibrators.

ASCOM  CoverCalibrator Drvier for Le Telescope FFFP

INDI Driver

⚠ WARNING INDO driver is NOT functional DO NOT USE IT.


Testing

To avoid mass troubleshooting, one can test each component fairly separately. Below are listed some tests that can be used to validate the setup. Going from "unit test" to big-bang integration tests from your favourite acquisition software.

Firware "unit" testing

Once the firware is uploaded, one should already have tested that the seeduino was responsive. If not, reconnect the board via USB. From the Arduino IDE, open the "Serial Monitor". Once connected, in the console type:

console
COMMAND:PING

the board should answer

console
RESULT:PONG

If that's not the case, please make sure that you uploaded the (correct version of the) firmware firt.

If that is indeed the case, congrats you are ready to test more "interesting" features of the firmware.

Set brightness levels

From the "Serial Monitor", in the console type the following command to adjust the LED panel brightness level:

console
COMMAND:BRIGHTNESS_SET@1024

the board should answer in the console

console
RESULT:BRIGHTNESS_SET@1024

In parallel, if it is connected to the board, the light panel should have been turned on. Feel free to change the value (number after the '@') to adjust the brightness. Max allowed value is 2047 and min value is 0.

Use COMMAND:BRIGHTNESS_RESET to switch off the panel.

Congrats the variable light panel is functionnal.

Open/Close the cover

⚠ WARNING To be able to open/close the panel, the panel should be calibrated first. Check the "mechanical assembly" section for the procedure.

When turned on, the panel should be closed. To open it, from the "Serial Monitor", in the console type the following command:

console
COMMAND:COVER_OPEN

the panel should start moving and the board should answer in the console

console
RESULT:COVER_OPEN@OK

Once open to close it simply type in the consle

console
COMMAND:COVER_CLOSE

the panel should start moving and the board should answer in the console

console
RESULT:COVER_CLOSE@OK

Finally at any given time, to know the status of the mecanical panel type

console
COMMAND:COVER_GET_STATE

the panel should start moving and the board should answer in the console

console
RESULT:COVER_GET@{panel.cover}

where panel.cover is string human readable translation of the current cover state. Possible values are in [OPEN, OPENING, CLOSING,];

Congrats the motorized cover is functionnal.

Driver "unit testing"

After install completion, one should already have used the ASCOM profile explorer tool to check that this was installed properly. If that's not the case from the ASCOM profile explorer check that the ASCOM CoverCalibrator Drvier for Le Telescope FFFP is listed in the Cover Calibrators.

ASCOM CoverCalibrator Drvier for Le Telescope FFFP

  1. Then check that the driver is instiable using the ASCOM diagnostic tools

    a. Select the "Cover Calibrator" device type and elect the "FFPV1 Cover Calibrator"

Cover Calibrator device type

b. Find and configure the "properties" of the driver

Driver properties

b. Connect to the driver. Expect nothing much to happen.

Connect driver

Congrats the driver seems to work as expected !

Connect to the panel from N.I.N.A via ASCOM

Great ! If you read this, at this stage, the firware, the driver and the mecanical assembly should work, or at least one should be confident enough that they are working. Let's make the final test (and the only one relevant in fact). Let's take some flats from N.I.N.A.

Usage

The FFFP should be now be fully usable and drivable from N.I.N.A.

Flat-Panel Connection

Let's connect to the flat panel.

  1. Plug the flat panel to the computer via USB

In the equipment tab, from the flat panel section:

  1. Select the ASCOM CoverCalibrator Drvier for Le Telescope FFFP.

  2. Click the gear icon and select the correct COM Port.

  3. Hit OK to save the configuration. N.I.N.A Flat Panel equipement section

  4. Click the "power" button to connect to the flat panel. N.I.N.A Flat Panel connection

From there you can turn on and off the panel, set the wanted brightness and/or open/close the cover.

N.I.N.A smart flats

Let's now use the N.I.N.A smart flats capabilities to automate flat frames recording.

Auto-exposure
Auto-brightness

Developpement

Principle

In this scenario a flat panel is made of two things

  • A light panel with variable brightness
  • A motorized cover

The firmware updates the state of the flat panel upon instructions of the (ASCOM or INDI) driver. The communication protocol is serial based. The serial connection is established via USB. Here is a a summary of the protocol

  • Both the driver and the flat panel (its firmware) exchange single line messages; ie terminated by '\n'.
  • A message is structured as TYPE:MESSAGE, where TYPE is in "COMMAND, RESULT, ERROR" and MESSAGE is alaphanumerical with spaces and "@"

The driver emmits and the firmware handles the incoming "COMMAND" messages. This kind of message is stuctured as

  • COMMAND:NAME[@ARGS] where NAME is [A-Z_]+ and ARGS may be optional or mandatory and their nature may depend on the command.

The firmware then responds with

  • either a RESULT:CMD_NAME@VALUE if operation succeeded
  • or an ERROR:ERR_MESSAGE@DETAILS if anything went wrong

In a nutshell

text
 -----------------                           ------------
|                 |                         |            |
|      Driver     | COMMAND:CMD_NAME[@ARGS] | Flat Panel |
| (ASCOM or INDI) | --------------------->  | (firmware) |
|                 | <---------------------  |            |
 -----------------  RESULT:CMD_NAME@VALUE    ------------
                            or
                    ERROR:ERR_MESSAGE@DETAILS

More details on this protocol are provided in protocol.md

Softwares developpement and compilations

Seeduino firmware

The firware is entirely buildable and uploadable using the Arduino IDE

Pre-requisites
  • Download and install the Visual Studio Code or the IDE of your choice
  • Download PlatformIO IDE and/or install the PlatformIO extension for Visual Studio Code
  • No need to download and configure the Seeduino XIAO board for PlateformIO as this is already done in the platformio.ini file of the firmware project.
  • No need to download and install the official Adafruit SleepyDog library as this is already done in the platformio.ini. This is used to properly handle disconnection.
Compile and upload the firmware
  1. Using PlateformIO IDE, open the project

  2. Click "PlateformIO: Build" to compile the firmware. The output should be something like

    console
    Processing seeed_xiao (platform: atmelsam; board: seeed_xiao; framework: arduino)
    --------------------------------------------------------------------------------------------------------------------------------------------------
    Verbose mode can be enabled via `-v, --verbose` option
    CONFIGURATION: https://docs.platformio.org/page/boards/atmelsam/seeed_xiao.html
    PLATFORM: Atmel SAM (8.3.0) > Seeeduino XIAO
    HARDWARE: SAMD21G18A 48MHz, 32KB RAM, 256KB Flash
    DEBUG: Current (atmel-ice) External (atmel-ice, blackmagic, jlink)
    PACKAGES:
     - framework-arduino-samd-seeed @ 1.8.5
     - framework-cmsis @ 2.50400.181126 (5.4.0)
     - framework-cmsis-atmel @ 1.2.2
     - toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 20 compatible libraries
    Scanning dependencies...
    Dependency Graph
    |-- Servo @ 1.3.0
    |-- Adafruit SleepyDog Library @ 1.6.5
    |-- FF_Flat_Panel
    |-- FlashStorage @ 0.5.0
    |-- SAMD21_PWM
    Building in release mode
    Compiling .pio\build\seeed_xiao\src\main.cpp.o

    Don't worry to much about the warnings. Those are only warnings and can be safely igonered c.f. arduino forum and adafruit forum .

  3. Connect the Seeeduino and "PlateformIO: Build"to test it

Warning - Firmware calibrarion

The firmware needs to be calibrated. At first boot the leds will flash to indicate that it needs to be calibrated.

WARNING Disconnect the servo from the mecanical assembly before launching the calibration procedure.

Then from the IDE connect to the board and using the Arduino serial monitor send (type) the "command"

console
COMMAND:COVER_CALIBRATION_RUN

The device should perform its calibration procedure and reply with

console
RESULT:COVER_CALIBRATION_RUN@OK

Once it has completed, re-attach the right arm to the servo. The device is now ready to be used.

ASCOM Driver

The ASCOM driver is a C# .Net project that have been first created using the ASCOM 6 Visual Studio 2022 templates. Hence we recommend using Visual Studio 2022 when building it. Feel free to change this procedure to match your tooling.

Pre-requisites
Compile and register the driver
  1. Open the "solution" from Visual Studio 2022

  2. Compile the project using "Ctrl + Shift + B". The result in the console should look something like

    console
    Génération démarrée à 14:12...
    1>------ Début de la génération : Projet : ASCOM_7_Driver, Configuration : Debug Any CPU ------
    1>  ASCOM_6_Driver -> D:\Documents\Perso\Astro\diy\ascom-flat-panel\ASCOM_drivers\ASCOM_7_Driver\bin\Debug\ASCOM.LeTelescopeFFFPV1.exe
    ========== Build : 1 réussite(s), 0 échec(s), 0 à jour, 0 ignorée(s) ==========
    ========== Build s’est terminée à 14:12 et a duré 10,405 secondes ==========
  3. The first time you compile the server you must "register it" on the ASCOM plateform. Open an "elevated" command prompt (with admin priviledges) at the folder where the local server executable is located. Run the local server exe with the /regserver parameter which will create the entry that appears in the ASCOM Chooser.

    console
    .\ASCOM.LeTelescopeFFFP.exe /regserver

    *This registration only needs to be done once.

  4. You can now launch the driver from any ASCOM client, e.g. N.I.N.A or the ASCOM Diagnostic tool

Warning - When used with N.I.N.A

As of N.I.N.A 3.1.HF2, the "ASCOM device instance reference " is not disposed when connection failed. In our setup this may happen if the flat panel is not connected to the PC. In this scenario, the connection will fail, but a "driver process" will hang, waiting for N.I.N.A to dispose of the reference.

NINA doeas not dispose of ASCOM reference

This is a known bug c.f. nina-issue-1378 and ascom developers group thread.

If this happens and some weird side effect happen on reconnection. Just disconnect from the device. Kill the dangling process in the task manager. And reconnect.

Indi driver

The indi driver is in its really early developement phase. It should no be used for anything else but developement.

Pre-requisite
Compile and install the driver

in the indi directory, from VSCode integrated terminal or anyother terminal run

console
mkdir -p build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug ../
make
sudo make install

or

console
./make-install.sh

The output should be something along the lines of:

console
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found INDI: /usr/lib/x86_64-linux-gnu/libindidriver.so;/usr/lib/x86_64-linux-gnu/libindiAlignmentDriver.so (found version "2.1.9")
-- Found NOVA: /usr/lib/x86_64-linux-gnu/libnova.so
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.3")
-- Found GSL: /usr/include (found version "2.7.1")
-- Performing Test COMPATIBLE_FORTIFY_SOURCE
-- Performing Test COMPATIBLE_FORTIFY_SOURCE - Success
-- Configuring done (2.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/florian/documents/diy/ascom-flat-panel/drivers/indi/indi_driver/build
[ 50%] Building CXX object CMakeFiles/indi_letelescope_fffp_flatpanel.dir/indi_letelescope_fffp_flatpanel.cpp.o
[100%] Linking CXX executable indi_letelescope_fffp_flatpanel
[100%] Built target indi_letelescope_fffp_flatpanel

Miscellaneous

  • What is "Le Télescope" ? This a french astronmy club located at Ivry sur Seine in the Paris suburbs. Please see the website for more informations.
  • Why is this panel nicknamed FFFPV1 ? This stands for "Florian Florian Flat Panel v1" based on the name of the two orginal authors.
  • Special thanks to Fabrice Houvet. He was, with his 3D printer of real help when prototyping this flat panel.

Parts

17
QtyValueFootprintReferences
210µFCapacitor_THT:C_Radial_D6.3mm_H11.0mm_P2.50mmC1, C2
2LOGOLOGOG***, G***
11N4007Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD2
11N5819Diode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1
12.2kΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR4
1220ΩResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3
133kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
182kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1
1Conn_01x02Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_VerticalEl Driver
1IRLZ34NPackage_TO_SOT_THT:TO-220-3_VerticalQ2
1ServoConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1TIP120Package_TO_SOT_THT:TO-220-3_VerticalQ1
1TLC272Package_DIP:DIP-8_W7.62mmU1
1XIAO-SAMD21-DIPSEEED_STUDIO:XIAO-SAMD21-DIPU2
1~CustomFootprints:DFR052 DC regulatorU3

Questions

How big is the Ascom flat panel PCB?

It measures 56.5 × 74 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ascom flat panel use?

17 parts, built around the TLC272CD, IRLZ34N and TIP120. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Ascom flat panel KiCad files?

From the letelescope/ascom-flat-panel repository on GitHub, at the commit this page was made from: the board is electronics/fffpv2_el_panel/ascom-flat-panel/ascom-flat-panel.kicad_pcb and its schematic electronics/fffpv1-3V-LEDs/ascom-flat-panel/ascom-flat-panel.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ascom flat panel design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

More from letelescope/ascom-flat-panel

1
  • 2 layers56 × 32 mmAscom flat panel, the printed circuit board in 3D

    Ascom flat panel

    letelescope/ascom-flat-panel

    Open source ASCOM and INDI driven automated flat panel for astrophotography

    15 parts2MIT

Similar boards

  • 2 layers85 × 61 mmGBDSO, the printed circuit board in 3D

    GBDSO

    pyroesp/GBDSO

    Game Boy DSO Project revived in KiCad

    78 parts79
  • 2 layers200 × 87.8 mmSonus7 rev1, the printed circuit board in 3D

    Sonus7 rev1

    BasementCircuits/Sonus7

    Analog seven-band spectrum bargraph with op amps.

    263 parts6
  • 2 layers52.3 × 51.8 mmReBlast, the printed circuit board in 3D

    ReBlast

    SukkoPera/ReBlast

    8-Bit DAC/ADC Add-On for Commodore 16/Plus4 SIDcards

    27 parts6
  • 2 layers92.5 × 99.7 mmOpamp vu meter, the printed circuit board in 3D

    Opamp vu meter

    CASE-Association/christmas-cards

    All CASE christmas cards over the years

    48 parts3GPL-3.0
  • 2 layers50 × 40.9 mmGR ATTiny LFO, the printed circuit board in 3D

    GR ATTiny LFO

    GadgetReboot/ATTiny_LFO

    Dual low frequency oscillators using ATTiny and MCP4725 DACs

    36 parts3
  • 2 layers43.5 × 46.9 mmSchaltplan Ultraschallsensor, the printed circuit board in 3D

    Schaltplan Ultraschallsensor

    Tinkerforge/distance-us-v2-bricklet-techniker

    This repository contains the firmware source code and the hardware design files. The documentation generator configs can be found at https://github.com/Tinkerforge/generators

    54 parts2
  • 2 layers85 × 56.5 mmMotherboard, the printed circuit board in 3D

    Motherboard

    BryggansBryggeri/electrical

    Electronics, hardware schematics

    34 parts1
  • 4 layers54.5 × 80 mmElectronicload, the printed circuit board in 3D

    Electronicload

    GM4AJK/electronicload

    Electronic Load

    64 parts1