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.

Reply via email to