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.

Reply via email to