Antichambre

Programmer
  • Content count

    1,077
  • Joined

  • Last visited

Everything posted by Antichambre

  1. Adafruit Trelli

    So for a complete module it's 8+1+5(elastomer)= less than 14$ => 224$ for 16x16 matrix Really Not Bad! Congrats...  
  2. Adafruit Trelli

    Hi! It seems great! Can you share the links needed to build the whole thing and the BOM? To evaluate the the total price of 1 module. Best regards Bruno
  3. The HAARP, an Hardware Advanced Arpeggiator.

    Hi All, Here you can see all the necessary boards to build the HAARP. Best regards Bruno
  4. Hello, This is an introduction for my new baby, a really funny toy, the HAARP (yes I like conspiracy theory ;) It's a pure MIDIbox Project, just a dedicated CS and some coding. It works with any STM32F4 Core.   Why? Many synths have an integrated arpeggiator, the SH-101 is well known for that, but the available parameters are still limited. There is also some good plug-in I think especially of the Ableton live's one but it's software. So I designed an hardware one, "LIVE" oriented, starting from the @TK.'s arp example. No encoder(except for MENU section Data entry), all parameters are directly accessible and are potentiometers. The screen is a small color TFT with a resolution of 128x160(sorry for picture, colors are better in real). It's 8 independent voices. 8 banks of 8 Presets. Session are saved/loaded from the SD Card. The Arpeggio parameters are divided in 3 sections: First is the TIMING Section (Purple pots): On/Off button, HOLD Button, it holds or releases the Notes in the notestack. The MODE Pot, it's UP, DOWN, UP-DOWN and AS-PLAYED, fr the moment but I will implement more. The RATE, from slowest to fastest, from 4 Bar to 32nd with dotted and Triplet value. The RESYNC, it retriggers the arpeggio, values are the same as RATE parameter. The OFFSET, it will shift left or right the starting step(note). Is Note Stack and MODE dependent. The DELAY, it will delay the whole arpeggio within the step range(duration), is RATE dependent. The GATE, the length of the Note, max is STEP length, is RATE dependent. The SHUFFLE, it will delay all the odd steps, in the range of an half step, is RATE dependent. Second is the TRANSPOSITION Section (Yellow, Orange, Red): Simple Transposition On/Off (Yellow). Simple OCTave Transposition, +/- 10. Simple SEMItone Transposition, +/-12 Repeat On/Off. Repeat, LOOPS number, 1 to 8. Repeat, SHIFTing on each loop, +/-32 semitones. Force to Scale On/Off Force To Scale, SCALE, list is the same as the Force to Scale example from the repo. Force To Scale, ROOT from C to B semitone. Third is the VELOCITY Section. REGEN Pre/Post(Target process) button. REGEN, +/- 100% Target process On/Off. TIME, the time to reach the target value, in PRE initial value is the regenerated value. in POST initial value is the one stored in the Note Stack. TARGET is the targetted value, 0 to 127. RETRIG, if on the TIME is retriggered by the RESYNC parameter.   The main page of the screen represents an octave range, the note color changes depending on the octave, there's a Velocity section on the bottom, it's like a piano-roll. In the code, the arpeggio processing is ready, it remains me to complete the MENU section, I was waiting for the CS PCB to write it, now I can... ;)   This little guy is to much fun, so I can't keep it for me. Then i will propose it to you ASAP. and I hope it will help me to finance some other bigger projects I've got in my back-pocket ;) I will try to make it available in two format, I'm currently working on a PCB for USB host/device, sdCard MIDI etc.. which will fit for both version and will be reuse for other small toys like that. An Eurorack version for the patching addicts. I used a MCP3204(4 channels) instead of a MCP3208(8 channels) for the AINSER, it's an AINSER32. I use only 2 channels for the 16 pots(8Multiplexed lines * 2 channels), it remains 16 analog Inputs which are accessible to connect some CV In Modules, thanks to @Hawkeye for making me think about this. The SRIO Chain is available too, you can connect GATE In (DIN) easily. You will be able to connect the MIDIPHY CV/GATE Out Modules which will be available soon. @latigid on is working on it. MCAN will be available, for an internal MIDI bus within your Eurorack, I reuse the BUS1 and 2 from the Euro Power connector for that purpose.   A Desktop version, for MIDI purpose only(except if i find a way to add some CV/Gate without designing a too much big box).   Voilà! More information will be available soon. For the moment this is a small video I made, I seem a little febrile but it's because I continue to discover it every day.   I really love this little toy, it is very effective and musical, even in LIVE and if the Force To Scale is activated, there's no wrong note ;) Best regards Bruno  
  5. All HAARP PCBs

    From the album The HAARP

  6. All HAARP PCBs

    From the album The HAARP

  7. MIDIbox SID Walkthrough

    Just ask someone here to do it for you when you're ready... Best regards Bruno
  8. CC-Looper (4ch controlchange looper)

    Hi Mike, I will ask for an UPS or DHL shipping on Monday, I know they continue to work... Cause you really need it, it will be better for next demo ;) Do you intend to create a dedicated case or will you leave it like that? I improved the VELOCITY part of the HAARP into an "ANIMATION" part which now applies to Velocity and CC but only 1 CC. So, as I suspected, the CC-Looper could be a very good partner for the HAARP. I really have to make a video like this for the HAARP, but my English spoken will be a disaster lol. Best regards Bruno
  9.                                                                         Hello, This is about a new STM32F4 mbhp, a very compact one. This concept is an answer to these three topics: I tried to draw the most compact core and mbhp board. It's an STM32F405RG instead of the regular 407VG. The 405RG is the smallest package of the M4 Series, this is a LQFP64, a 10x10mm package with only 64 pins. Because these two Processor are from the same family, we don't need deep changes in MIOS32. They have exactly the same functions, memory, speed and peripherals. I put the STM32F4 on a DIP-40 format pcb, in order to get a core that can also replace a PIC in some application, I strongly think of my sammichSid. At the same time it must provide the legacy functions and ports of MIOS32 of course. Some compromise have been made in comparison to a 407VG mbhp. - Only 2 MIDI I/O. - J15, the LCD port is now a serial one only(SSD13xx). - No more general purpose port J10x. This is the list of the 'remaining' ports and changes. - J1A and J1B are the USB and Power ports, J1A is compatible with latigid on's USB wCore module. J1B can be a common header on top or a Micro-Match connector on bottom to stack another board under. - J4 is a dual I2C connector, I put both on the same connector to save space. - J5 is a 2 channels only ADC, they can be used for expression pedal input for example. - J8/9 and J19 stay the Legacy 5V SPI ports, the dipCoreF4 includes the octal buffer(74HCT541); - J11 is now a 6pin and 2 MIDI I/O port. - J16E is the 3.3V SPI port, commonly dedicated to the SD Card it is compatible with latigid on's RES-SD modules. it is extended by the Reset input, the user button and 2 outputs for LEDs. - J18 has changed, it is now able to connect a CAN tranceiver, but stay compatible with the MBNET connection. About the dimension, the ensemble is very compact 65x46mm, but the Core can be used alone and measures 51x17.8mm.                   A 3D view of the ensemble(sorry this is not a render, I shoot the screen):   You will find some more information on the dokuwiki, dipCoreF4 and dipBoardF4 Feel free to ask me question or give me any constructive criticism. I will order some board very soon, if some want to participate in the tests they are welcome, just contact me. I will provide the beta boards for free I just ask you to play the game and seriously help me to improve it ;) Thank you Best regards Bruno PS: sorry for my English as usual ;)    
  10. dipCoreF4 and dipBoardF4, a compact Core.

    Maybe time to update your design ;) Merci! Bruno
  11. inverse 595 pinset (code)

    Hi Mike, There's no "switch" or define for this. It was made like this to match the old PIC DOUT pinout.   ///////////////////////////////////////////////////////////////////////////// //! temporary help array to mirror a byte //! (could be provided as MIOS32 help function later) ///////////////////////////////////////////////////////////////////////////// // DOUT bits are uploaded in reversed order compared to PIC based MIOS, and // especially compared to the order on DIN registers // Most applications would have to convert this - therefore it's already done // by MIOS32_DOUT_* functions // mirroring could work with: // u8 mirror_u8(u8 b) // { return ((b&0x01)<<7) | ((b&0x02)<<5) | ((b&0x04)<<3) | ((b&0x08)<<1) | ((b&0x10)>>1) | ((b&0x20)>>3) | ((b&0x40)>>5) | ((b&0x80)>>7); } // bit this would be a bit slow, e.g. for SR copy routines - therefore we use a table based approached: // the table has been generated with: // perl -e 'for($b=0; $b<256; ++$b) { printf("0x%02x,", (($b&0x01)<<7) | (($b&0x02)<<5) | (($b&0x04)<<3) | (($b&0x08)<<1) | (($b&0x10)>>1) | (($b&0x20)>>3) | (($b&0x40)>>5) | (($b&0x80)>>7)); }; printf("\n");' const u8 mios32_dout_reverse_tab[256] = { 0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0, 0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98,0x58,0xd8,0x38,0xb8,0x78,0xf8, 0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94,0x54,0xd4,0x34,0xb4,0x74,0xf4, 0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c,0x5c,0xdc,0x3c,0xbc,0x7c,0xfc, 0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92,0x52,0xd2,0x32,0xb2,0x72,0xf2, 0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a,0x5a,0xda,0x3a,0xba,0x7a,0xfa, 0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96,0x56,0xd6,0x36,0xb6,0x76,0xf6, 0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e,0x5e,0xde,0x3e,0xbe,0x7e,0xfe, 0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91,0x51,0xd1,0x31,0xb1,0x71,0xf1, 0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99,0x59,0xd9,0x39,0xb9,0x79,0xf9, 0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95,0x55,0xd5,0x35,0xb5,0x75,0xf5, 0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d,0x5d,0xdd,0x3d,0xbd,0x7d,0xfd, 0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93,0x53,0xd3,0x33,0xb3,0x73,0xf3, 0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b,0x5b,0xdb,0x3b,0xbb,0x7b,0xfb, 0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97,0x57,0xd7,0x37,0xb7,0x77,0xf7, 0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f,0x5f,0xdf,0x3f,0xbf,0x7f,0xff }; This helper was not implemented. And the problem is that MIOS32_DOUT_SR_xx use this array but not the MIOS32_DOUT_Pin_xx But you use the right method ;) except that it works only for pin 0 to 7. If you want to do it on all the pins you have to include the SR number just implent something like this. e.g. u32 PIN_REVERT(u32 pin) { u8 num_sr = pin>>3; // divide by 8 pin %=8; // modulo by 8 return (u32)((num_sr<<3) + (7-pin)); } then use it:   MIOS32_DOUT_PinSet(PIN_REVERT(pin), value);  
  12. dipCoreF4 and dipBoardF4, a compact Core.

    Hello some update were made on the dokuwiki ;) dipCoreF4 A reduced Core for your MIDIbox App, an STM32F405RG in a DIP40 format.   Features MIOS32 uses same processor family and drivers(no deep change). Same internal hardware as Disco or wCore (speed, memory, peripherals, etc…) . Board pinout and package compatible with a MIOS8 PIC USB connector onboard. 2 OTG are available, second(new) USB is Host only. 5V power input and led. 3.3V regulator and led on board. 74HCT541 on board for the 5V output ports. User and Reset buttons. 2 user leds. 12 extra pins for USB, buttons and leds. Your favorite Core is now a current component easy to integrate. All commons MIOS32 ports are available except: General purpose J10x ports were removed. LCD port was reduced to a serial one, no more pins J15.D0-D7 , no back-light power supply. 2 UART only(2 MIDI In/2Out). 2 AIN channels only(e.g. pedal inputs). SPI slave only supported by J19(SPI3). Check the dipBoardF4 for more details   Download dipCoreF4 eagle lib for easy integration in your design. dipcoref4_v2a.zip     Pinout The dipCoreF4 and the legacy MIOS32 ports. Check dipBoardF4 for more details about the connectors. BOM Due to the small SMD, which is sometime a difficulty to solder, the board is already assembled by manufacturer, except the connectors. The mini-USB is optional. Qty Value Package Parts Mouser Reichelt Conrad LCSC Notes Headers 3 1*20 male   649-68000-420HL     C50981 Termination Post Length max 2.57mm Connnector 1 mini-USB THT USB 571-1734510-1     no! for other ref take care about restricted area!
  13. dipCoreF4 Ver.2

    From the album dipCoreF4

    And it works :)
  14. dipCoreF4

    From the album dipCoreF4

  15. dipCoreF4 Ver.2

    yep! I can.
  16. dipCoreF4.001.jpg

    Thanks! This is the first and old version but except the small corrections they are the same circuit. The new version is pre-assembled on matte black PCB ;)
  17. dipCoreF4.001.jpg

    From the album dipCoreF4

  18. The HAARP, an Hardware Advanced Arpeggiator.

    Hi Flavio, Yep I just received the PCB, too late to change and no space to add others DIN connectors, but you can add it externally with any MIDI<>Sync interface. Or you maybe have a Drum machine which can do this job. This interface can be done with a MB platform too ;) Best regards Bruno  
  19. dipCoreF4 Ver.2

    From the album dipCoreF4

    The smallest and first pre-assembled MIOS32 Core. A beautiful thing :)
  20. midiphy Trusted Builder Program

    If authorities do not put me in quarantine, my girl will do it for sure ;). HAARP, Euro format and dipCoreF4 PCBA should arrive next week normally, so I'm in for a bit of soldering next week. I hope too ;) Best regards Bruno  
  21. midiphy SEQ v4+

    A lot of switches, large and quadratic, we can suppose you're right!
  22. midiphy SEQ v4+

    No more a secret now ;)
  23. midiphy Trusted Builder Program

    It is tempting. :) I would still like to limit the area to France and perhaps French-speaking Belgium. It makes sense to limit the final shipment, it may even be added as a suggestion to your program ? Something like: "If possible, prefer a local manufacturer, to limit the ecological impact a bit and provide suitable support if English is not a confortable language for one or both contractors." I am safe and not in France ;) but the question for me is whether I can go home once my work is done ... Best Regards Bruno  
  24. midiphy Trusted Builder Program

    Hi Guys! Well done! Peter, it's sometimes frustrating not being able to give you a "like" ;) Question: Is it possible to reuse the box of the SEQ V4+ Casing you send and place a built Sequencer inside? I don't remember how mine was. Have a good WE too! Bruno  
  25. Ahah sorry, I learnt something today! thanks!