Jump to content

FreeJoy. OpenSource controller - STM32


MPiloT

Recommended Posts

ГП: GeForce GTX 1050 Ti 4г

ЦП: Intel® Core i5-3570 CPU @ 3.40GHz(4000)

Память: 8 GB RAM (7.95 GB RAM доступно)

Link to comment
Share on other sites

16

The most active branch - https://forum.il2sturmovik.ru/topic/12818-freejoy-opensource-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80-%D0%BD%D0%B0-stm32/

 

 

Today or tomorrow there will be a description of the functional, it has grown significantly


Edited by =M=PiloT

ГП: GeForce GTX 1050 Ti 4г

ЦП: Intel® Core i5-3570 CPU @ 3.40GHz(4000)

Память: 8 GB RAM (7.95 GB RAM доступно)

Link to comment
Share on other sites

https://github.com/vostrenkov/FreeJoy/releases/tag/v1.0 here on the link says Up to 8 axis, 128 buttons, 64 encoders, 4 povs that is why ask i got confused.Are you going to make a video guide?

 

Maximum number of encoders was reduced to 16 in latest release 1.3.3 to optimize overall performance. You can use 8 encoders as axes (8 is maximum number of axes that system can see), or you can use all encoders as two buttons (increment and decrement)

  • Thanks 1
Link to comment
Share on other sites

  • 2 years later...

Been using MMjoy2 before but just had a chance to try out JoyFree 1.7.1B3 and must say that I'm impressed. Great work WG_Magners

Tested in W7/W10 and also tested it in Kubuntu 20.04 LTS. Having Linux support with a nice looking GUI is just icing on the cake. Really like you opted for an AppImage instead of  snap/flatpack since AppImage is best IMHO.

Still playing around with it but looks like I'm gonna use JoyFree for future projects not only because of it's flexibility and great features but it has very nice and easy to use GUI with good documentation as well as actively worked on.

Highly recommended!

GUI.jpg

Can't see the features listed in this thread so here they are....

Features

FreeJoy supports the following external periphery:

  • 8 analog inputs (12 bit output resolution)
  • axis to buttons function (up to 12 buttons per axis)
  • buttons/encoders to axis functions
  • 128 digital inputs (buttons, toggle switches, hat povs, encoders)
  • 5 shift modifiers
  • 4 hat povs
  • 16 incremental encoders
  • shift registers 74HC165 and CD4021
  • digital sensors TLE5010/5011, TLE5012B, AS5048A, AS5600, MLX90393 (SPI interface only)
  • external ADCs ADS1115 and MCP3201/02/04/08
  • 4 PWM channels for lighting
  • 24 LEDs (single or matrix) bindable to buttons' states
  • device name and other USB settings

See Wiki for more info...

https://github.com/FreeJoy-Team/FreeJoyWiki

Download from...

https://github.com/FreeJoy-Team/FreeJoy

Thanks to everyone involved in this project!

 


Edited by KeyCat
  • Thanks 1
Link to comment
Share on other sites

  • 4 months later...

Great project!

I need some clarification though. In the description it is claimed that it provides 12 bit resolution without mentioning an external ADC as a requirement. So: does it provide 12-bit resolution out of the box without an external ADC?

In other words, will a setup with a popular Allegro A1324 hall sensor and a magnet result in 12-bit output?

Link to comment
Share on other sites

On 1/11/2023 at 6:39 PM, Bucic said:

I need some clarification though. In the description it is claimed that it provides 12 bit resolution without mentioning an external ADC as a requirement. So: does it provide 12-bit resolution out of the box without an external ADC?

Yes the blue pill uses a STM32F103C8T6 which has 12-bit ADCs.

FreeJoy is a really well done project - I've used it to add some 5-way buttons and sliders to my warthog throttle.

The 5-way buttons use shift registers and can be daisy-chained, so any number of them only uses 3 pins on the bluepill (+2 for power).

bp_warthog.jpgpybtn.jpg

Link to comment
Share on other sites

8 hours ago, crash test pilot said:

Hi Bucic! I got one of these:

https://www.ebay.de/itm/402318508813?var=672304534726

 

You need the st-link programmer (or a usb-uart converter) for writing the firmware before first use. Afterwards you can write configuration data via usb.

Yes, three are plenty of those in Polish stores. The reason I asked whether I should get this one

https://allegro.pl/oferta/stm32f103c8t6-dev-board-rozszerzony-arduino-10141187972

is that I expect to use some axes without an external ADC and maybe that board is a little better on the internal ADC side. 

Hall sensors:

As expected, I have a hard time finding Allegro A1324 hall sensor (nothing to do with the site I linked above).

A1324 I found to be a perfect hall sensor for DIY controls as it was the cheapest and provided 5mV/G sensitivity, so it didn't require large or strongest neodymium magnets.

Honeywell SS495A is the only similar sensor that is available at my supplier but it has lower sensitivity at around 3mV/G. SS4495B is the true contender here at 5mV/G, same as A1324.

 

 

 


Edited by Bucic
Link to comment
Share on other sites

 

Dump of my questions in the mmjoy thread https://forum.dcs.world/topic/99954-mmjoy/page/31/

 

On 12/28/2022 at 4:57 PM, crash test pilot said:

You can use an external adc like the mpc3208 (-3202, -3204) for higher resolution or sensors with digital communication like the tle5011. Freejoy offers 12 bit but the bluepill boards are not really famous for their analoge input readings...

 

On 1/11/2023 at 10:53 AM, Bucic said:

Hi @crash test pilot

I am yet to find a guide on implementing an external ADC with MMJOY2. I'm not savvy enough to dive in without a guide.

"bluepill boards are not really famous for their analoge input readings..."

Now that's interesting! What do you mean? And what is the 'bluepill' you speak of? 🙂

 

 

 

 

On 1/11/2023 at 11:08 AM, crash test pilot said:

Bluepill is a nickname for the STM32F103C8 boards (used for freejoy) because of their blue pcb and as a reference to the matrix films... And because of cheapness their analogue inputs tend to pick up a lot of noise and need filtering so the higher resolution gets turned down by that. External ADCs are not really difficult to use with either mmjoy or freejoy. Here are links to the wikis:

 

https://github.com/MMjoy/mmjoy_en/wiki/Connecting-basic-inputs-and-setting-up-software

 

https://github.com/FreeJoy-Team/FreeJoyWiki/blob/master/eng/Connecting-analog-axes-to-MCP320x.md

 

Currently not at home, can post a fritzing diagram and pics later.

 

 

On 1/11/2023 at 8:27 PM, crash test pilot said:

As promised, here a fritzing diagram and a pic:

Green wire is mosi, yellow is miso, orange is clock. Blue is CS and can be any pin.

mcp-3208 u pro-micro_Steckplatine.jpg

P1040471.JPG

 

Link to comment
Share on other sites

Hi Bucic, I do not know anything about the boards you posted. About the allegro hall sensors: Do you have any experience with reichelt.de? I do not know about transport fee to poland but the sensors itself are dirt-cheap:

 

https://www.reichelt.de/linearer-sensor-hall-effekt-sip-3-a-1324-lua-t-p189140.html?&trstct=pos_0&nbc=1

 

The problem with the adc in the stm chips is not the chip itself but the absence of filtering capacitors. Better get some no matter if you go with or without external adc...

Link to comment
Share on other sites

  • 1 month later...

Hall effect sensors:

The controller page says it provides only up to 3.5V. Does it mean hall sensors operating with 4.5V input voltage and higher are not suitable for use with FreeJoy?
https://www.st.com/en/microcontrollers-microprocessors/stm32f103c8.html

https://sps.honeywell.com/us/en/products/advanced-sensing-technologies/industrial-sensing/industrial-sensors/magnetic-sensors/linear-and-angle-sensor-ics/ss39et-ss49e-ss59et-linear-sensor-ics

EDIT:

I think this should be incorporated into FreJoy wiki or at least referenced properly. It would have saved me hours.
https://hotas.miraheze.org/wiki/Using_Hall_Effect_Sensors

 

My original question stands though.


Edited by Bucic
Link to comment
Share on other sites

  • 4 weeks later...

Hi all.
I'm trying to connect the AS5600 sensor in "analog" mode, but there is an incomprehensible problem.
The sensor output is always 0 volts ... legs 1 and 2 are "short-circuited", leg 8 is on the "ground".
what could be the problem?
photo sensor.

IMG_4690.jpg

Intel i5-10600K 4.1GHz, ASUS Z490, 2*8Gb DDR4, RTX2060, ASUS Xonar DX/XD, GIGABYTE 32" 2560x1440, Kenwood KPM-510, BRD, GVL224, TrackIr 4 Pro, gametrix KW-905, Win10x64

Link to comment
Share on other sites

  • 11 months later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...