logo elektroda
logo elektroda
X
logo elektroda

TL;DR

  • A DIY micro tower combines a radio, spectrum visualizer, and amplifier in two compact desktop enclosures.
  • The radio uses ESP32S3, a 2.8-inch IPS display, MPR121 touch sensing behind 4 mm tinted glass, and encoder-based station browsing.
  • The units measure 200x61x130 mm for the radio and 200x40x130 mm for the spectrum and amplifier sections.
  • The spectrum runs on an ESP32 using both cores, refreshing two 1.9-inch IPS displays at 37 to 41 FPS.
  • The amplifier is not hi-fi, uses a TPA3110 module and AVT kit 2132 tone control, and the station list is stored rigidly in firmware.
Generated by the language model.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #121 21907033
    erni750906
    Level 8  
    Posts: 10
    heyk after downloading the spectrum file, opening it in an arduino program and releasing it for verification, it gives errors
  • ADVERTISEMENT
  • #122 21907037
    wieh76
    Level 12  
    Posts: 57
    Rate: 23
    I also got an error. It turned out that the TFT_eSPI library is too new for core 1.0.4. After installing version 2.4.79 the verification went positive. Whether it works I don't know because I only verified(waiting for parts) 🙂 Maybe it's the same for you.
  • #123 21907041
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    The compilation conditions are given at the beginning of the source file:)
    If there are Tft_espi problems with the core version of ESP32 1.0.4
    I suggest changing the entry in the library directory:
    ... Processors/Tft_espi.h
    Comment out the entry #hal/gpio_11.h
  • ADVERTISEMENT
  • #124 21907042
    erni750906
    Level 8  
    Posts: 10
    >>21907037 a tell me through which ardu you upload which version ba I version 2.3.6
  • #125 21907049
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    >>21907042
    What error does it throw?
  • #126 21907051
    wieh76
    Level 12  
    Posts: 57
    Rate: 23
    >>21907042 I have the latest 2.3.8 . efi222 I have seen🙂 but it was giving errors. I was prompted by gpt chat, as I say I haven't checked if it works because I don't currently have anything to use it on, but verification passes. Now for a test I updated to the latest and here is the error:
    Quote:
    In file included from /home/wiesiek/Arduino/libraries/TFT_eSPI/TFT_eSPI.h:101:0,
    from /home/wiek/Desktop/mikro_widmo_A1/mikro_widmo_A1.ino:8:
    /home/wiesiek/Arduino/libraries/TFT_eSPI/Processors/TFT_eSPI_ESP32.h:14:25: fatal error: hal/gpio_ll.h: No such file or directory
    compilation terminated.
    exit status 1

    Compilation error: exit status 1
  • #127 21907056
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    efi222 wrote:
    If there are Tft_espi problems with core ESP32 version 1.0.4
    I suggest changing the entry in the library directory:
    ... Processors/Tft_espi.h
    Comment out the entry #hal/gpio_11.h

    Should make things easier
  • #128 21907060
    erni750906
    Level 8  
    Posts: 10
    Such errors have popped up


    'FS' was not declared in this scope; did you mean 'fs::FS'?
    227 | typedef std::function<String(FS &fs, const String &fName)> ETagFunction;
    | ^~
    | fs::FS




    87 | class FS {
    | ^~
    'FS' was not declared in this scope; did you mean 'fs::FS'?
    227 | typedef std::function<String(FS &fs, const String &fName)> ETagFunction;
    | ^~
    | fs::FS
    C:³³³³AppData³³³ LocalArduino15³³³ Files³³³32³hardware/FS.h:87:7: note: 'fs::FS' declared here
    87 | class FS {
    | ^~

    227 | typedef std::function<String(FS &fs, const String &fName)> ETagFunction;
    | ^
    C:³³³³AppDataLocalArduino15packages32hardware3.3.8³³brariesWebServer/WebServer.h:227:16: error: '<expression error>' in namespace 'std' does not name a type
    227 | typedef std::function<String(FS &fs, const String &fName)> ETagFunction;
    | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    C:³³³³AppData³³³ocalArduino15packages³³³hardware³³³3.3.8³³braries/WebServer.h:228:32: error: 'ETagFunction' has not been declared
    228 | void enableETag(bool enable, ETagFunction fn = nullptr);
    | ^~~~~~~~~~~~
    C:³³³³AppData³³³ocalArduino15packages³³³hardware³³³3.3.8³³brariesWebServer/WebServer.h:245:3: error: 'ETagFunction' does not name a type; did you mean 'TaskFunction_t'?
    245 | ETagFunction _eTagFunction = nullptr;
    | ^~~~~~~~~~~~
    | TaskFunction_t
    C:³³³³AppData³³³ocalArduino15³³³packages32³³³hardware3.3.8³³braries/WebServer.h:228:50: error: could not convert 'nullptr' from 'std::nullptr_t' to 'int'
    228 | void enableETag(bool enable, ETagFunction fn = nullptr);
    | ^~~~~~~
    | |
    | std::nullptr_t


    56 | My_timer = timerBegin(0, 80, true);
    | ~~~~~~~~~~^~~~~~~~~~~~~




    35 | hw_timer_t *timerBegin(uint32_t frequency);
    | ^~~~~~~~~~

    57 | timerAttachInterrupt(My_timer, &onTimer, true);
    | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
    C:³³³³AppData³³³ocalArduino15³³³³³ware³³³3.3.8³³³/esp32-hal-timer.h:50:6: note: declared here
    50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
    | ^~~~~~~~~~~~~~~~~~~~
    'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
    58 | timerAlarmWrite(My_timer, timer_div, true ); //32kHz
    | ^~~~~~~~~~~~~~~
    | timerWrite
    C:³³³³³³³³.ino:59:3: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
    59 | timerAlarmEnable(My_timer);
    | ^~~~~~~~~~~~~~~~
    | timerAlarm

    exit status 1

    Compilation error: too many arguments to function 'hw_timer_t* timerBegin(uint32_t)'
  • #129 21907062
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    And have you downgraded the ESP32 core version to version 1.0.4?
    You have core version 3.3.8
  • #130 21907067
    wieh76
    Level 12  
    Posts: 57
    Rate: 23
    efi222 sorry I didn't notice this post. I have another question because I had to comment out one eeprom library (#include "eeprom.h) because I was also getting errors popping up. Does it have the right to work this way? I'm sitting on linux and the chat mentioned wrote to comment this one out because linux is case sensitive in code and hence the errors.
  • #131 21907073
    erni750906
    Level 8  
    Posts: 10
    How's it going gentlemen, can anyone help how to bite it.

    Added after 1 [minute]:

    No, I haven't changed, but I'm already reinstalling.
  • #132 21907075
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    @wieh76
    I'll try compiling without this "eeprom.h" today and let you know the results.

    There is one more issue.
    There is a directory SETUP_TFT_ESPI in the spectrum source directory. Inside it is the file "User_Setup". This is the settings for the display driver and the SPI bus. This file needs to be copied to the root directory of the TFT_espi library and swapped with the original. Just archive the original somewhere before swapping.
    I think I'll do some additional description in the article.
    TFT_espi is not one of the very friendly ones.... :) (But for that, it drives "like a little car" :D ).
  • #133 21907084
    wieh76
    Level 12  
    Posts: 57
    Rate: 23
    >>21907075 I don't know maybe it's linux😀's fault. There are two of these libraries there which is why I ask. As for the description, it would be useful because I didn't know about the swap or didn't read about it. And the analyzer "nice" great thanks for the work and the project.
  • ADVERTISEMENT
  • #134 21907090
    erni750906
    Level 8  
    Posts: 10
    Changing the core helped and it even uploaded to the esp only nothing is displayed because the author uploaded directly to the esp and I uploaded to the development board, I connected the pins as in the diagram but nothing is on the display.
  • #135 21907099
    pepepe1
    Level 13  
    Posts: 77
    Rate: 128
    If you don't mind: at my place the combo went. Esp32D in 30 pin module, memory settings standard, Arduino version as recommended, Esp32 Espressif 2.0.17 board definitions and in addition in preferences
    h t t p s ://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json.
    "From the package" there is still an encoder mismatch: in variables.h gpio 25 and 26, in the schematic 25 and 27. The board a little improved compared to my first version - this encoder + stabilizer, you can assemble or not.

    A revelation, thanks and greetings to the Author.

    DIY micro tower (desktop version)

    DIY micro tower (desktop version)
  • #136 21907102
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    @erni750906
    efi222 wrote:
    In the folder with the spectrum source is the folder SETUP_TFT_ESPI. Inside is the file "User_Setup". These are the settings for the display driver and the SPI bus. This file needs to be copied to the root directory of the TFT_espi library and swapped with the original. Just archive the original somewhere before swapping.
    I think I'll do some additional description in the article.
    TFT_espi is not one of the very friendly ones...

    Have you done this?

    Added after 7 [minutes]:

    pepepe1 wrote:
    Springs Esp32 Espressif 2.0.17

    With such a Core the bandwidth processed is 10kHz max
    The bandwidth on the spectrum is only up to 10kHz.
    There should be a version 1.0.4

    Added after 5 [minutes]:

    pepepe1 wrote:
    Springs Esp32 Espressif 2.0.17

    With such a Core the bandwidth processed is 10kHz max
    The bandwidth on the spectrum is only up to 10kHz.
    I don't even know if not less
    There should be a version 1.0.4
  • #137 21907125
    erni750906
    Level 8  
    Posts: 10
    I'm already doing it, I had a little problem with the electricity at home.

    Added after 4 [minutes]:

    And I am to understand that the connection of the ESP vs the displays is to be connected according to the file I am swapping.

    Added after 2 [minutes]:
    It has started up and is working, I still need to connect the encoder.
  • #138 21907130
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    erni750906 wrote:
    and I understand that the esp connection and the displays are to be connected according to the file that I am replacing

    Or with the diagram. Only there is an encoder connection error on the schematic. It should be on IO25 and IO26
  • ADVERTISEMENT
  • #139 21907139
    erni750906
    Level 8  
    Posts: 10
    and tell me, because I have an encoder with the designation s1 s2 key and power supply, how in this situation s1 under 25 s2 under26 key under gnd

    Moderated By ArturAVS:

    3.1.13. Publish entries that violate the Polish language spelling rules, are careless and incomprehensible.

  • #140 21907141
    erni750906
    Level 8  
    Posts: 10
    ok the encoder has gone in without connecting the key


    Moderated By ArturAVS:

    3.1.13. Publish posts that violate Polish spelling rules, are careless and incomprehensible.

  • #141 21907147
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    pepepe1 wrote:
    Board slightly improved compared to the prototype - this encoder + stabilizer, you can mount or not.

    I don't recall sharing the PCB :)
  • #142 21907149
    erni750906
    Level 8  
    Posts: 10
    efi222
    Thank you very much for the hints I am still taking on the preamplifiers and I will enjoy your awesome project and I will still ask you for the print file as of course you can total all 3 print files but this I will write right away on private

    Moderated By ArturAVS:

    3.1.13. Publish posts that violate the rules of Polish language spelling, careless and incomprehensible.

  • #143 21907159
    pepepe1
    Level 13  
    Posts: 77
    Rate: 128
    Something's up - a 1 kHz sine from the generator gave a bar between 6 and 8 kHz :) On core 1.0.4, with TFT_eSPI in the recommended version, changing the user_setup in the library folder and it threw an error:



    No such file or directory
    compilation terminated.

    I'll play around some more.

    Added after 5 [minutes]:

    efi222 wrote:
    pepepe1 wrote:
    Board slightly improved compared to prototype - this encoder + stabilizer, can be mounted or not.

    I don't recall making the PCB available.:)


    A mental abbreviation - obviously did not mean "prototype" (first copy by colleague efi222). Sorry, and already corrected :)
  • #144 21907172
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    @pepepe1
    efi222 wrote:
    If there are Tft_espi problems with core ESP32 version 1.0.4
    I suggest changing the entry in the TFT_espi library directory:
    ... Processors/Tft_espi.h
    Comment out the entry #hal/gpio_11.h

    Should make things easier
  • #145 21907195
    pepepe1
    Level 13  
    Posts: 77
    Rate: 128
    This has solved the problem. Thank you very much for your help.
  • #146 21907200
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    I have updated the title post. I have included some tips at the bottom to make it easier to run the spectrum.
  • #147 21907323
    tytka
    Level 23  
    Posts: 753
    Help: 8
    Rate: 1831
    @efi222 And have you corrected this error with the polarity of the right speaker?
    If you leave it as the Chinaman described, then you have the right channel connected in counter-phase. And given that at low frequencies, there are always negligible phase shifts between the channels, they cancel each other out with such a connection, resulting in a heavily muted listening experience.
    If you connect it correctly, as I wrote, you will hear what the difference is.
  • #148 21907328
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    wieh76 wrote:
    I had to comment out one eeprom library (#include "eeprom.h) because errors were also popping up. Does it have the right to work this way?

    I've checked the compilation without this eeprom.h. It compiles correctly and the spectrum works.

    Added after 3 [minutes]:

    tytka wrote:
    Are you correcting this error with the polarity of the right speaker?

    I plugged the speaker in reverse temporarily. I must say that the stereo space and overall sound has improved. Thanks again :)
  • #149 21907390
    tytka
    Level 23  
    Posts: 753
    Help: 8
    Rate: 1831
    efi222 wrote:
    I have to say that the stereo space has improved

    It must have improved because, after all, by having one speaker in counter-phase, the audible space was severely distorted. As is well known, phase differences play a big part in this aspect. :)
  • #150 21908843
    efi222
    Level 21  
    Posts: 727
    Help: 12
    Rate: 1183
    Another previously undescribed feature regarding spectrum:
    Wireless software update (*.bin).
    After holding down the "update" button for about 3 seconds, the display will show that the ESP has "entered" AP mode.
    You need to log in to the specified Wi-Fi access point " micro_widmo " - password: 12345678
    After logging in (ignore the message about no internet if it appears), you need to enter the IP 192.168.30.50 in your web browser
    The web page should launch.
    If AP mode has been running for a long time, I recommend refreshing the page before updating.
    This option is a little test version (working).

    Phone screen showing “Widmo” firmware update page at 192.168.30.50 with file upload and 0% progress bar
ADVERTISEMENT