Giter Club home page Giter Club logo

bleskomat-diy's Introduction

Bleskomat DIY

The Bleskomat DIY is an offline Bitcoin Lightning Network ATM which accepts coins and pays-out bitcoin. It's a great educational tool to give others a practical first experience with Bitcoin's Lightning Network.

You can buy the Bleskomat DIY kit from the official Bleskomat shop - includes all the parts needed to build the project. Alternatively, you can find all the components and equipment needed from various other sources - see Parts Suppliers.

The Bleskomat DIY must be paired with a server to facilitate Lightning Network payments on its behalf; see the options below:

  • Bleskomat Platform - non-custodial, requires a monthly subscription
  • bleskomat-server - non-custodial, open-source, self-hosted solution
  • lnbits via the Bleskomat extension - open-source, self-hosted and possible to use custodial instances hosted by others; public instances of lnbits:

The rest of this document details the hardware and software requirements, how to build the hardware yourself, and instructions for compiling and uploading the firmware from source.

Requirements

This section includes information about the software and hardware requirements needed to build this project.

Hardware Requirements

Basic components/equipment needed to build your own Bleskomat DIY:

  • 2 x breadboard (400-pin)
  • Jumper wires (M-M)
  • Jumper wires (M-F)
  • ESP32 Devkit
  • Coin Acceptor - DG600F or HX616
  • 1.8" TFT display
  • Button
  • 10k ohm resistor
  • DC 5.5/2.1 mm DIP adapter
  • 12V DC power adaptor with ~1A
  • Standard USB to micro USB cable
  • Multimeter

Optional components/equipment:

  • Soldering iron
  • 2.54 mm pins
  • To power the ESP32 devkit from the 12V DC power supply:
    • XL4005 step-down converter
    • USB (F) adapter
    • Alternatively, you could use a USB car charger which includes both a step-down converter and USB (F) output
  • If you wish to configure your Bleskomat via SD card:
    • Micro SD card with macro adapter

See the Parts Suppliers section below for links to suppliers for each component/equipment.

Parts Suppliers

Below are parts lists based on geographic location:

If you'd like to add your own list, please create a pull-request using this template as a guide. Links with referral codes will not be accepted.

Software Requirements

Building the Hardware Device

Before proceeding, be sure that you have all the project's hardware requirements.

Step-by-step build process for the hardware device.

Prepare the breadboards

One breadboard is not large enough to accommodate all the pins of the ESP32 devkit due to the width of the devkit. This is why we recommend to connect two breadboards together.

Remove one of the power rails from one of the breadboards. Use the notches on the sides of the breadboards to connect them together length-wise.

Insert the ESP32 devkit into the pin holes of the new, combined breadboard.

Familiarize yourself with the ESP32 devkit's pinout reference below.

ESP32 devkit pinout

Wiring the Power Supply

The first step to building the device is wiring the power supply. If already plugged in, unplug the 12V DC power supply now. Connect the DC 5.5/2.1 end of the power supply to the DIP adapter. The positive (+) pins should be the power pins and the negative (-) pins should be the ground. You can use your multimeter to check in case you want to be extra safe:

  • Plug-in the power supply to electricity
  • Turn on your multimeter and set it to measure voltage in the appropriate range (probably 20V)
  • Touch the red lead of your multimeter to one of the positive pins
  • Touch the black lead of your multimeter to one of the negative pins
  • If you see a negative voltage reading, swap the leads between the two wires
  • The pin touched by the black lead is the ground ("GND")
  • The pin touched by the red lead is the hot wire ("DC12V")
  • Unplug the power supply again

Use a pair of M-F jumper wires to connect the DC 5.5/2.1 DIP adapter to one of the breadboard's power rails. Negative to negative, positive to positive. This rail will be your 12V DC power (positive) and the common ground (negative).

Optionally power the ESP32 devkit via 5V pin

If you'd like to make your Bleskomat build a little bit more portable, you can power the ESP32 devkit via its 5V pin. To do this you will need the XL4005 (or equivalent) step-down converter and the USB (F) adapter. Note that powering the ESP32 devkit via its micro USB port requires a regulated voltage of approximately 5V.

It's also possible to use a USB car charger in case you have an extra one lying around.

Connect the step-down converter's input pins to the 12V DC power rail and common ground using (M-F) jumper wires. Use a multimeter to measure the voltage at the out pins. In the case of the XL4005, use a small screwdriver to turn the screw on the little blue box. Turning the screw counter clockwise should lower the voltage, turning it the opposite direction should increase the voltage. Once you have the voltage set to 5V, connect the out pins to the center power rails of the breadboard. This will be your 5V DC power rail.

Use a soldering iron to solder four 2.54 mm pins to the USB (F) DIP adapter. Insert the pins directly into the breadboard wherever you have space available. Using (M-M) jumper wires, connect the negative and positive pins of the USB (F) DIP adapter to the 5V DC power rail.

Connect the negative pin of the 5V DC power rail to the negative of the 12V DC power rail to ensure that they share a common ground. This is important because without a common ground shared between the coin acceptor and ESP32 devkit, the ESP32 will not receive a clean signal from the coin acceptor.

Use a standard USB to micro USB cable to connect the USB (F) DIP adapter to the ESP32 devkit.

There are other options when powering the ESP32 - e.g via the 3.3V pin or the 5V/VIN pin. You should never power the ESP32 via more than one of these options at the same time. For example, do not power the ESP32 via its 3.3V pin while also connecting the ESP32 via USB to your computer. This can damage the ESP32 and possibly also your computer.

Wiring the TFT Display

Insert the pins of the TFT display module into the breadboard where you have space available.

Use the table below to connect the ESP32 devkit to the TFT display module.

ESP32 TFT
VIN (V5) VCC
GND GND
GPIO22 CS
GPIO4 RESET (RST)
GPIO2 AO (RS)
GPIO23 SDA
GPIO18 SCK (CLK)
3V3 LED (NC)

Notes on pin naming:

  • There are boards where GPIXXX are marked as GXX instead of DXX.
  • The G23 may be there twice - the correct one is next to GND.
  • Some boards have typos so a bit of guess-and-check is necessary sometimes.

Refer to the ESP32 devkit pinout for help identifying the pins on your ESP32.

Wiring the SD card slot

This step is only needed if you would like to configure your Bleskomat via an SD card.

The TFT display includes an SD card slot. The pins are located above the screen and not soldered to the module by default but the pins can be added. The table of mappings is the following:

ESP32 TFT
GPIO15 SD_CS
GPIO13 SD_MOSI
GPIO12 SD_MISO
GPIO14 SD_SCK

Refer to the ESP32 devkit pinout for help identifying the pins on your ESP32.

Wiring the button

Insert button pins into the breadboard wherever you have space available. Typically, its best to place the button at the center of a breadboard (over the gap).

Connect the button using the following table as a guide:

ESP32 Button
VIN (V5) left pin
GPIO33 right pin

Connect the right pin of the button to GND with a 10k ohm resistor.

Refer to the ESP32 devkit pinout for help identifying the pins on your ESP32.

Wiring the Coin Acceptor

This project supports two possible coin acceptors - the DG600F and the HX616. The DG600F is more expensive, but is easier to configure and more reliable.

Wiring the DG600F

ESP32 DG600F Power Supply
GPIO1 (TX0) INHIBIT
COUNTER
GND - Ground
GPIO3 (RX0) SIGNAL
DC12V + 12V DC

Refer to the ESP32 devkit pinout for help identifying the pins on your ESP32.

Wiring the HX616

ESP32 HX616 Power Supply
DC12V + 12V DC
GPIO3 (RX0) COIN
GND - Ground

Refer to the ESP32 devkit pinout for help identifying the pins on your ESP32.

Wiring the Bill Acceptor

This project supports the NV10 (USB+) and NV9 bill acceptors. The SIO protocol is used to communicate with the bill acceptor unit.

ESP32 NV10/NV9 Power Supply
GPIO16 1 (Tx)
GPIO17 5 (Rx)
16 - Ground
15 + 12V DC

Refer to the ESP32 devkit pinout for help identifying the pins on your ESP32.

Configure and Train Coin Acceptor

This project supports two possible coin acceptors - the DG600F and the HX616.

Configure and Train the DG600F

Physical switches on the DG600F should set as follows:

Switch State
1 (Port Level) Down (NO)
2 (Security) Down (Normal)
3 (Transmitting) Up (RS232)
4 (Inhibiting) Down (> +3V)

Open the DG600F manual to "Coin Acceptor Parameters Setting" on page 18. Set the parameters as follows:

Parameter Description Value Meaning
A1 machine charge amount 01 min. coin value before data sent
A2 serial output signal pulse-width 01 25ms / 9600 bps (RS232 baud rate)
A3 faulty alarm option 01 (rings only one time)
A4 serial port RS232 signal length 03 3 bytes: 0xAA, coin value, XOR of prev two bytes
A5 serial port output 01 output to serial pin

To train the coin acceptor, have a look at "Coin Parameters Setting" on page 16 of the DG600F manual. Be sure to set the "coin value" for each coin in series, incremented by 1. For example:

  • 0.05 EUR = 1 coin value
  • 0.10 EUR = 2 coin value
  • 0.20 EUR = 3 coin value
  • 0.50 EUR = 4 coin value
  • 1.00 EUR = 5 coin value
  • 2.00 EUR = 6 coin value

Then set the coinValues configuration equal to 0.05,0.10,0.20,0.50,1,2. For example, in the bleskomat.conf:

coinValues=0.05,0.10,0.20,0.50,1,2

Configure and Train the HX616

There are two switches on the back of the HX616 coin acceptor:

  • "NO" (normally open) / "NC" (normally closed) - This should be set to "NO"
  • "Fast" / "Medium" / "Slow" - This should be set to "Fast"

An instruction sheet is included with the coin acceptor that will guide you through the training process:

PANEL Meaning
E number of coin values
Hn sampling quantity of coin n
Pn signal output value of coin n
Fn recognition accuracy of coin n (8 advised)
A training the acceptor
An start inserting coins for coin n

Press ADD + MINUS to get to the setting menu for Hn, Pn, Fn. Then press SET to swap between possibilities. To change the option press ADD or MINUS to select the desired value and confirm with SET.

Press SET to enter the training menu (A appears on the panel). After pressing SET again you can start inserting the coins.

If training the HX616 to accept EUR coins, you can set the coinValueIncrement equal to 0.05. For example, in bleskomat.conf:

coinValueIncrement=0.05

Configure Bill Acceptor

Please refer to the following user manuals for detailed instructions regarding how to configure the NV10 (USB+) or NV9 bill acceptors:

Installing Libraries and Dependencies

Before proceeding, be sure that you have all the project's software requirements.

Use make to install libraries and dependencies needed to build the firmware:

make install
  • The firmware's dependencies are defined in its platformio.ini file located at ./platformio.ini

If while developing you need to install a new library, use the following as a guide:

platformio lib install LIBRARY_NAME[@VERSION]

You can find PlatformIO's libraries repository here.

Configure Firmware Build Flags

There are several build flags that can be changed in file platformio.ini file located at ./platformio.ini before the firmware is compiled. If you follow the wire mappings in this readme file, then you most likely do not need to change any flags.

Compiling and Uploading to Device

To compile the firmware (without uploading to a device):

make compile

To compile and upload to your device:

make upload DEVICE=/dev/ttyUSB0

The device path for your operating system might be different. If you receive a "Permission denied" error about /dev/ttyUSB0 then you will need to set permissions for that file on your system:

sudo chown $USER:$USER /dev/ttyUSB0

To open the serial monitor:

make monitor DEVICE=/dev/ttyUSB0

Again the device path here could be different for your operating system.

Configuring the Device

It is possible to configure the device via the following methods:

List of Configuration Options

The following is a list of possible configuration options for the Bleskomat DIY:

  • apiKey.id - The API key ID of the device. This is needed by the server to verify signatures created by the device.
  • apiKey.key - The API key secret that is used to generate signatures.
  • apiKey.encoding - The explicit encoding of the API key secret. This can be "hex", "base64", or empty-string (e.g "") to mean no encoding. When generating a new API key on the server, it will store the encoding along with the ID and secret.
  • callbackUrl - The LNURL server base URL plus endpoint path. Example:
    • https://p.bleskomat.com/u
  • shorten - Whether or not to shorten the LNURL; see the lnurl-node module for more details.
  • uriSchemaPrefix - The URI schema prefix for LNURLs generated by the device. It has been discovered that some wallet apps mistakenly only support lowercase URI schema prefixes. Uppercase is better because when encoded as a QR code, the generated image is less complex and so easier to scan. Set this config to empty-string (e.g uriSchemaPrefix=) to not prepend any URI schema prefix.
  • fiatCurrency - The fiat currency symbol for which the device is configured; see ISO 4217.
  • fiatPrecision - The number of digits to the right of the decimal point when rendering fiat currency amounts.
  • billValues - The value of bills for which the bill acceptor has been configured. Each value separated by a comma. Integers and floating point (decimal) values are accepted. Examples:
    • CZK: 100,200,500,1000,2000,5000
    • EUR: 5,10,20,50,100,200,500
  • billTxPin - The GPIO connected to the NV10/NV9's Tx pin.
  • billRxPin - The GPIO connected to the NV10/NV9's Rx pin.
  • billBaudRate - The baud rate of the SIO protocol communication with the NV10/NV9. This value will be 300 or 9600.
  • coinValues - For the DG600F coin acceptor. The value of coins for which the coin acceptor has been configured. Each value separated by a comma. Integers and floating point (decimal) values are accepted. For example, when trained with EUR coins this configuration could be set to 0.05,0.10,0.20,0.50,1,2.
  • coinValueIncrement - For the HX616 coin acceptor, which communicates via pulses to the ESP32. The value here will determine how much fiat value each pulse represents. For example, when trained with EUR coins this value could be 0.05 with the following number of pulses set for each coin denomination:
    • 0.05 EUR = 1 pulse
    • 0.10 EUR = 2 pulses
    • 0.20 EUR = 4 pulses
    • 0.50 EUR = 10 pulses
    • 1.00 EUR = 20 pulses
    • 2.00 EUR = 40 pulses
  • coinSignalPin - The GPIO connected to the HX616's "COIN" pin or DG600F's "SIGNAL" pin.
  • coinInhibitPin - The GPIO connected to the DG600F's "INHIBIT"
  • coinBaudRate - The baud rate for serial communication with the DG600F
  • coinAcceptorType - "hx616" or "dg600f"
  • buttonPin - The GPIO connected to the button
  • buttonDelay - The number of milliseconds to wait before pressing the button can clear the QR code
  • buttonDebounce - The number of milliseconds of debounce to prevent flickering button press/release
  • tftRotation - The orientation of the TFT display. This is useful to allow different positions of the display. The possible rotation values are:
    • 0 = 0 degrees
    • 1 = 90 degrees
    • 2 = 180 degrees
    • 3 = 270 degrees
  • logLevel - Possible values:
    • trace - everything
    • debug
    • info - default
    • warn
    • error
    • none - nothing

Browser-Based Configuration Tool

The Bleskomat Platform provides a browser-based configuration tool to upload pre-built device firmware, view real-time log output, update device configurations, run JSON-RPC serial commands, and more.

Command-Line Configuration Tool

It is also possible to use the bleskomat-cli command-line utility to communicate with a Bleskomat hardware device via JSON-RPC over serial API. Please refer to that project's readme for installation and usage information.

Hard-Coded Configuration

Hard-coded configurations can be set by modifying the source file config.cpp.

Each time you make changes to the hard-coded configurations, you will need to re-compile and flash the ESP32's firmware.

Configuration via SD Card

First you will need to format the SD card with the FAT32 filesystem.

Create a new file named bleskomat.conf at the root of the SD card's filesystem.

The following is an example bleskomat.conf file:

apiKey.id=6d830ddeb0
apiKey.key=b11cd6b002916691ccf3097eee3b49e51759225704dde88ecfced76ad95324c9
apiKey.encoding=hex
callbackUrl=https://p.bleskomat.com/u
shorten=true
uriSchemaPrefix=
fiatCurrency=EUR
fiatPrecision=2
coinValues=0.05,0.10,0.20,0.50,1,2
coinValueIncrement=0.05
coinSignalPin=3
coinInhibitPin=1
coinBaudRate=9600
coinAcceptorType=hx616
buttonPin=33
buttonDelay=5000
buttonDebounce=100
tftRotation=2
logLevel=info

Changelog

See CHANGELOG.md

Support

Need some help? Join us in the official Telegram group or send us an email at [email protected] and we will try our best to respond in a reasonable time. If you have a feature request or bug to report, please open an issue in this project repository.

License

The project is licensed under the GNU General Public License v3 (GPL-3):

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.

Trademark

"Bleskomat" is a registered trademark. You are welcome to hack, fork, build, and use the source code and instructions found in this repository. However, the right to use the name "Bleskomat" with any commercial products or services is withheld and reserved for the trademark owner.

bleskomat-diy's People

Contributors

aigora-de avatar chill117 avatar gorrdy avatar karliatto avatar thomasfarstrike avatar tomichec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bleskomat-diy's Issues

/bin/sh: 1: platformio: not found

$ platformio --version
$ PlatformIO, version 4.3.4

Added path to bashrc

followed all steps

$ cd /bleskomat/bleskomat
$ sudo make install

cd ./device && platformio lib install
/bin/sh: 1: platformio: not found
make: *** [Makefile:52: install] Error 127

Invalid API key signature

Please help me with resolving this error. HW "Beskomat" works, but after scanning QR wallet reports:

Error message from remote provider: Invalid API key signature

Thanks

Review and improve step-by-step build docs

  • Review pin labeling (TFT screen to arduino) -- some of the pin labels are different on my screen/arduino
  • Explain how to connect the coin acceptor to the arduino
  • Explain how to build the power supply for the coin acceptor

Cable mappings:

  • Cable mapping for ESP32 to coin acceptor
  • Cable mapping for ESP32 to TFT screen
  • Cable mapping for ESP32 w/ button

Read config options from SD card

It is a bit annoying to need to compile and upload the firmware every time configuration options are changed. It could be better to write the configs to an SD card instead.

Most of the TFT displays come with an SD card reader - usually 4 extra pins that need to be connected to the ESP32. There are already libraries available in platformio that can read from the SD card.

Bonus points for encrypting the config data on the SD card using asymmetric cryptography (public key on the server, private key on the device compiled in its firmware).

Create docker image, new repo, and Umbel App for simple bleskomat server

Operators of Bleskomat ATMs, whether they be DIY or the commercial product, should be able to self-host their own simple server that can facilitate lightning payment on behalf of their ATM(s). Already contained in this repository is a server that can achieve this. We should:

  • Create a new repository for the self-host version of bleskomat server - I can create the repository, but we need to decide on the name.
  • Create a docker image that can be easily used to build a docker container to run this simple bleskomat server - this image will be hosted publicly under the bleskomat Docker hub account (bleskomat)
  • Package the simple bleskomat server for the Umbel App Store - details about this

Battery power

Add instructions to power the DIY build from a battery. Considerations:

  • 12V DC is required for the HX616 or DG600F coin acceptor
  • 5V is required to power the ESP32 devkit via its micro USB port

The recommended build design should make it difficult (or impossible) to power the ESP32 from multiple sources simultaneously because this can damage the ESP32 and possibly also a computer (if connected).

Power saving mode (deep sleep / turn off TFT backlight)

Once #31 is implemented, it will be important to introduce power saving features. When the device is not in use for 30 seconds, put the device into sleep mode. Pressing the button should wake the device.

  • Use ESP32's deep sleep mode when on battery power
  • Turn off the TFT backlight when on USB power

The number of seconds to wait before triggering sleep mode should be configurable.

DG600F serial communication. Not counting coins

Hello. We build your project. It works really nice. Thank you for sharing it with us.
While building with your recent guide we noticed serial communication errors with DG600F.

in the file: coin-acceptor.cpp
in the original line 77: Serial2.begin(COIN_ACCEPTOR_BAUDRATE, SERIAL_8N1, COIN_ACCEPTOR_SIGNAL, 0);

we had to change to:
line 77: Serial2.begin(COIN_ACCEPTOR_BAUDRATE, SERIAL_8E1, COIN_ACCEPTOR_SIGNAL, 0);

because serial communication in DG600F Manual:
S:Start bit
B0 to B7:8 data bits
C:Even check
STOP:Stop bit
It can set the transmit rate(1200bps/2400bps/4800bps/9600bps)in coin acceptor
parameter A2.

When using and testing different coin or bill acceptors the serial setup gets mixed up easy. It is expected behavour. It is not a bug or an issue.

Use: SERIAL_8E1 with DG600F

Thank you. Great DIY

Support bills acceptor

Coins does not make sence for my use-case. I saw bills acceptor on some photos.

Does this project support it?
Are there some docs about it?

Make install error due to platformio/framework-arduinoespressif32

I downloaded and installed the latest platformio and got this build error when doing make install on Debian Linux:

user@pc:~/sources/bleskomat-diy$ make
platformio lib install
******************************************************************************************************************************************************************************************************************
If you like PlatformIO, please:
- follow us on Twitter to stay up-to-date on the latest project news > https://twitter.com/PlatformIO_Org
- star it on GitHub > https://github.com/platformio/platformio
- try PlatformIO IDE for embedded development > https://platformio.org/platformio-ide
******************************************************************************************************************************************************************************************************************


WARNING: This command is deprecated and will be removed in the next releases.                                                                                                                                     
Please use `pio pkg install` instead.                                                                                                                                                                             
                                                                                                                                                                                                                  
Resolving bleskomat32 dependencies...
Platform Manager: Installing espressif32 @ 4.3.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Platform Manager: [email protected] has been installed!
Tool Manager: Installing espressif/toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch3
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: [email protected]+2021r2-patch3 has been installed!
Tool Manager: Installing platformio/framework-arduinoespressif32 @ 3.20003.0
Error: Could not find the package with 'platformio/framework-arduinoespressif32 @ 3.20003.0' requirements for your system 'linux_x86_64'
make: *** [Makefile:24: install] Error 1

The fix was to just delete that whole platform_packages section:

user@pc:~/sources/bleskomat-diy$ git diff
diff --git a/platformio.ini b/platformio.ini
index 5864df3..60764e0 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -58,8 +58,6 @@ build_flags =
 board = esp32dev
 platform = [email protected]
 framework = arduino
-platform_packages = 
-       platformio/framework-arduinoespressif32 @ 3.20003.0
 upload_speed = 921600
 ; https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/partition-tables.html
 board_build.partitions = no_ota.csv

And then it worked fine:

user@pc:~/sources/bleskomat-diy$ make
platformio lib install

WARNING: This command is deprecated and will be removed in the next releases.                                                                                                                                     
Please use `pio pkg install` instead.                                                                                                                                                                             
                                                                                                                                                                                                                  
Resolving bleskomat32 dependencies...
Tool Manager: Installing platformio/framework-arduinoespressif32 @ ~3.20003.0
Downloading  [####################################]  100%          
Unpacking  [####################################]  100%          
Tool Manager: [email protected] has been installed!
Tool Manager: Installing platformio/tool-esptoolpy @ ~1.30300.0
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: [email protected] has been installed!
Library Manager: Installing git+https://github.com/chill117/QRCode.git#v0.0.2
git version 2.20.1
Cloning into '/home/user/.platformio/.cache/tmp/pkg-installing-cinm8dlw'...
remote: Enumerating objects: 24, done.
remote: Counting objects: 100% (24/24), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 24 (delta 2), reused 17 (delta 2), pack-reused 0
Unpacking objects: 100% (24/24), done.
Note: checking out 'c2f298164aba30c16471b21d1c1c5af8b0bf2a18'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Library Manager: [email protected]+sha.c2f2981 has been installed!
Library Manager: Installing chill1/lnurl @ 0.4.1
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
Library Manager: Installing bblanchon/ArduinoJson @ 6.19.4
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Library Manager: [email protected] has been installed!
platformio platform install espressif32

WARNING: This command is deprecated and will be removed in the next releases.                                                                                                                                     
Please use `pio pkg install` instead.                                                                                                                                                                             
                                                                                                                                                                                                                  
Platform Manager: [email protected] is already installed
Tool Manager: [email protected]+2021r2-patch3 is already installed
Tool Manager: [email protected] is already installed

Board is not counting accepted coins

I have built my first Bleskomat, it is on and running (I can see 0 Kc on display) and the coin acceptor is programmed on and accepting coins (can see the right number on its display). But the device still shows 0 Kc event after inserting coins - looks like it can not accept signals from the acceptor. Please, can you help me to get this fixed? All grounds are connected in the right way (like on the diagram)... Thanks

Add configuration prompts when running server for first time

Add a series of prompts when running the server for the first time (e.g with make server) that will walk them thru the process of configuring their new, local bleskomat server:

  • Which fiat currency will you use? (e.g "CZK", "EUR")

Their answers to these prompts will be stored in the server's newly generated config.json file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.