A vote here for the Pi Pico. Arm MCU, with good, well documented libraries.
WiFi version (Pico w) available and relatively cheap too. I personally don't like the overhead of running a full Linux OS, and feel that a Pi of any sort is excessively overpowered for a (relatively simple) clock device. David On Sat, 11 Jan 2025, 05:24 gregebert, <[email protected]> wrote: > For the RasPi, I just use C (gcc). Since it's a full Linux device, there's > tons of stuff out there for free. > 512MB of RAM, but a good chunk of that is for Linux. I usually have 32GB > micro SD cards. > I write all of my own code, except the GPIO stuff (digitalRead, > digitalWrite) is thru wiringPi. > It is handy, though, because I can just login to the RasPi from anywhere > to do software development work, and I never need to plug-in cables, etc. > > For FPGAs, I mostly use the Altera EP2C5 (25USD) , and sometimes the > EPM240 (12USD). Both are available on PCBs on Ebay. > The Quartus software is free for compiling the FPGA code, and I use > Modelsim for simulating the FPGA code (Verilog). I do have to physically > plug the JTAG programmer into the USB port on my Linux server to update the > FPGA code, but I try to minimize FPGA code changes (essentially freeze the > "hardware"), and make all changes thru software. Sometimes that's not > possible. > > The RasPi + FPGA can do anything imaginable, but as I said, the main > drawback is the boot time. Fortunately, our electric utility is pretty > reliable, so unplanned reboots happen less than once per year. > > On Friday, January 10, 2025 at 2:11:03 PM UTC-8 newxito wrote: > >> That's the memory usage of my calculator project: >> RAM: [= ] 7.2% (used 23640 bytes from 327680 bytes) >> Flash: [=== ] 27.9% (used 365721 bytes from 1310720 bytes) >> >> Which tools and development environment do you use to program the Raspi >> Zero W? >> And for the FPGA? >> >> gregebert schrieb am Freitag, 10. Januar 2025 um 21:43:22 UTC+1: >> >>> I evaluated Arduino about 15 years ago and decided against it because I >>> thought there was only enough RAM/ROM for very simple projects. So for a >>> few years I used FPGAs, then Raspberry Pi Zero W, and now I have the >>> ecosystem in-place to use FPGA, RasPi, or both. >>> >>> I'm curious how many lines of source code (it's similar enough to C) can >>> be compiled onto an average Arduino device. >>> >>> >>> >>> On Friday, January 10, 2025 at 1:38:31 AM UTC-8 newxito wrote: >>> >>>> I like PlatformIO, but unfortunately, they do not support newer >>>> versions of the arduino-esp32 framework which are required for newer >>>> hardware (financial disagreement with espressif). >>>> Since I use espressif MCUs with the arduino-esp32 framework in all my >>>> nixie projects, I’m currently looking for alternatives. I found these >>>> options: >>>> - Arduino IDE >>>> - PlatformIO using pioarduino >>>> - pioarduino extension for Visual Studio Code >>>> - ESP-IDF extension for Visual Studio Code >>>> - ESP-IDF Eclipse plugin >>>> I have not made a decision yet, but I spent some time migrating the >>>> firmware of a project to the ESP-IDF extension for vscode. Maybe the >>>> following will be useful for someone. It’s not a tutorial, just some >>>> reformatted notes on how it worked for me. As always use at your own risk. >>>> >>>> Using the ESP-IDF Extension for Visual Studio Code with the >>>> arduino-esp32 component >>>> >>>> ----------------------------------------------------------------------------------- >>>> >>>> + Install Visual Studio Code >>>> + Install the ESP-IDF extension >>>> + Click "Configure ESP-IDF extension" and select EXPRESS >>>> - Set download server to github >>>> - Select the latest version of ESP-IDF that supports the latest >>>> version of the arduino-esp32 component >>>> (https://github.com/espressif/arduino-esp32/releases) >>>> - Click install >>>> >>>> + After installation create an ESP arduino project as follows: >>>> - Click "Components Manager" or run command "Show ESP Component >>>> Registry" >>>> - Search and select arduino-esp32 >>>> - Go to examples, select hello_world and click "Create Project from >>>> this example" >>>> - Build the project >>>> - Close vscode and rename the project directory to the desired project >>>> name >>>> - Start vscode and use "open folder" to open the project folder >>>> - Copy the source files (c, cpp, hpp) to the main directory >>>> - Create an include directory >>>> - Copy the header files to the include directory >>>> >>>> + Edit CMakeList.txt in the main directory: >>>> - Register all c, cpp and hpp files in the directory, ignore h files >>>> - Specify include directories >>>> - Specify requirements >>>> >>>> For example: >>>> >>>> idf_component_register(SRCS >>>> "main.cpp" >>>> “driver.cpp” >>>> "helper.hpp" >>>> >>>> INCLUDE_DIRS "." "../include" >>>> "../components/Adafruit_BusIO" >>>> "../components/RTCLib" >>>> >>>> REQUIRES arduino-esp32 >>>> REQUIRES nvs_flash >>>> ) >>>> >>>> + Manually add arduino libraries: >>>> - Use command "Create New ESP-IDF Component" >>>> - Enter the name of the component, e.g. RTCLib >>>> - Delete everything in the components\RTCLib directory except >>>> CMakeList.txt >>>> - Manually copy the library code files (c, cpp, h, hpp) to the >>>> component\RTCLib directory >>>> - Edit CMakeList.txt file >>>> >>>> Example CMakeList.txt file for RTCLib: >>>> >>>> idf_component_register(SRCS >>>> "RTClib.cpp" >>>> "RTC_DS1307.cpp" >>>> "RTC_DS3231.cpp" >>>> "RTC_Micros.cpp" >>>> "RTC_Millis.cpp" >>>> "RTC_PCF8523.cpp" >>>> "RTC_PCF8563.cpp" >>>> >>>> INCLUDE_DIRS "." "../Adafruit_BusIO" >>>> REQUIRES arduino-esp32) >>>> >>>> If the library depends on other libraries add an idf_component.yml >>>> file, for example: >>>> >>>> dependencies: >>>> # Define local dependency with relative path >>>> Adafruit_BusIO: >>>> path: ../AdaFruit_BusIO >>>> >>>> Some sdk options: (change with the "SDK Configuration Editor") >>>> >>>> + Compiler options for debugging, performance and size: >>>> - Assertion Level >>>> - Optimization Level >>>> >>>> + Arduino options (not set if creating the arduino project manually >>>> without using the example): >>>> - Kernel >>>> set ConfigTICK_RATE_HZ = 1000 >>>> - TLS Key Exchange Methods >>>> Select "Enable pre-shared-key ciphersuites" >>>> - Arduino Configuration >>>> Select "Autostart Arduino setup and loop on boot" >>>> >>>> + A useful terminal command: >>>> - idf.py update-dependencies >>>> >>>> + Some useful vscode shortcuts: >>>> - Ctrl-Shift-P to "Show and Run Commands" >>>> - Alt-Shift-F to format code >>>> >>>> I used this to do a clean reinstall on windows: >>>> >>>> + vscode: >>>> - uninstall vscode >>>> - delete directory "%userprofile%\AppData\Roaming\Code" >>>> - delete directory "%userprofile%\.vscode" >>>> >>>> + esp-idf extension: >>>> - delete directory "%userprofile%\.espressif" >>>> - delete directory "%userprofile%\esp" >>>> >>>> >>>> -- > You received this message because you are subscribed to the Google Groups > "neonixie-l" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion, visit > https://groups.google.com/d/msgid/neonixie-l/b9391c7a-52b6-47d9-9d89-2b2ae1d8f9b6n%40googlegroups.com > <https://groups.google.com/d/msgid/neonixie-l/b9391c7a-52b6-47d9-9d89-2b2ae1d8f9b6n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "neonixie-l" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion, visit https://groups.google.com/d/msgid/neonixie-l/CAOQ6x0EEg%3D2NJk%3DNeKz%3DhzLigYbQQMK_Ek_befpQu9hiTJe87Q%40mail.gmail.com.
